ছাত্র গোষ্ঠী তৈরি এবং পরিচালনা করুন

উন্নত শিক্ষণ অভিজ্ঞতার জন্য, যেমন নির্দিষ্ট অ্যাসাইনমেন্ট এবং সহযোগিতামূলক কার্যকলাপের জন্য, আপনি স্টুডেন্ট গ্রুপ ব্যবহার করে শিক্ষার্থীদের নির্দিষ্ট দলে সংগঠিত করতে পারেন। প্রশাসক এবং শিক্ষকদের পক্ষ থেকে একটি কোর্সের মধ্যে স্টুডেন্ট গ্রুপ তৈরি, পরিবর্তন এবং পড়ার জন্য ক্লাসরুম এপিআই (Classroom API) ব্যবহার করুন।

আপনি নিম্নলিখিত পদ্ধতিগুলো ব্যবহার করে ছাত্র-ছাত্রীদের গ্রুপ তৈরি, আপডেট, মুছে ফেলা এবং পড়তে পারেন:

এছাড়াও আপনি নিম্নলিখিত পদ্ধতিগুলো ব্যবহার করে একটি ছাত্র গোষ্ঠীর মধ্যে সদস্য যোগ করতে, সরাতে এবং পড়তে পারেন:

লাইসেন্সিং এবং যোগ্যতার প্রয়োজনীয়তা

একটি কোর্সে ছাত্র গোষ্ঠী তৈরি, পরিবর্তন বা মুছে ফেলতে এবং ছাত্র গোষ্ঠী থেকে সদস্য যোগ বা অপসারণ করতে, নিম্নলিখিত শর্তগুলি অবশ্যই পূরণ করতে হবে:

  • অনুরোধকারী ব্যবহারকারীকে অবশ্যই কোর্সের একজন শিক্ষক অথবা ডোমেইনের একজন প্রশাসক হতে হবে।
  • অনুরোধকারী ব্যবহারকারীর নামে অবশ্যই একটি Google Workspace for Education Plus লাইসেন্স বরাদ্দ থাকতে হবে।
  • কোর্স মালিকের অবশ্যই একটি Google Workspace for Education Plus লাইসেন্স বরাদ্দ থাকতে হবে।

পঠন ছাত্র গোষ্ঠী এবং এর সদস্যরা

একটি কোর্সের প্রশাসক এবং শিক্ষকেরা তাদের কী লাইসেন্স বরাদ্দ করা হয়েছে তা নির্বিশেষে ছাত্র গোষ্ঠীর ডেটা পড়তে পারেন। এর অর্থ হলো, একটি কোর্সের যেকোনো প্রশাসক বা শিক্ষকের পক্ষ থেকে ListStudentGroups এবং ListStudentGroupMembers এন্ডপয়েন্টগুলিতে অনুরোধ পাঠানোর অনুমতি রয়েছে।

কোড উদাহরণের পূর্বশর্ত

এই নির্দেশিকায় পাইথনে কোডের উদাহরণ দেওয়া হয়েছে এবং ধরে নেওয়া হচ্ছে যে আপনার নিম্নলিখিত বিষয়গুলো জানা আছে:

  • একটি গুগল ক্লাউড প্রজেক্ট। আপনি পাইথন কুইকস্টার্ট- এর নির্দেশাবলী অনুসরণ করে এটি তৈরি করতে পারেন।
  • আপনার প্রোজেক্টের OAuth সম্মতি স্ক্রিনে নিম্নলিখিত স্কোপগুলি যোগ করা হয়েছে:
    • https://www.googleapis.com/auth/classroom.rosters
    • শুধুমাত্র পঠনযোগ্য এন্ডপয়েন্টগুলোর জন্য https://www.googleapis.com/auth/classroom.rosters.readonly করুন।
  • এমন একটি কোর্সের আইডি যেখানে শিক্ষার্থীদের গ্রুপ পরিচালনা করা হবে। কোর্স মালিকের অবশ্যই একটি Google Workspace for Education Plus লাইসেন্স থাকতে হবে।
  • Google Workspace for Education Plus লাইসেন্স থাকলে একজন শিক্ষক বা প্রশাসকের পরিচয়পত্র অ্যাক্সেস করা যায়।

ব্যবহারকারীর যোগ্যতা যাচাই করুন

ক্লাসরুম এপিআই userProfiles.checkUserCapability এন্ডপয়েন্টটি প্রদান করে, যা আপনাকে আগে থেকেই নির্ধারণ করতে সাহায্য করে যে কোনো ব্যবহারকারী স্টুডেন্ট গ্রুপ এবং এর সদস্যদের তৈরি ও পরিবর্তন করতে সক্ষম কিনা। এই মেথডটি ডেভেলপার প্রিভিউ প্রোগ্রামের মাধ্যমে উপলব্ধ। যদি আপনি শুরুর বিন্দু হিসেবে পাইথন কুইকস্টার্ট অনুসরণ করে থাকেন, তাহলে একটি নতুন ক্লাসরুম সার্ভিস সেট আপ করুন যা প্রিভিউ মেথডগুলো অ্যাক্সেস করতে পারে:

পাইথন

classroom_service_with_capability_endpoint = googleapiclient.discovery.build(
    serviceName='classroom',
    version='v1',
    credentials=creds,
    static_discovery=False,
    discoveryServiceUrl='https://classroom.googleapis.com/$discovery/rest?labels=DEVELOPER_PREVIEW&key=API_KEY')

userProfiles.checkUserCapability এন্ডপয়েন্টটি শুধুমাত্র মূল্যায়ন করে যে একজন ব্যবহারকারী কোনো নির্দিষ্ট ক্যাপাবিলিটি, যেমন স্টুডেন্ট গ্রুপ পরিবর্তন করা, ব্যবহার করার যোগ্য কিনা। এটি কোর্স রোল সম্পর্কে কোনো তথ্য দেয় না। উদাহরণস্বরূপ, কোনো ব্যবহারকারীর CREATE_STUDENT_GROUP ক্যাপাবিলিটি থাকলেও, যদি তিনি সেই কোর্সের একজন শিক্ষার্থী হন, তাহলে CreateStudentGroup এন্ডপয়েন্টে করা অনুরোধ সফল হবে না।

পাইথন

def check_student_groups_update_capability():
    """Checks whether a user is eligible to create and modify student groups."""
    capability = classroom_service_with_capability_endpoint.userProfiles().checkUserCapability(
        userId="me", # Can also be set to a different user's email address or ID
        capability="CREATE_STUDENT_GROUP",
        previewVersion="V1_20240930_PREVIEW" # Required while the method is in the DPP.
    ).execute()

    if capability.get("allowed"): # Retrieve the `allowed` boolean from the response.
        print("User is eligible to create and modify student groups.")
    else:
        print("User is not eligible to create and modify student groups.")

ছাত্র গোষ্ঠী পরিচালনা করুন

CreateStudentGroup এন্ডপয়েন্ট ব্যবহার করে ছাত্রছাত্রীদের গ্রুপ তৈরি করা যায়।

পাইথন

def create_student_group(classroom_service, course_id):
    body = {
        "title": "Team Blue"
    }

    response = classroom_service.courses().studentGroups().create(
        courseId=course_id,
        body=body
    ).execute()

    print(response)

রেসপন্সটিতে নতুন তৈরি হওয়া স্টুডেন্ট গ্রুপের id , courseId এবং স্টুডেন্ট গ্রুপের title থাকে।

শিক্ষার্থী গ্রুপ id ব্যবহার করে স্বতন্ত্র শিক্ষার্থী গ্রুপ আপডেট বা ডিলিট করা যায়।

পাইথন

def update_student_group(classroom_service, course_id, student_group_id):
    body = {
        "title": "Team Green"
    }

    response = classroom_service.courses().studentGroups().patch(
        courseId=course_id,
        id=student_group_id,
        body=body,
        updateMask="title"
    ).execute()

    print(response)
def delete_student_group(classroom_service, course_id, student_group_id):
    response = classroom_service.courses().studentGroups().delete(
        courseId=course_id,
        id=student_group_id
    ).execute()

    print(response)

আপনি ListStudentGroups এন্ডপয়েন্ট ব্যবহার করে একটি কোর্সের অন্তর্গত ছাত্রছাত্রীদের গ্রুপগুলো খুঁজে পেতে পারেন:

পাইথন

def list_student_groups(classroom_service, course_id):
    results = classroom_service.courses().studentGroups().list(
        courseId=course_id
    ).execute()

    studentGroups = results.get("studentGroups")

ছাত্র গোষ্ঠীর সদস্যদের পরিচালনা করুন

শিক্ষার্থী গ্রুপটি সফলভাবে তৈরি হয়ে গেলে, আপনি এতে সদস্য যুক্ত করতে পারবেন।

পাইথন

def add_student_group_member(classroom_service, course_id, student_group_id):
    body = {
        "userId": "student@schooldomain.com"
    }

    response = classroom_service.courses().studentGroups().studentGroupMembers().create(
        courseId=course_id,
        studentGroupId=student_group_id,
        body=body
    ).execute()

    print(response)

আপনি যদি কোনো ছাত্র গোষ্ঠী থেকে কোনো সদস্যকে সরাতে চান, তাহলে নিম্নলিখিতের মতো করে একটি অনুরোধ করুন:

পাইথন

def delete_student_group_member(classroom_service, course_id, student_group_id):
    response = classroom_service.courses().studentGroups().studentGroupMembers().delete(
        courseId=course_id,
        studentGroupId=student_group_id,
        userId="student@schooldomain.com"
    ).execute()
    print(response)

নিম্নলিখিত অনুরোধটি করার মাধ্যমে আপনি একটি গ্রুপের সদস্যদের সম্পর্কে জানতে পারবেন:

পাইথন

def list_student_group_members(classroom_service, course_id, student_group_id):
    results = classroom_service.courses().studentGroups().studentGroupMembers().list(
        courseId=course_id,
        studentGroupId=student_group_id
    ).execute()

    print(results.get("studentGroupMembers"))

প্রতিটি StudentGroupMember রিসোর্সে গ্রুপ সদস্যের courseId , studentGroupId এবং userId অন্তর্ভুক্ত থাকে।