이 가이드에서는 Classroom API의 성적 관련 코드 예시를 제공합니다. 이 문서에서는 핵심 Classroom 채점 여정인 StudentSubmission 상태 및 성적 관리에 중점을 둡니다.
성적 가이드를 읽고 클래스룸의 성적 개념을 숙지하세요.
StudentSubmission 상태 관리
StudentSubmission은 제출 취소, 제출 또는 반환될 수 있습니다. state 필드는 현재 상태를 나타냅니다. 그레이딩은 일반적으로 StudentSubmission가 TURNED_IN 상태에 있는 후에 실행됩니다.
Classroom API를 사용하여 상태를 변경하려면 다음 메서드 중 하나를 호출하세요.
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()
자바
학생 제출물의 성적 설정
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()
자바
클래스룸 UI를 사용하는 경우 교사는 먼저 draftGrade를 저장해야 assignedGrade를 설정할 수 있습니다. 그런 다음 assignedGrade을 학생에게 돌려줄 수 있습니다. 애플리케이션은 다음 두 가지 방법 중 하나로 학생의 과제를 채점할 수 있습니다.
draftGrade만 할당합니다. 예를 들어 교사가 성적을 확정하기 전에 직접 검토할 수 있도록 하는 데 유용합니다. 학생은 임시 성적을 볼 수 없습니다.draftGrade와assignedGrade를 모두 할당하여 과제를 완전히 평가합니다.
updateMask 인수를 사용하여 설정할 필드를 구성합니다.
StudentSubmissions를 수정하는 데 필요한 범위와 권한을 알아보려면 학생 답변에 첨부파일 추가하기를 참고하세요.
할당된 성적 읽기
courses.courseWork.studentSubmissions.list 메서드를 사용하여 해당 StudentSubmissions을 모두 가져오고 적절한 assignedGrade 및 draftGrade 필드를 검사하여 특정 CourseWork의 모든 등급에 액세스할 수 있습니다.
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'))}")
자바
StudentSubmissions를 읽는 데 필요한 범위와 권한을 알아보려면 학생 응답 가져오기를 참고하세요.
전체 교육 과정 성적 결정
Classroom API를 사용하면 개발자가 전체 수업 성적을 읽거나 쓸 수 없지만 프로그래매틱 방식으로 계산할 수 있습니다. 전체 성적을 계산하려면 성적 가이드를 읽고 CourseWork, 성적 기간, 다양한 성적 시스템과 같은 중요한 개념을 이해하세요.
부가기능 첨부파일에 점수 부여
클래스룸 부가기능 개발자는 개별 부가기능 첨부파일의 성적을 설정하고 교사가 학생 과제물을 검토할 때 성적이 표시되도록 구성할 수 있습니다. 자세한 내용은 활동 유형 첨부파일 및 성적 다시 보내기 안내를 참고하세요.
기준표 성적
StudentSubmissions에는 Rubrics에 따라 부여된 점수를 나타내는 필드가 있습니다.
draftRubricGrade는 교사에게만 표시되는Criterion점수의 잠정적인 집합입니다.assignedRubricGrade는 학생에게 보고된Criterion점수의 집합입니다.
Google 클래스룸 API를 사용하여 루브릭 점수를 설정할 수는 없지만 읽을 수는 있습니다. 자세한 내용은 평가 기준 가이드 및 제한사항을 참고하세요.