ग्रेड सेट करना और अपडेट करना

इस गाइड में, Classroom API के लिए ग्रेडिंग से जुड़े कोड के उदाहरण दिए गए हैं. इस दस्तावेज़ में, Classroom में ग्रेडिंग की मुख्य प्रोसेस पर फ़ोकस किया गया है. जैसे, StudentSubmission स्टेटस और ग्रेड मैनेज करना.

Classroom में ग्रेडिंग के कॉन्सेप्ट के बारे में जानने के लिए, ग्रेडिंग गाइड पढ़ें.

छात्र-छात्राओं के सबमिशन की स्थितियां मैनेज करना

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()

Java

classroom/snippets/src/main/java/ReturnStudentSubmission.java
try {
  service
      .courses()
      .courseWork()
      .studentSubmissions()
      .classroomReturn(courseId, courseWorkId, id, null)
      .execute();
} catch (GoogleJsonResponseException e) {
  // TODO (developer) - handle error appropriately
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf(
        "The courseId (%s), courseWorkId (%s), or studentSubmissionId (%s) does "
            + "not exist.\n",
        courseId, courseWorkId, id);
  } else {
    throw e;
  }
} catch (Exception e) {
  throw e;
}

छात्र-छात्राओं के सबमिशन के लिए ग्रेड सेट करना

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()

Java

classroom/snippets/src/main/java/PatchStudentSubmission.java
StudentSubmission studentSubmission = null;
try {
  // Updating the draftGrade and assignedGrade fields for the specific student submission.
  StudentSubmission content =
      service
          .courses()
          .courseWork()
          .studentSubmissions()
          .get(courseId, courseWorkId, id)
          .execute();
  content.setAssignedGrade(90.00);
  content.setDraftGrade(80.00);

  // The updated studentSubmission object is returned with the new draftGrade and assignedGrade.
  studentSubmission =
      service
          .courses()
          .courseWork()
          .studentSubmissions()
          .patch(courseId, courseWorkId, id, content)
          .set("updateMask", "draftGrade,assignedGrade")
          .execute();

  /* Prints the updated student submission. */
  System.out.printf(
      "Updated student submission draft grade (%s) and assigned grade (%s).\n",
      studentSubmission.getDraftGrade(), studentSubmission.getAssignedGrade());
} catch (GoogleJsonResponseException e) {
  // TODO (developer) - handle error appropriately
  GoogleJsonError error = e.getDetails();
  if (error.getCode() == 404) {
    System.out.printf(
        "The courseId (%s), courseWorkId (%s), or studentSubmissionId (%s) does "
            + "not exist.\n",
        courseId, courseWorkId, id);
  } else {
    throw e;
  }
} catch (Exception e) {
  throw e;
}
return studentSubmission;

Classroom के यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करते समय, शिक्षक draftGrade सेव करने से पहले assignedGrade सेट नहीं कर सकते. इसके बाद, 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'))}")

Java

classroom/snippets/src/main/java/ListStudentSubmissions.java
  ListStudentSubmissionsResponse response =
      service
          .courses()
          .courseWork()
          .studentSubmissions()
          .list(courseId, courseWorkId)
          .setPageToken(pageToken)
          .execute();

  /* Ensure that the response is not null before retrieving data from it to avoid errors. */
  if (response.getStudentSubmissions() != null) {
    studentSubmissions.addAll(response.getStudentSubmissions());
    pageToken = response.getNextPageToken();
  }
} while (pageToken != null);

if (studentSubmissions.isEmpty()) {
  System.out.println("No student submissions found.");
} else {
  for (StudentSubmission submission : studentSubmissions) {
    System.out.printf(
        "User ID %s, Assigned grade: %s\n",
        submission.getUserId(), submission.getAssignedGrade());
  }
}

स्कोप और StudentSubmissions को पढ़ने के लिए ज़रूरी अनुमतियों को समझने के लिए, छात्र-छात्राओं के जवाब वापस पाना लेख पढ़ें.

कोर्स के कुल ग्रेड तय करना

Classroom API, डेवलपर को कोर्स के कुल ग्रेड को पढ़ने या लिखने की अनुमति नहीं देता. हालांकि, इसे प्रोग्राम के हिसाब से कैलकुलेट किया जा सकता है. अगर आपको कुल ग्रेड का हिसाब लगाना है, तो ग्रेडिंग गाइड पढ़ें. इससे आपको माफ़ किए गए CourseWork, ग्रेडिंग की अवधि, और अलग-अलग ग्रेडिंग सिस्टम जैसे ज़रूरी कॉन्सेप्ट समझने में मदद मिलेगी.

ऐड-ऑन अटैचमेंट को ग्रेड देना

अगर आप Classroom ऐड-ऑन डेवलपर हैं, तो आपके पास ऐड-ऑन अटैचमेंट के लिए अलग-अलग ग्रेड सेट करने का विकल्प होता है. साथ ही, यह कॉन्फ़िगर किया जा सकता है कि छात्र-छात्राओं के काम की समीक्षा करते समय, शिक्षकों को ग्रेड दिखे. ज़्यादा जानकारी के लिए, गतिविधि के टाइप के हिसाब से अटैचमेंट और ग्रेड पासबैक के बारे में जानकारी देने वाले लेख पढ़ें.

रूब्रिक के हिसाब से दिए गए ग्रेड

StudentSubmissions में ऐसे फ़ील्ड होते हैं जो Rubrics के आधार पर दिए गए स्कोर को दिखाते हैं:

  • draftRubricGrade, Criterion स्कोर का एक अस्थायी सेट है. यह सिर्फ़ शिक्षकों को दिखता है.
  • assignedRubricGrade, छात्रों को बताए गए Criterion स्कोर का सेट है.

Google Classroom API का इस्तेमाल करके, रूब्रिक के स्कोर सेट नहीं किए जा सकते. हालांकि, इन्हें पढ़ा जा सकता है. ज़्यादा जानने के लिए, रूब्रिक गाइड और सीमाएं देखें.