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