В этом руководстве представлены примеры кода для 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, но их можно прочитать. Подробнее см. в руководстве по критериям и ограничениям .