このガイドでは、Classroom API の採点関連のコードサンプルについて説明します。このドキュメントでは、Classroom の採点プロセスの中心である、StudentSubmission
のステータスと成績の管理について説明します。
成績のガイドを読んで、Classroom の成績評価のコンセプトを理解してください。
StudentSubmission のステータスを管理する
StudentSubmission
は、提出の取り消し、提出、返却のいずれかになります。state
フィールドは現在の状態を示します。通常、採点は StudentSubmission
が TURNED_IN
状態になった後に行われます。
Classroom API を使用して状態を変更するには、次のいずれかの方法を呼び出します。
courses.courseWork.studentSubmissions.turnIn
:StudentSubmission
を所有している生徒のみが提出できます。courses.courseWork.studentSubmissions.reclaim
:StudentSubmission
を所有している生徒のみが再利用できます。提出済みの提出物を再利用できるのはその場合のみです。courses.courseWork.studentSubmissions.return
:StudentSubmission
を返信できるのは、コースの教師のみです。提出物を返却できるのは、生徒がすでに提出している場合のみです。
これらのメソッドはすべて、空の body
パラメータを受け入れます。次の例をご覧ください。
Python
service.courses().courseWork().studentSubmission().turnIn(
courseId=course_id,
courseWorkId=coursework_id,
id=studentsubmission_id,
body={}).execute()
Java
生徒の提出物の成績を設定する
StudentSubmission
リソースには、採点対象の CourseWork
課題の総合評価を格納する 2 つのフィールドがあります。
draftGrade
は教師のみが確認できる暫定的な成績です。assignedGrade
は生徒に報告される成績です。
これらのフィールドは、次の例に示すように courses.courseWork.studentSubmissions.patch
を使用して更新されます。
Python
studentSubmission = {
'assignedGrade': 99,
'draftGrade': 80
}
service.courses().courseWork().studentSubmissions().patch(
courseId=course_id,
courseWorkId=coursework_id,
id=studentsubmission_id,
updateMask='assignedGrade,draftGrade',
body=studentSubmission).execute()
Java
Classroom UI で作業する場合、教師は draftGrade
を最初に保存するまで assignedGrade
を設定できません。その後、assignedGrade
を生徒に返却できます。アプリケーションは、次の 2 つの方法のいずれかで生徒の課題を採点できます。
draftGrade
のみを割り当てます。これは、教師が最終的な成績を決定する前に手動で成績を確認できるようにする場合などに便利です。生徒は下書きの成績を確認できません。draftGrade
とassignedGrade
の両方を割り当てて、課題を完全に採点します。
設定するフィールドを構成するには、updateMask
引数を使用します。
StudentSubmissions
の変更に必要なスコープと権限については、生徒の回答に添付ファイルを追加するをご覧ください。
割り当てられた成績を読み取る
特定の CourseWork
のすべての評価にアクセスするには、courses.courseWork.studentSubmissions.list
メソッドを使用して対応するすべての StudentSubmissions
を取得し、適切な assignedGrade
フィールドと draftGrade
フィールドを調べます。
Python
response = coursework.studentSubmissions().list(
courseId=course_id,
courseWorkId=coursework_id,
# optionally include `pageSize` to restrict the number of student
# submissions included in the response.
pageSize=10
).execute()
submissions.extend(response.get('studentSubmissions', []))
if not submissions:
print('No student submissions found.')
print('Student Submissions:')
for submission in submissions:
print(f"Submitted at:"
f"{(submission.get('userId'), submission.get('assignedGrade'))}")
Java
StudentSubmissions
の読み取りに必要なスコープと権限については、生徒の回答を取得するをご覧ください。
コースの総合成績を決定する
Classroom API では、デベロッパーがコースの全体的な成績を読み書きすることはできませんが、プログラムで計算することはできます。全体的な成績を計算する場合は、成績のガイドを読み、免除された CourseWork
、採点期間、さまざまな採点システムなどの重要な概念を理解してください。
採点用アドオンの添付ファイル
Classroom アドオンのデベロッパーは、個々のアドオンの添付ファイルに成績を設定できます。また、教師が生徒の提出物を確認するときに成績が表示されるように構成することもできます。詳細については、アクティビティ タイプの添付ファイルと成績のパスバックのチュートリアルをご覧ください。
ルーブリックの成績
StudentSubmissions
には、Rubrics
に基づいて付与されたスコアを表すフィールドがあります。
draftRubricGrade
は、教師のみが確認できるCriterion
スコアの暫定的なセットです。assignedRubricGrade
は、生徒に報告されるCriterion
スコアのセットです。
ルーブリックのスコアは Google Classroom API を使用して設定することはできませんが、読み取ることはできます。詳しくは、評価基準ガイドと制限事項をご覧ください。