ניהול יעדי למידה

משתמשים יכולים להגדיר יעדי למידה לקורסים ולמטלות ב-Google Classroom. אותן מטרות למידה מוצגות גם ב-Classroom API. אפשר להגדיר, לאחזר ולשנות קבוצות של תקני למידה במשאבי Course ויעדי למידה במשאבי CourseWork ו-Rubric. במדריך הזה מוסבר איך לגשת ליעדי למידה ולסטים סטנדרטיים ולשנות אותם באמצעות Classroom API.

איך זה עובד

מקור נתונים

היעדים ללמידה ב-Classroom מסתמכים על מזהים ייחודיים גלובליים (GUID) יציבים שסופקו על ידי Satchel Rosetta Exchange (לשעבר CASE Network). המדדים ב-Exchange מאורגנים במבנה של עץ עם צמתים, שבו הצומת הבסיסי הוא קבוצה מקיפה של מדדים לנושא מסוים, והצמתים הבאים מתארים תוצאות למידה ספציפיות יותר. אפשר להגדיר את המזהה של כל צומת עם קוד רגיל או צומת עלה ברשת כיעד למידה בCourseWork, ואילו כל צומת שאינו צומת עלה יכול להיות מוגדר כסטנדרט למידה בCourse.

  • קבוצות של מדדי הערכה עבור משאב Course מייצגות את קבוצת המדדים שמופיעה בממשק המשתמש של Classroom כשמורים מתייגים יעדי למידה.
  • יעדי למידה שמצורפים למשאב מסוג CourseWork,‏ CourseWorkMaterial או Rubric מייצגים את הסטנדרט או הכישורים שמשויכים למטלה, לשאלה, לחומר או לקריטריון הערכה ספציפי.

‫Google משתמשת בחמישה סוגי מידע מ-Satchel Rosetta Exchange:

  • Document ID: מזהה GUID של צומת ברמת הבסיס. המזהה הזה תואם לקונטיינר של תקנים ברמה העליונה, והוא משותף לכל הצמתים המשניים.
  • שם המסמך: השם של המסמך כולו שקריא לבני אדם.
  • מזהה פריט: ‏ GUID של תקן יחיד (כלומר, צומת שאינו צומת הבסיס).
  • כותרת רגילה: טקסט תיאורי של תקן יחיד שקריא לבני אדם.
  • קוד רגיל: קיצור של תקן ספציפי שקריא לבני אדם.

חיפוש ערכים של תקנים ויעדים

כדי להבין איפה אפשר למצוא את הערכים האלה, אפשר לעיין בדוגמה של תקן במתמטיקה ממדינת ניו יורק. מתחילים בצומת הבסיס:

תצוגה של צומת הרמה הבסיסית כשבוחרים אותו ב-Satchel Rosetta
Exchange איור 1: תצוגה של צומת ברמה הבסיסית כשבוחרים אותו ב-Satchel Rosetta Exchange. מוצגים כותרת המסמך ומזהה המסמך, שמשותפים לכל הצמתים בדף הזה.

מהתצוגה באיור 1, אפשר לחלץ את הערכים הבאים:

  • מזהה המסמך: c649d172-d7cb-11e8-824f-0242ac160002
  • כותרת המסמך: New York State Next Generation Mathematics Learning Standards

כדי לקבל ערכים עבור תקן מסוים, לוחצים על התקן ומרחיבים את המטא-נתונים שלו:

תצוגה של מטא-נתונים של צומת שאינו צומת הבסיס כשבוחרים אותו ב-Satchel Rosetta Exchange איור 2: תצוגה של המטא-נתונים של צומת שאינו צומת הבסיס כשבוחרים אותו ב-Satchel Rosetta Exchange. בעמודה הזו מוצגים מזהה הפריט, הקוד והשם של התקן. הערכים האלה ספציפיים רק לתקן הזה.

בתצוגה באיור 2 אפשר לראות את הערכים הבאים:

  • מזהה הפריט: 70d64c79-d7cc-11e8-824f-0242ac160002
  • שם רגיל: Understand that the digits of a three-digit number represent amounts of hundreds, tens, and ones.
  • קוד רגיל: NY-2.NBT.4

שימו לב שאפשר לחלץ את מזהי המסמכים והפריטים גם מכתובת ה-URL של Satchel Rosetta Exchange של כל צומת. כתובות ה-URL האלה תואמות לתבנית https://rosetta.commongoodlt.com/{document_id}/{item_id}.

מספר מקסימלי של פריטים מקושרים

  • כל Course יכול להכיל עד 5 קבוצות של תקני למידה.
  • לכל CourseWork אפשר להוסיף עד 10 יעדי למידה.
  • לכל קריטריון הערכה Criterion יכול להיות יעד למידה אחד.

ניהול קבוצות של מדדי הערכה בקורס

שינוי של קבוצות מדדי ההערכה

כדי לשנות את קבוצות מדדי ההערכה Course, מאכלסים את השדה Course.learningStandardSettings באובייקטים standardSets. כל רכיב standardSet חייב להכיל אובייקט caseGuid, שכולל caseDocumentId ואופציונלית caseItemId.

אפשר להוסיף קבוצות של תקני למידה באמצעות כל Course בקשת שינוי, כמו courses.create() או courses.patch() עם learningStandardSettings מסכת העדכון.

בדוגמה הבאה מוגדרות שתי קבוצות סטנדרטיות בקורס קיים.

Python

service = build("classroom", "v1", credentials=creds)
course = {
    "learning_standard_settings": {
        # Each Course can have up to 5 learning standard sets.
        "standard_sets": [
            # Construct a GUID for the NYS Next Gen Math Standards top-level node.
            # This is a top-level non-leaf node, so it only has a Document ID.
            {
                "case_guid": {
                    "case_document_id": "c649d172-d7cb-11e8-824f-0242ac160002"
                }
            },
            # Construct a GUID for the AAS ELA21.AAS.K Standard node.
            # This is a mid-level non-leaf node, so it has both Document and Item IDs.
            {
                "case_guid": {
                    "case_document_id": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                    "case_item_id": "ada2cc30-7d6d-494e-8c6b-c998bae98f0b",
                }
            },
        ]
    }
}

course = (
    service.courses()
    .patch(
      id=course_id,
      updateMask="learningStandardSettings",
      body=course,
      # Specify the preview version while the feature is in Developer Preview.
      # Learning standards and goals are supported in V1_20260316_PREVIEW and
      # later.
      previewVersion="V1_20260316_PREVIEW")
    .execute()
)
print(f"Course updated: {course.get('name')}")

אחזור של קבוצות מדדי הערכה

כדי לראות את ערכות מדדי ההערכה הנוכחיות של קורס, בודקים את השדה Course.learningStandardSettings. השדה הזה מכיל סדרה של אובייקטים מסוג standardSets, ויכול להיות ריק אם אין קבוצות של תקני למידה בקורס.

שימו לב שכל standardSet בתגובה מכיל את תיאור התקן ואת שם מסמך הבסיס שלו. הטקסטים האלה מופיעים גם למורים ולתלמידים בממשק המשתמש של Classroom. מקבלים גם את sourceDataAvailabilityStatus, שמציין אם התקן זמין ב-Satchel Rosetta Exchange.

{
  "id": "123456789",
  "name": "LSS test class",
  "learning_standard_settings": {
    "standard_sets": [{
      "case_guid": {
        "case_document_id": "c649d172-d7cb-11e8-824f-0242ac160002"
      },
      "document_title": "New York State Next Generation Mathematics Learning Standards",
      "source_data_availability_status": "LEARNING_STANDARD_AVAILABLE"
    },
    {
      "case_guid": {
        "case_document_id": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
        "case_item_id": "d52217c0-1c5b-4d92-9664-d0792944f3fe"
      },
      "document_title": "AAS English Language Arts (2021)",
      "standard_title": "With prompting and support, actively listen and speak.",
      "source_data_availability_status": "LEARNING_STANDARD_AVAILABLE"
    }]
  }
}

ניהול יעדי למידה בכלי המשימות ובקריטריון ההערכה

שינוי יעדי הלמידה

אפשר לצרף יעדי למידה למשאבי CourseWork,‏ CourseWorkMaterial וקריטריון הערכה Criterion בכל בקשת שינוי. מגדירים מזהים של מסמכים ופריטים בשדות CourseWork.learningGoals או Rubric.Criterion.learningGoal. אלה אותם מזהים שתיארנו קודם.

שימו לב: יעדי למידה שמצורפים לקריטריונים של Rubric חייבים להיות כבר מצורפים למטלה שאליה מקושרת Rubric.

בדוגמה הבאה נוצרת מטלה CourseWork עם שני יעדי למידה מצורפים.

Python

# Create a CourseWork assignment with two attached learning goals.
service = build("classroom", "v1", credentials=creds)
coursework = {
    "title": "Ant colonies",
    "description": "Read the article about ant colonies and complete the quiz.",
    "materials": [
        {"link": {"url": "http://example.com/ant-colonies"}},
        {"link": {"url": "http://example.com/ant-quiz"}},
    ],
    "workType": "ASSIGNMENT",
    "state": "PUBLISHED",
    # Each CourseWork can have up to 10 learning goals.
    "learning_goals": [
        {
            "learning_standard_info": {
                # Construct a GUID for the ELA21.AAS.11.11c Standard node.
                # This is a non-root node, so it has both Document and Item IDs.
                "case_guid": {
                    "case_document_id": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                    "case_item_id": "6d922f1f-b580-42a1-b6d2-5ee5b39c561d",
                }
            }
        },
        {
            "learning_standard_info": {
                # Construct a GUID for the ELA21.AAS.11.22a Standard node.
                # This is a non-root node, so it has both Document and Item IDs.
                "case_guid": {
                    "case_document_id": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                    "case_item_id": "a684609a-c3ec-42da-8b7f-7a325b31ea4a",
                }
            }
        },
    ],
}

coursework = (
    service.courses()
    .courseWork()
    .create(
      courseId=course_id,
      body=coursework,
      # Specify the preview version while the feature is in Developer Preview.
      # Learning standards and goals are supported in V1_20260316_PREVIEW and
      # later.
      previewVersion="V1_20260316_PREVIEW")
    .execute()
)
print(f"Assignment created with ID {coursework.get('id')}")

בדוגמה הבאה נוצר Rubric עם יעד למידה שמוצמד לכל קריטריון.

Python

# Create a new Rubric with a learning goal attached to each criterion.
service = build("classroom", "v1", credentials=creds)
body = {
    "criteria": [
        {
            "title": "Argument",
            "description": "How well structured your argument is.",
            "levels": [
                {
                    "title": "Convincing",
                    "description": "A compelling case is made.",
                    "points": 30,
                },
                {
                    "title": "Passable",
                    "description": "Missing some evidence.",
                    "points": 20,
                },
                {
                    "title": "Needs Work",
                    "description": "Not enough strong evidence.",
                    "points": 0,
                },
            ],
            # Each Criterion can have one learning goal.
            "learning_goal": {
                "learning_standard_info": {
                    # Construct a GUID for the ELA21.AAS.11.11c Standard node.
                    # This is a non-root node, so it has both Document and Item IDs.
                    "case_guid": {
                        "case_document_id": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                        "case_item_id": "6d922f1f-b580-42a1-b6d2-5ee5b39c561d",
                    }
                }
            },
        },
        {
            "title": "Spelling",
            "description": "How well you spelled all the words.",
            "levels": [
                {"title": "Perfect", "description": "No mistakes.", "points": 20},
                {"title": "Great", "description": "A mistake or two.", "points": 15},
                {"title": "Needs Work", "description": "Many mistakes.", "points": 5},
            ],
            # Each Criterion can have one learning goal.
            "learning_goal": {
                "learning_standard_info": {
                    # Construct a GUID for the ELA21.AAS.11.22a Standard node.
                    # This is a non-root node, so it has both Document and Item IDs.
                    "case_guid": {
                        "case_document_id": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                        "case_item_id": "a684609a-c3ec-42da-8b7f-7a325b31ea4a",
                    }
                }
            },
        },
    ]
}

rubric = (
    service.courses()
    .courseWork()
    .rubrics()
    .create(
      courseId=course_id,
      courseWorkId=coursework_id,
      body=body,
      # Specify the preview version while the feature is in Developer Preview.
      # Learning standards and goals are supported in V1_20260316_PREVIEW and
      # later.
      previewVersion="V1_20260316_PREVIEW")
    .execute()
)
print(f"Rubric created with ID {rubric.get('id')}")

אחזור יעדי למידה

כדי לראות את יעדי הלמידה הנוכחיים במטלה, בשאלה או בחומר, בודקים את השדה CourseWork.learningGoals. כל אובייקט של יעד למידה מכיל את הכותרת של המסמך ברמת השורש ואת הקוד של תקן הלמידה.

הערה: מורים יכולים גם להוסיף תגי מיומנויות למטלות ולחומרי לימוד בממשק המשתמש של Classroom. אי אפשר לגשת לתגי מיומנויות דרך ה-API.

{
  "course_id": "123456789",
  "id": "987654321",
  "title": "Test ELA Assignment",
  "state": "PUBLISHED",
  "learning_goals": [
    {
      "learning_standard_info": {
        "standard_code": "ELA21.AAS.11.11c",
        "document_title": "AAS English Language Arts (2021)",
        "case_guid": {
          "case_document_id": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
          "case_item_id": "6d922f1f-b580-42a1-b6d2-5ee5b39c561d",
        },
        "source_data_availability_status": "LEARNING_STANDARD_AVAILABLE"
      },
      "title": "Compose argumentative texts by stating a topic, providing reasons that support the argument, and providing an appropriate conclusion related to the topic."
    },
    {
      "learning_standard_info": {
        "standard_code": "ELA21.AAS.11.22a",
        "document_title": "AAS English Language Arts (2021)",
        "case_guid": {
          "case_document_id": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
          "case_item_id": "a684609a-c3ec-42da-8b7f-7a325b31ea4a",
        },
        "source_data_availability_status": "LEARNING_STANDARD_AVAILABLE"
      },
      "title": "Identify a sentence that uses correct capitalization (i.e., beginning of sentence, names, cities, states, countries, towns, titles, days, months)."
    }]
}

נתונים דומים מוחזרים בתגובות של Rubric, עם learningGoal אחד לכל קריטריון.