En esta guía, se proporcionan ejemplos de código relacionados con la calificación para la API de Classroom. El objetivo de este documento es el proceso de calificación principal de Classroom: administrar las calificaciones y los estados de StudentSubmission
.
Lee la Guía de calificaciones para familiarizarte con los conceptos de calificación en Classroom.
Administra los estados de StudentSubmission
StudentSubmission
puede estar sin entregar, entregado o devuelto. El campo state
indica el estado actual. Por lo general, la calificación se realiza después de que StudentSubmission
está en el estado TURNED_IN
.
Para cambiar el estado con la API de Classroom, llama a uno de los siguientes métodos:
courses.courseWork.studentSubmissions.turnIn
: Solo el estudiante que posee unaStudentSubmission
puede entregarla.courses.courseWork.studentSubmissions.reclaim
: Solo el estudiante que es propietario de unStudentSubmission
puede reclamarlo. Solo se puede reclamar el envío si ya se entregó.courses.courseWork.studentSubmissions.return
: Solo los profesores del curso pueden mostrar unStudentSubmission
. La entrega solo se puede devolver si el estudiante ya la entregó.
Todos estos métodos aceptan un parámetro body
vacío, como se muestra en el siguiente ejemplo:
service.courses().courseWork().studentSubmission().turnIn(
courseId=course_id,
courseWorkId=coursework_id,
id=studentsubmission_id,
body={}).execute()
Cómo establecer calificaciones para las entregas de los estudiantes
El recurso StudentSubmission
tiene dos campos para almacenar la calificación general de las tareas CourseWork
calificadas:
draftGrade
es una calificación provisional que solo pueden ver los profesores.assignedGrade
es la calificación que se informa a los estudiantes.
Estos campos se actualizan con courses.courseWork.studentSubmissions.patch
, como se muestra en el siguiente ejemplo:
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()
Cuando trabajan con la IU de Classroom, los profesores no pueden configurar un assignedGrade
hasta que primero guarden un draftGrade
. Luego, se puede devolver el assignedGrade
a un estudiante. Tu aplicación puede calificar la tarea de un estudiante de una de las siguientes maneras:
Asigna solo el
draftGrade
. Esto es útil, por ejemplo, para permitir que el profesor revise las calificaciones de forma manual antes de finalizarlas. Los estudiantes no pueden ver las calificaciones de borrador.Asigna
draftGrade
yassignedGrade
para calificar una tarea por completo.
Usa el argumento updateMask
para configurar qué campo establecer.
Consulta Cómo agregar archivos adjuntos a una respuesta de un alumno para comprender los permisos y los niveles de acceso necesarios para modificar StudentSubmissions
.
Cómo leer las calificaciones asignadas
Puedes acceder a todas las calificaciones de un CourseWork
en particular con el método courses.courseWork.studentSubmissions.list
para recuperar todos los StudentSubmissions
correspondientes y, luego, inspeccionar los campos assignedGrade
y draftGrade
adecuados:
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'))}")
Consulta Cómo recuperar las respuestas de los estudiantes para comprender los permisos y los alcances necesarios para leer StudentSubmissions
.
Determina las calificaciones generales del curso
La API de Classroom no permite que los desarrolladores lean ni escriban la
calificación general del curso, pero puedes calcularla de forma programática. Si quieres calcular la calificación general, lee la Guía de calificaciones para comprender conceptos importantes, como las CourseWork
justificadas, los períodos de calificación y los diferentes sistemas de calificación.
Archivos adjuntos de complementos de calificación
Si eres desarrollador de complementos de Classroom, puedes establecer calificaciones para archivos adjuntos de complementos individuales y configurar la calificación para que los profesores la vean cuando revisen el trabajo de los estudiantes. Consulta las explicaciones sobre Adjuntos de tipo de actividad y Paso de calificación para obtener más información.
Calificaciones de rúbricas
StudentSubmissions
tiene campos que representan las puntuaciones que se otorgan en función de Rubrics
:
draftRubricGrade
es un conjunto tentativo de calificaciones deCriterion
que solo los profesores pueden ver.assignedRubricGrade
es el conjunto de puntuaciones deCriterion
que se informa a los estudiantes.
Las calificaciones de las rúbricas no se pueden establecer con la API de Google Classroom, pero sí se pueden leer. Consulta la guía de rúbricas y las limitaciones para obtener más información.