Ce guide fournit des exemples de code liés à la notation pour l'API Classroom. Ce document se concentre sur le parcours de notation de base dans Classroom: la gestion des états et des notes StudentSubmission
.
Consultez le guide sur les notes pour vous familiariser avec les concepts de notation dans Classroom.
Gérer les états des devoirs des élèves
StudentSubmission
peut être annulé, rendu ou renvoyé. Le champ state
indique l'état actuel. La notation est généralement effectuée une fois que StudentSubmission
est dans l'état TURNED_IN
.
Pour modifier l'état à l'aide de l'API Classroom, appelez l'une des méthodes suivantes:
courses.courseWork.studentSubmissions.turnIn
: seul l'élève propriétaire d'unStudentSubmission
peut le rendre.courses.courseWork.studentSubmissions.reclaim
: Seul l'élève propriétaire d'unStudentSubmission
peut le récupérer. Vous ne pouvez récupérer le devoir que s'il a déjà été rendu.courses.courseWork.studentSubmissions.return
: seuls les enseignants du cours peuvent renvoyer unStudentSubmission
. Le devoir ne peut être rendu que si l'élève l'a déjà rendu.
Toutes ces méthodes acceptent un paramètre body
vide, comme illustré dans l'exemple suivant:
Python
service.courses().courseWork().studentSubmission().turnIn(
courseId=course_id,
courseWorkId=coursework_id,
id=studentsubmission_id,
body={}).execute()
Java
Définir des notes pour les devoirs des élèves
La ressource StudentSubmission
comporte deux champs pour stocker la note globale pour le travail noté CourseWork
:
draftGrade
est une note provisoire visible uniquement par les enseignants.assignedGrade
correspond à la note envoyée aux élèves.
Ces champs sont mis à jour à l'aide de courses.courseWork.studentSubmissions.patch
, comme illustré dans l'exemple suivant:
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
Lorsque vous utilisez l'interface utilisateur de Classroom, vous ne pouvez pas définir une assignedGrade
tant que vous n'avez pas enregistré une draftGrade
. Le assignedGrade
peut ensuite être renvoyé à un élève. Votre application peut noter le devoir d'un élève de deux manières:
Attribuez uniquement le
draftGrade
. Cela permet, par exemple, à l'enseignant d'examiner manuellement les notes avant de les finaliser. Les élèves ne peuvent pas voir les notes provisoires.Attribuez à la fois
draftGrade
etassignedGrade
pour noter entièrement un devoir.
Utilisez l'argument updateMask
pour configurer le champ à définir.
Consultez Ajouter des pièces jointes à une réponse d'élève pour comprendre les champs d'application et les autorisations requis pour modifier StudentSubmissions
.
Lire les notes attribuées
Vous pouvez accéder à toutes les notes d'un CourseWork
particulier à l'aide de la méthode courses.courseWork.studentSubmissions.list
pour récupérer tous les StudentSubmissions
correspondants et inspecter les champs assignedGrade
et draftGrade
appropriés:
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
Consultez Récupérer les réponses des élèves pour comprendre les champs d'application et les autorisations requises pour lire StudentSubmissions
.
Déterminer les notes globales du cours
L'API Classroom ne permet pas aux développeurs de lire ni d'écrire la note globale du cours, mais vous pouvez la calculer de manière programmatique. Si vous souhaitez calculer la note globale, consultez le guide des notes pour comprendre des concepts importants tels que les CourseWork
, les périodes de notation et les différents systèmes de notation.
Noter les pièces jointes de modules complémentaires
Si vous êtes développeur de modules complémentaires Classroom, vous pouvez définir des notes pour les pièces jointes de modules complémentaires individuelles et configurer la note pour qu'elle soit visible par les enseignants lorsqu'ils examinent le travail des élèves. Pour en savoir plus, consultez les tutoriels sur les pièces jointes de type activité et sur le transfert de notes.
Notes des grilles d'évaluation
StudentSubmissions
comporte des champs qui représentent les scores attribués en fonction de Rubrics
:
draftRubricGrade
est un ensemble provisoire de notesCriterion
visibles uniquement par les enseignants.assignedRubricGrade
correspond à l'ensemble des scoresCriterion
communiqués aux élèves.
Vous ne pouvez pas définir de notes de grille d'évaluation à l'aide de l'API Google Classroom, mais vous pouvez les lire. Pour en savoir plus, consultez le guide des grilles d'évaluation et les limites.