Lernziele verwalten

Nutzer können Lernziele für Kurse und Aufgaben in Google Classroom festlegen. Dieselben Lernziele sind auch in der Classroom API verfügbar. Sie können Lernstandardsets für Course-Ressourcen und Lernziele für CourseWork-, CourseWorkMaterial- und Rubric-Ressourcen festlegen, abrufen und ändern. In dieser Anleitung wird beschrieben, wie Sie mit der Classroom API auf Lernziele und Standardsätze zugreifen und diese ändern.

Funktionsweise

Datenquelle

Lernziele in Classroom basieren auf stabilen global eindeutigen IDs (GUIDs), die von Satchel Rosetta Exchange (früher CASE Network) bereitgestellt werden. Die Standards im Exchange sind in Baumstrukturen von Knoten organisiert. Die Wurzel ist ein umfassender Standard für ein bestimmtes Thema und untergeordnete Knoten beschreiben immer spezifischere Lernergebnisse. Die Kennung für jeden Knoten mit einem Standardcode oder Blattknoten im Netzwerk kann als Lernziel für eine CourseWork festgelegt werden, während jeder Nicht-Blattknoten als Standardsatz für eine Course festgelegt werden kann.

  • Standardsätze für eine Course-Ressource stellen die Gruppe von Standards dar, die in der Classroom-Benutzeroberfläche angezeigt werden, wenn Lehrkräfte Lernziele markieren.
  • Lernziele, die an eine CourseWork-, CourseWorkMaterial- oder Rubric-Ressource angehängt sind, stellen den Standard oder die Kompetenzen dar, die mit dieser Aufgabe, Frage, diesem Material oder dem jeweiligen Kriterium des Bewertungsschemas verknüpft sind.

Google verwendet fünf Informationen aus Satchel Rosetta Exchange:

  • Dokument-ID: Eine GUID für einen Knoten auf Stammebene. Diese ID entspricht einem Container für Standards der obersten Ebene und ist für alle untergeordneten Knoten gleich.
  • Dokumenttitel: Der für Menschen lesbare Name des gesamten Standarddokuments.
  • Artikel-ID: Eine GUID für einen einzelnen Standard (d. h. einen nicht-Stammknoten).
  • Standardtitel: Der für Menschen lesbare beschreibende Text eines einzelnen Standards.
  • Standardcode: Eine für Menschen lesbare Abkürzung für einen bestimmten Standard.

Werte für Standards und Zielvorhaben finden

Um zu verstehen, wo Sie diese Werte finden, sehen Sie sich ein Beispiel für einen Mathematikstandard des Bundesstaats New York an. Beginnen Sie mit dem Stammknoten:

Ansicht eines Stammknotens, wenn er in Satchel Rosetta Exchange ausgewählt ist Abbildung 1: Ansicht eines Stammknotens, wenn er in Satchel Rosetta Exchange ausgewählt ist. Hier werden der Dokumenttitel und die Dokument-ID angezeigt, die für alle Knoten auf dieser Seite gleich sind.

Aus der Ansicht in Abbildung 1 können Sie die folgenden Werte extrahieren:

  • Dokument-ID: c649d172-d7cb-11e8-824f-0242ac160002
  • Dokumenttitel: New York State Next Generation Mathematics Learning Standards

Wenn Sie Werte für einen einzelnen Standard abrufen möchten, klicken Sie auf den Standard und maximieren Sie die zugehörigen Metadaten:

Ansicht der Metadaten eines nicht dem Stammknoten untergeordneten Knotens, wenn er in Satchel Rosetta Exchange ausgewählt ist Abbildung 2: Ansicht der Metadaten eines nicht dem Stammknoten untergeordneten Knotens, wenn er in Satchel Rosetta Exchange ausgewählt ist. Hier werden die Artikel-ID, der Standardcode und der Standardtitel angezeigt. Diese Werte gelten nur für diesen Standard.

In der Ansicht in Abbildung 2 finden Sie die folgenden Werte:

  • Artikel-ID: 70d64c79-d7cc-11e8-824f-0242ac160002
  • Standardtitel: Understand that the digits of a three-digit number represent amounts of hundreds, tens, and ones.
  • Standardcode: NY-2.NBT.4

Die Dokument- und Artikel-IDs können auch aus der Satchel Rosetta Exchange-URL jedes Knotens extrahiert werden. Diese URLs folgen dem Muster https://rosetta.commongoodlt.com/{document_id}/{item_id}.

Maximale Anzahl verknüpfter Elemente

  • Für jede Course können bis zu 20 Lernstandardsets definiert werden.
  • Jede CourseWork kann bis zu 10 Lernziele enthalten.
  • Jede Rubrik Criterion kann ein Lernziel haben.

Gruppen von Lernstandards für Kurse verwalten

Bildungsstandardsätze ändern

Wenn Sie Course-Lernstandardsätze ändern möchten, füllen Sie das Feld Course.learningStandardSettings mit standardSets-Objekten. Jedes standardSet muss ein caseGuid-Objekt enthalten, das ein caseDocumentId und optional ein caseItemId enthält.

Sie können Sets mit Lernstandards mit einer beliebigen Course-Mutationsanfrage hinzufügen, z. B. courses.create() oder courses.patch() mit der Aktualisierungsmaske learningStandardSettings.

Im folgenden Beispiel werden zwei Standardsätze für einen vorhandenen Kurs festgelegt.

Python

service = build("classroom", "v1", credentials=creds)
course = {
    "learningStandardSettings": {
        # Each Course can have up to 20 learning standard sets.
        "standardSets": [
            # 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.
            {
                "caseGuid": {
                    "caseDocumentId": "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.
            {
                "caseGuid": {
                    "caseDocumentId": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                    "caseItemId": "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')}")

Bildungsstandardsätze abrufen

Die aktuellen Bildungsstandardsätze eines Kurses finden Sie im Feld Course.learningStandardSettings. Dieses Feld enthält eine Reihe von standardSets-Objekten und kann leer sein, wenn im Kurs keine Lernstandardsets vorhanden sind.

Jedes standardSet in der Antwort enthält die Beschreibung des Standards und den Titel des zugehörigen Stammdokuments. Diese Texte werden auch Lehrkräften und Schülern/Studenten in der Classroom-Benutzeroberfläche angezeigt. Sie erhalten auch die sourceDataAvailabilityStatus, die angibt, ob der Standard in der Satchel Rosetta Exchange verfügbar ist.

{
  "id": "123456789",
  "name": "LSS test class",
  "learningStandardSettings": {
    "standardSets": [
      {
        "caseGuid": {
          "caseDocumentId": "c649d172-d7cb-11e8-824f-0242ac160002"
        },
        "documentTitle": "New York State Next Generation Mathematics Learning Standards",
        "sourceDataAvailabilityStatus": "LEARNING_STANDARD_AVAILABLE"
      },
      {
        "caseGuid": {
          "caseDocumentId": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
          "caseItemId": "ada2cc30-7d6d-494e-8c6b-c998bae98f0b"
        },
        "documentTitle": "AAS English Language Arts (2021)",
        "standardTitle": "Kindergarten",
        "sourceDataAvailabilityStatus": "LEARNING_STANDARD_AVAILABLE"
      }
    ]
  }
}

Lernziele für Kursaufgaben, Kursaufgabenmaterial und Bewertungsschemas verwalten

Lernziele ändern

Lernziele können in jeder Mutationsanfrage an die Ressourcen CourseWork, CourseWorkMaterial und Rubric Criterion angehängt werden. Legen Sie Dokument- und Artikelkennzeichnungen in den Feldern CourseWork.learningGoals oder Rubric.Criterion.learningGoal fest. Dies sind dieselben Kennungen wie zuvor beschrieben.

Lernziele, die mit Rubric-Kriterien verknüpft sind, müssen bereits mit der Aufgabe verknüpft sein, mit der die Rubric verknüpft ist.

Im folgenden Beispiel wird eine CourseWork-Aufgabe mit zwei angehängten Lernzielen erstellt.

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.
    "learningGoals": [
        {
            "learningStandardInfo": {
                # 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.
                "caseGuid": {
                    "caseDocumentId": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                    "caseItemId": "6d922f1f-b580-42a1-b6d2-5ee5b39c561d",
                }
            }
        },
        {
            "learningStandardInfo": {
                # 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.
                "caseGuid": {
                    "caseDocumentId": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                    "caseItemId": "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')}")

Im folgenden Beispiel wird ein Rubric erstellt, wobei jedem Kriterium ein Lernziel zugeordnet ist.

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.
            "learningGoal": {
                "learningStandardInfo": {
                    # 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.
                    "caseGuid": {
                        "caseDocumentId": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                        "caseItemId": "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.
            "learningGoal": {
                "learningStandardInfo": {
                    # 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.
                    "caseGuid": {
                        "caseDocumentId": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
                        "caseItemId": "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')}")

Lernziele abrufen

Wenn Sie die aktuellen Lernziele für eine Aufgabe, Frage oder ein Material sehen möchten, prüfen Sie das Feld CourseWork.learningGoals. Jedes Lernzielobjekt enthält den Dokumenttitel auf Stammebene und den Lernstandardcode.

Lehrkräfte können Kursen und Materialien auch in der Classroom-Benutzeroberfläche Skill-Tags hinzufügen. Auf Skill-Tags kann über die API nicht zugegriffen werden.

{
  "course_id": "123456789",
  "id": "987654321",
  "title": "Test ELA Assignment",
  "state": "PUBLISHED",
  "learningGoals": [
    {
      "id": "871768554412",
      "courseId": "123456789",
      "learningStandardInfo": {
        "standardCode": "ELA21.AAS.11.22a",
        "caseGuid": {
          "caseDocumentId": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
          "caseItemId": "a684609a-c3ec-42da-8b7f-7a325b31ea4a"
        }
      },
      "title": "Identify a sentence that uses correct capitalization (i.e., beginning of sentence, names, cities, states, countries, towns, titles, days, months)."
    },
    {
      "id": "871768554411",
      "courseId": "123456789",
      "learningStandardInfo": {
        "standardCode": "ELA21.AAS.11.11c",
        "caseGuid": {
          "caseDocumentId": "bfc264b3-b4d1-4780-84ff-26b12e6945a6",
          "caseItemId": "6d922f1f-b580-42a1-b6d2-5ee5b39c561d"
        }
      },
      "title": "Compose argumentative texts by stating a topic, providing reasons that support the argument, and providing an appropriate conclusion related to the topic."
    }
  ]
}

Ähnliche Daten werden mit Rubric-Antworten zurückgegeben, die ein learningGoal pro Kriterium enthalten.