В этом руководстве представлены примеры кода для API Classroom, связанные с оцениванием работ. Основное внимание в документе уделено основным принципам оценивания в Classroom: управлению состояниями и оценками StudentSubmission .
Прочитайте руководство по оценкам , чтобы ознакомиться с концепциями оценивания в Classroom.
Управление состояниями отправки студенческих работ
StudentSubmission может быть отменена, сдана или возвращена. Поле state указывает текущее состояние. Оценка обычно производится после того, как работа StudentSubmission перейдёт в состояние TURNED_IN .
Чтобы изменить состояние с помощью Classroom 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()
Ява
При работе с пользовательским интерфейсом Classroom преподаватели не могут установить 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 , периоды оценивания и различные системы оценок.
Дополнительные вложения для оценки
Если вы разработчик надстроек для Classroom, вы можете устанавливать оценки для отдельных вложений надстроек и настроить отображение оценок преподавателям при проверке работ учащихся. Подробнее см. в разделах «Вложения-активности» и «Обратная передача оценок» .
Рубрики оценок
StudentSubmissions есть поля, в которых представлены баллы, выставленные на основе Rubrics :
-
draftRubricGrade— это предварительный набор балловCriterion, видимый только учителям. -
assignedRubricGrade— это набор балловCriterion, сообщаемых учащимся.
Оценки по критериям нельзя задать с помощью API Google Classroom, но их можно прочитать. Подробнее см. в руководстве по критериям и ограничениям .