Ten przewodnik zawiera przykłady kodu związane z ocenianiem w interfejsie Classroom API. Skupiamy się w nim na podstawowym procesie oceniania w Classroom: zarządzaniu StudentSubmission stanami
i ocenami.
Aby zapoznać się z pojęciami związanymi z ocenianiem w Classroom, przeczytaj przewodnik Oceny.
Zarządzanie stanami StudentSubmission
StudentSubmission może być nieprzesłany, oddany lub zwrócony. Pole state wskazuje bieżący stan. Ocenianie odbywa się zwykle po tym, jak StudentSubmission osiągnie stan TURNED_IN.
Aby zmienić stan za pomocą interfejsu Classroom API, wywołaj jedną z tych metod:
courses.courseWork.studentSubmissions.turnIn: tylko uczeń, który jest właścicielemStudentSubmission, może go oddać.courses.courseWork.studentSubmissions.reclaim: tylko uczeń, który jest właścicielemStudentSubmission, może go odzyskać. Przesłaną próbkę można odzyskać tylko wtedy, gdy została już oddana.courses.courseWork.studentSubmissions.return: tylko nauczyciele w kursie mogą zwrócićStudentSubmission. Przesłanie można zwrócić tylko wtedy, gdy zostało już oddane przez ucznia.
Wszystkie te metody akceptują pusty parametr body, jak pokazano w tym przykładzie:
Python
service.courses().courseWork().studentSubmission().turnIn(
courseId=course_id,
courseWorkId=coursework_id,
id=studentsubmission_id,
body={}).execute()
Java
Ustawianie ocen za przesłane przez uczniów prace
Zasób StudentSubmission ma 2 pola do przechowywania ogólnej oceny za
ocenianą pracę CourseWork:
draftGradeto ocena tymczasowa widoczna tylko dla nauczycieli.assignedGradeto ocena zgłoszona uczniom.
Te pola są aktualizowane za pomocą
courses.courseWork.studentSubmissions.patch, jak pokazano w
tym przykładzie:
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
Podczas pracy z interfejsem Classroom nauczyciele nie mogą ustawić assignedGrade, dopóki nie zapiszą draftGrade. Następnie assignedGrade można zwrócić uczniowi. Aplikacja może ocenić projekt ucznia na 2 sposoby:
Przypisz tylko
draftGrade. Jest to przydatne np. do umożliwienia nauczycielowi ręcznego sprawdzenia ocen przed ich ostatecznym zatwierdzeniem. Uczniowie nie widzą ocen roboczych.Przypisz zarówno
draftGrade, jak iassignedGrade, aby w pełni ocenić projekt.
Aby skonfigurować pole do ustawienia, użyj argumentu updateMask.
Aby dowiedzieć się więcej o zakresach i uprawnieniach
wymaganych do modyfikowania StudentSubmissions, przeczytaj artykuł Dodawanie załączników do odpowiedzi ucznia.
Odczytywanie przypisanych ocen
Aby uzyskać dostęp do wszystkich ocen za konkretną CourseWork, użyj metody
courses.courseWork.studentSubmissions.list, aby pobrać wszystkie
odpowiednie StudentSubmissions i sprawdzić odpowiednie
assignedGrade i draftGrade pola:
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
Aby dowiedzieć się więcej o zakresach i uprawnieniach wymaganych
do odczytywania StudentSubmissions, przeczytaj artykuł Pobieranie odpowiedzi uczniów.
Określanie ogólnych ocen kursu
Interfejs Classroom API nie pozwala deweloperom odczytywać ani zapisywać ogólnej oceny kursu, ale można ją obliczyć programowo. Jeśli chcesz
obliczyć ocenę ogólną, przeczytaj przewodnik Oceny, aby poznać
ważne pojęcia, takie jak usprawiedliwiona CourseWork, okresy oceniania i różne
systemy oceniania.
Ocenianie załączników dodatków
Jeśli jesteś deweloperem dodatków do Classroom, możesz ustawiać oceny poszczególnych załączników dodatków i skonfigurować widoczność oceny dla nauczycieli podczas sprawdzania zadań uczniów. Więcej informacji znajdziesz w przewodnikach Załączniki typu aktywności i Przekazywanie ocen.
Oceny cząstkowe
StudentSubmissions mają pola, które reprezentują wyniki uzyskane na podstawie
Rubrics:
draftRubricGradeto tymczasowy zestaw wynikówCriterionwidoczny tylko dla nauczycieli.assignedRubricGradeto zestawCriterionwyników zgłoszonych uczniom.
Wyników kryteriów oceny nie można ustawić za pomocą interfejsu Google Classroom API, ale można je odczytać. Więcej informacji znajdziesz w przewodniku Oceny cząstkowe i w sekcji Ograniczenia.