يقدّم هذا الدليل أمثلة على الرموز البرمجية المتعلقة بالتقييم في Classroom API. تركّز هذه الوثيقة على رحلة وضع الدرجات الأساسية في Classroom، أي إدارة حالات StudentSubmission والدرجات.
اطّلِع على دليل الدرجات للتعرّف على مفاهيم وضع الدرجات في Classroom.
إدارة حالات 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()
جافا
عند استخدام واجهة مستخدم 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'))}")
جافا
راجِع مقالة استرداد ردود الطلاب للتعرّف على النطاقات والأذونات المطلوبة لقراءة StudentSubmissions.
تحديد الدرجات الإجمالية للدورة التدريبية
لا تسمح Classroom API للمطوّرين بقراءة أو كتابة التقدير العام للدورة التدريبية، ولكن يمكنك احتسابه آليًا. إذا أردت احتساب الدرجة الإجمالية، يمكنك الاطّلاع على دليل الدرجات للتعرّف على المفاهيم المهمة، مثل CourseWork الإعفاء من التقييم وفترات التقييم وأنظمة التقييم المختلفة.
تقييم مرفقات الإضافة
إذا كنت مطوّر إضافات Classroom، يمكنك ضبط درجات لمرفقات الإضافات الفردية وإعداد الدرجة لتكون مرئية للمعلّمين عند مراجعة عمل الطلاب. لمزيد من المعلومات، يُرجى الاطّلاع على المرفقات الخاصة بنوع النشاط وإرجاع الدرجات.
درجات قواعد التقييم
تحتوي StudentSubmissions على حقول تمثّل النتائج التي تم الحصول عليها استنادًا إلى
Rubrics:
draftRubricGradeهي مجموعة مؤقتة من درجاتCriterionلا يراها سوى المعلّمين.assignedRubricGradeهي مجموعة نتائجCriterionالتي يتم إبلاغ الطلاب بها.
لا يمكن ضبط نتائج قواعد التقييم باستخدام Google Classroom API، ولكن يمكن قراءتها. اطّلِع على دليل نماذج التقييم والقيود لمزيد من المعلومات.