সেট & গ্রেড আপডেট করুন

এই গাইডটি Google Classroom API-এর জন্য গ্রেডিং-সম্পর্কিত কোড উদাহরণ প্রদান করে। ক্লাসরুমে গ্রেডিং ধারণার সাথে নিজেকে পরিচিত করতে গ্রেড গাইড পড়ুন।

ছাত্র জমা দেওয়ার জন্য গ্রেড সেট করুন

StudentSubmission রিসোর্সে গ্রেড সঞ্চয় করার জন্য দুটি ক্ষেত্র রয়েছে: assignedGrade , যা ছাত্রদের রিপোর্ট করা গ্রেড, এবং draftGrade , যা শুধুমাত্র শিক্ষকদের কাছে দৃশ্যমান একটি অস্থায়ী গ্রেড। এই ক্ষেত্রগুলি 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/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;

ক্লাসরুম UI এর সাথে কাজ করার সময়, শিক্ষকরা একটি গ্রেড বরাদ্দ করতে পারবেন না যতক্ষণ না তারা প্রথমে একটি খসড়া গ্রেড সংরক্ষণ করেন। নির্ধারিত গ্রেড তারপর একজন শিক্ষার্থীকে ফেরত দেওয়া যেতে পারে। আপনার আবেদন একটি ছাত্রের অ্যাসাইনমেন্টকে দুটি উপায়ে গ্রেড করতে পারে:

  • শুধু draftGrade বরাদ্দ করুন। এটি দরকারী, উদাহরণস্বরূপ, গ্রেড চূড়ান্ত করার আগে শিক্ষককে ম্যানুয়ালি পর্যালোচনা করতে দেওয়া। শিক্ষার্থীরা খসড়া গ্রেড দেখতে পারে না।

  • একটি অ্যাসাইনমেন্টকে সম্পূর্ণরূপে গ্রেড করার জন্য draftGrade এবং assignedGrade উভয়ই বরাদ্দ করুন।

নির্ধারিত গ্রেড পড়ুন

আপনি courses.courseWork.studentSubmissions.list পদ্ধতির প্রতিক্রিয়া অবজেক্ট অন্বেষণ করে একটি নির্দিষ্ট কোর্সওয়ার্ক আইটেমের জন্য সমস্ত গ্রেড তালিকাভুক্ত করতে পারেন:

পাইথন

response = coursework.studentSubmissions().list(
    courseId=course_id,
    courseWorkId=coursework_id,
    pageSize=10 # optionally include `pageSize` to restrict the number of student submissions included in the response.
).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'))}")

জাভা

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

কোর্সের সামগ্রিক গ্রেড নির্ধারণ করুন

ক্লাসরুম এপিআই ডেভেলপারদের সামগ্রিক কোর্সের গ্রেড পড়তে বা লিখতে দেয় না, তবে আপনি এটি প্রোগ্রাম্যাটিকভাবে গণনা করতে পারেন। সেট আপ গ্রেডিং সহায়তা কেন্দ্র নিবন্ধটি এই গণনার টিপস প্রদান করে। Course রিসোর্সে gradebookSettings ফিল্ড রয়েছে যা আপনাকে গণনা করতে সাহায্য করতে পারে।

আপনি যদি সামগ্রিক গ্রেড গণনা করতে চান, দেরী, অজুহাত এবং অনুপস্থিত কোর্সওয়ার্ক পরিচালনা করার সময় সচেতন হওয়ার জন্য কিছু পয়েন্টার পড়ুন।

ছাত্র প্রতিক্রিয়া অবস্থা পরিচালনা করুন

একটি শিক্ষার্থীর প্রতিক্রিয়া জমা দেওয়া, জমা দেওয়া বা ফেরত দেওয়া হতে পারে। StudentSubmission এ রাষ্ট্রীয় ক্ষেত্র বর্তমান অবস্থা নির্দেশ করে। রাষ্ট্র পরিবর্তন করতে, নিম্নলিখিত পদ্ধতিগুলির মধ্যে একটিতে কল করুন:

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

জাভা

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;
}

গ্রেড অ্যাড-অন সংযুক্তি

আপনি যদি একজন ক্লাসরুম অ্যাড-অন ডেভেলপার হন, আপনি পৃথক অ্যাড-অন সংযুক্তির জন্য গ্রেড সেট করতে পারেন এবং শিক্ষকরা যখন ছাত্রদের কাজ পর্যালোচনা করেন তখন গ্রেডটি তাদের কাছে দৃশ্যমান হওয়ার জন্য কনফিগার করতে পারেন। আরও তথ্যের জন্য অ্যাক্টিভিটি-টাইপ অ্যাটাচমেন্ট এবং গ্রেড পাসব্যাক ওয়াকথ্রু দেখুন।