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

এই গাইড ক্লাসরুম API-এর জন্য গ্রেডিং-সম্পর্কিত কোড উদাহরণ প্রদান করে। এই নথির ফোকাস মূল ক্লাসরুম গ্রেডিং যাত্রার উপর: 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()

জাভা

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

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

গ্রেড করা CourseWork কাজের জন্য সামগ্রিক গ্রেড সংরক্ষণ করার জন্য StudentSubmission রিসোর্সে দুটি ক্ষেত্র রয়েছে:

  • 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/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 এর সাথে কাজ করার সময়, শিক্ষকরা একটি assignedGrade সেট করতে পারবেন না যতক্ষণ না তারা প্রথমে একটি draftGrade সংরক্ষণ করেন৷ 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'))}")

জাভা

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 পড়ার জন্য প্রয়োজনীয় সুযোগ এবং অনুমতিগুলি বোঝার জন্য ছাত্রদের প্রতিক্রিয়া পুনরুদ্ধার দেখুন।

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

ক্লাসরুম এপিআই ডেভেলপারদের সামগ্রিক কোর্সের গ্রেড পড়তে বা লিখতে দেয় না, তবে আপনি এটি প্রোগ্রাম্যাটিকভাবে গণনা করতে পারেন। আপনি যদি সামগ্রিক গ্রেড গণনা করতে চান, তাহলে excused CourseWork , গ্রেডিং পিরিয়ড এবং বিভিন্ন গ্রেডিং সিস্টেমের মতো গুরুত্বপূর্ণ ধারণাগুলি বুঝতে গ্রেড গাইডটি পড়ুন।

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

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

রুব্রিক্স গ্রেড

StudentSubmissions ক্ষেত্র রয়েছে যা Rubrics উপর ভিত্তি করে প্রদত্ত স্কোরের প্রতিনিধিত্ব করে:

  • draftRubricGrade হল Criterion স্কোরের একটি অস্থায়ী সেট যা শুধুমাত্র শিক্ষকদের কাছে দৃশ্যমান।
  • assignedRubricGrade হল ছাত্রদের রিপোর্ট করা Criterion স্কোরের সেট।

Google Classroom API ব্যবহার করে রুব্রিক স্কোর সেট করা যাবে না, কিন্তু পড়া যাবে। আরও জানতে রুব্রিক্স গাইড এবং সীমাবদ্ধতা দেখুন।