این راهنما نمونههای کد مربوط به نمرهدهی را برای Classroom API ارائه میدهد. تمرکز این سند بر روی هسته اصلی فرآیند نمرهدهی 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 خالی میپذیرند، که در مثال زیر نشان داده شده است:
پایتون
service.courses().courseWork().studentSubmission().turnIn(
courseId=course_id,
courseWorkId=coursework_id,
id=studentsubmission_id,
body={}).execute()
جاوا
تعیین نمره برای مطالب ارسالی دانشجویان
منبع StudentSubmission دو فیلد برای ذخیره نمره کلی برای کار نمرهدهی شده CourseWork دارد:
-
draftGradeنمرهای آزمایشی است که فقط برای معلمان قابل مشاهده است. -
assignedGradeنمرهای است که به دانشجویان گزارش میشود.
این فیلدها با استفاده از courses.courseWork.studentSubmissions.patch بهروزرسانی میشوند، همانطور که در مثال زیر نشان داده شده است:
پایتون
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، معلمان نمیتوانند تا زمانی که ابتدا draftGrade ذخیره نکردهاند، یک assignedGrade تنظیم کنند. سپس assignedGrade میتواند به دانشآموز بازگردانده شود. برنامه شما میتواند به یکی از دو روش زیر به تکلیف دانشآموز نمره دهد:
فقط
draftGradeاختصاص دهید. این کار مفید است، برای مثال، برای اینکه معلم بتواند نمرات را قبل از نهایی کردن، به صورت دستی بررسی کند. دانشآموزان نمیتوانند نمرات پیشنویس را ببینند.برای نمرهدهی کامل به یک تکلیف، هم نمرهی
draftGradeو همassignedGradeاختصاص دهید.
از آرگومان updateMask برای پیکربندی فیلدی که باید تنظیم شود، استفاده کنید.
برای درک حوزهها و مجوزهای مورد نیاز برای تغییر StudentSubmissions به بخش «افزودن پیوست به پاسخ دانشجو» مراجعه کنید.
نمرات تعیین شده را بخوانید
شما میتوانید با استفاده از متد courses.courseWork.studentSubmissions.list برای بازیابی تمام StudentSubmissions مربوطه و بررسی فیلدهای assignedGrade و draftGrade مربوطه، به تمام نمرات یک CourseWork خاص دسترسی پیدا کنید:
پایتون
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 به Retrieve student responses مراجعه کنید.
تعیین نمرات کلی دروس
رابط برنامهنویسی کاربردی کلاس درس به توسعهدهندگان اجازه نمیدهد نمره کلی دوره را بخوانند یا بنویسند، اما میتوانید آن را به صورت برنامهنویسی محاسبه کنید. اگر میخواهید نمره کلی را محاسبه کنید، راهنمای نمرات را مطالعه کنید تا مفاهیم مهمی مانند CourseWork معاف، دورههای نمرهدهی و سیستمهای مختلف نمرهدهی را درک کنید.
پیوستهای الحاقی درجه
اگر شما توسعهدهنده افزونههای کلاس درس هستید، میتوانید برای هر افزونه نمره تعیین کنید و نمره را طوری پیکربندی کنید که هنگام بررسی کار دانشآموزان توسط معلمان قابل مشاهده باشد. برای اطلاعات بیشتر به پیوستهای نوع فعالیت و مراحل بازیابی نمره مراجعه کنید.
نمرات روبریک
فرمهای StudentSubmissions فیلدهایی دارند که نمرات داده شده بر اساس Rubrics را نشان میدهند:
-
draftRubricGradeمجموعهای آزمایشی از نمراتCriterionاست که فقط برای معلمان قابل مشاهده است. -
assignedRubricGradeمجموعهای از نمراتCriterionاست که به دانشآموزان گزارش میشود.
نمرات روبریک را نمیتوان با استفاده از رابط برنامهنویسی کاربردی (API) کلاس درس گوگل تنظیم کرد، اما میتوان آنها را خواند. برای کسب اطلاعات بیشتر به راهنمای روبریک و محدودیتهای آن مراجعه کنید.