Lernziele verwalten

Nutzer können in Google Classroom Lernziele für Kurse und Aufgaben festlegen. Dieselben Lernziele sind auch in der Classroom API verfügbar. Sie können Standardsätze für CourseRessourcen und Lernziele für CourseWork 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 sie ändern.

Funktionsweise

Datenquelle

Lernziele in Classroom basieren auf stabilen, global eindeutigen IDs (GUIDs) die von Satchel Rosetta Exchange (ehemals CASE Network) bereitgestellt werden. Standards in der Exchange sind in Knotenbäumen organisiert. Die Wurzel ist ein umfassender Standardsatz für ein bestimmtes Fach und untergeordnete Knoten beschreiben immer spezifischere Lernergebnisse. Die ID für jeden Knoten mit einem Standardcode oder Blattknoten im Netzwerk kann als Lernziel für eine CourseWork festgelegt werden. Jeder Nicht-Blattknoten kann als Standardsatz für einen Course festgelegt werden.

  • Standardsätze für eine Course-Ressource stellen die Gruppe von Standards dar, die in der Classroom-UI 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 Standardsatz auf oberster 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 Knoten, der nicht die Wurzel ist).
  • 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 Ziele finden

Um zu verstehen, wo Sie diese Werte finden, sehen Sie sich ein Beispiel für einen Mathematikstandard aus dem US-Bundesstaat New York an. Beginnen Sie mit dem Stamm knoten:

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.

In 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 einen 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 Knotens, der nicht die Wurzel ist, wenn er in Satchel Rosetta Exchange ausgewählt ist. Hier werden die Artikel-ID, der Standardcode und der Standardtitel angezeigt. Diese Werte sind nur für diesen Standard spezifisch.

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

  • Jeder Course kann bis zu fünf Standardsätze haben.
  • Jede CourseWork kann bis zu zehn Lernziele haben.
  • Jedes Criterion des Bewertungsschemas kann ein Lernziel haben.

Standardsätze für Kurse verwalten

Standardsätze ändern

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

Sie können Standardsätze mit jeder Course Änderungsanfrage hinzufügen, z. B. mit courses.create() oder courses.patch() mit der learningStandardSettings Aktualisierungsmaske.

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

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')}")

Standardsätze abrufen

Wenn Sie die aktuellen Standardsätze eines Kurses sehen möchten, prüfen Sie das Feld Course.learningStandardSettings. Dieses Feld enthält eine Reihe von standardSets-Objekten und kann leer sein, wenn für den Kurs keine Standardsätze vorhanden sind.

Jeder standardSet in der Antwort enthält die Beschreibung des Standards und den Titel des zugehörigen Stammdokuments. Diese Texte werden auch für Lehrkräfte sowie Schüler und Studenten in der Classroom-UI angezeigt. Außerdem erhalten Sie den sourceDataAvailabilityStatus, der angibt, ob der Standard in Satchel Rosetta Exchange verfügbar ist.

{
  "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"
    }]
  }
}

Lernziele für Kursaufgaben und Bewertungsschemas verwalten

Lernziele ändern

Lernziele können in jeder Änderungsanfrage an die Ressourcen CourseWork, CourseWorkMaterial und Criterion des Bewertungsschemas angehängt werden. Legen Sie Dokument- und Artikel-IDs in den Feldern CourseWork.learningGoals oder Rubric.Criterion.learningGoal fest. Das sind dieselben IDs, die bereits beschrieben wurden.

Lernziele, die an Rubric-Kriterien angehängt sind, müssen bereits an die Aufgabe angehängt worden sein, mit der das 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.
    "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')}")

Im folgenden Beispiel wird ein Rubric erstellt, bei dem an jedes Kriterium ein Lernziel angehängt 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.
            "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')}")

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 Titel des Stammdokuments und den Code des Lernstandards.

Lehrkräfte können Kursaufgaben und Materialien in der Classroom-UI auch Kompetenz-Tags hinzufügen. Auf Kompetenz-Tags kann in der API nicht zugegriffen werden.

{
  "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)."
    }]
}

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