В этом руководстве представлены примеры кода, связанного с выставлением оценок, для Classroom API. Основное внимание в этом документе уделяется основному этапу выставления оценок в Классе: управлению состояниями и оценками StudentSubmission
.
Прочтите руководство по выставлению оценок , чтобы ознакомиться с концепциями выставления оценок в Классе.
Управление состояниями StudentSubmission
StudentSubmission
можно отменить, сдать или вернуть. Поле state
указывает текущее состояние. Оценка обычно производится после того, как StudentSubmission
находится в состоянии TURNED_IN
.
Чтобы изменить состояние с помощью API Класса, вызовите один из следующих методов:
-
courses.courseWork.studentSubmissions.turnIn
: сдать его может только тот студент, у которого естьStudentSubmission
. -
courses.courseWork.studentSubmissions.reclaim
: только студент, владеющийStudentSubmission
, может вернуть его. Заявку можно вернуть только в том случае, если она уже была сдана. -
courses.courseWork.studentSubmissions.return
: Только преподаватели курса могут вернутьStudentSubmission
. Работу можно вернуть только в том случае, если она уже была сдана студентом.
Все эти методы принимают пустой параметр body
, как показано в следующем примере:
Питон
service.courses().courseWork().studentSubmission().turnIn(
courseId=course_id,
courseWorkId=coursework_id,
id=studentsubmission_id,
body={}).execute()
Ява
Устанавливайте оценки для работ учащихся
Ресурс StudentSubmission
имеет два поля для хранения общей оценки за оцененную работу CourseWork
:
-
draftGrade
— это предварительная оценка, видимая только учителям. -
assignedGrade
— это оценка, сообщаемая учащимся.
Эти поля обновляются с помощью courses.courseWork.studentSubmissions.patch
, как показано в следующем примере:
Питон
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()
Ява
При работе с пользовательским интерфейсом Класса учителя не могут установить assignedGrade
до тех пор, пока они не сохранят draftGrade
. Затем assignedGrade
оценка может быть возвращена учащемуся. Ваше приложение может оценить задание учащегося одним из двух способов:
Назначьте только
draftGrade
. Это полезно, например, чтобы позволить учителю вручную проверять оценки перед их окончательным утверждением. Учащиеся не могут видеть черновые оценки.Назначьте и
draftGrade
, иassignedGrade
, чтобы полностью оценить задание.
Используйте аргумент updateMask
, чтобы указать, какое поле установить.
См. раздел Добавление вложений к ответу учащегося, чтобы понять области действия и разрешения, необходимые для изменения StudentSubmissions
.
Чтение выставленных оценок
Вы можете получить доступ ко всем оценкам для конкретного CourseWork
, используя метод courses.courseWork.studentSubmissions.list
для получения всех соответствующих StudentSubmissions
и проверки соответствующих полей assignedGrade
и draftGrade
:
Питон
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'))}")
Ява
См. раздел Получение ответов учащихся , чтобы понять области действия и разрешения, необходимые для чтения StudentSubmissions
.
Определить общую оценку за курс
API Classroom не позволяет разработчикам читать или записывать общую оценку за курс, но вы можете рассчитать ее программно. Если вы хотите рассчитать общую оценку, прочтите руководство по оценкам, чтобы понять такие важные понятия, как оправданные CourseWork
, периоды выставления оценок и различные системы оценок.
Дополнительные вложения для оценок
Если вы являетесь разработчиком надстроек для Класса, вы можете устанавливать оценки для отдельных вложений надстроек и настроить, чтобы эта оценка была видна учителям, когда они просматривают работы учащихся. Дополнительные сведения см. в прикрепленных файлах типа «Действие» и пошаговых руководствах по возврату оценок .
Рубрики оценок
StudentSubmissions
имеет поля, которые представляют оценки, полученные на основе Rubrics
:
-
draftRubricGrade
— это предварительный набор оценокCriterion
, видимый только учителям. -
assignedRubricGrade
— это набор оценокCriterion
, сообщаемых учащимся.
Оценки по рубрикам нельзя установить с помощью API Google Classroom, но их можно прочитать. Чтобы узнать больше, ознакомьтесь с руководством по рубрикам и ограничениями .