Gestire gli obiettivi di apprendimento

Gli utenti possono impostare gli obiettivi di apprendimento per i corsi e i compiti in Google Classroom. Gli stessi obiettivi di apprendimento sono esposti anche nell'API Classroom. Puoi impostare, recuperare e modificare set di standard di apprendimento sulle risorse di Course e obiettivi di apprendimento su CourseWork, CourseWorkMaterial e Rubric. Questa guida descrive come accedere e modificare gli obiettivi di apprendimento e i set di standard utilizzando l'API Classroom.

Come funziona

Origine dati

Gli obiettivi di apprendimento in Classroom si basano su identificatori univoci globali (GUID) stabili forniti da Satchel Rosetta Exchange (in precedenza CASE Network). Gli standard nell'Exchange sono organizzati in alberi di nodi, in cui la radice è un insieme completo di standard per una determinata materia e i nodi secondari descrivono risultati di apprendimento progressivamente più specifici. L'identificatore di qualsiasi nodo con un codice standard o nodo foglia nella rete può essere impostato come obiettivo di apprendimento in un CourseWork, mentre qualsiasi nodo non foglia può essere impostato come un insieme di standard di apprendimento in un Course.

  • Gli insiemi di standard di apprendimento per una risorsa Course rappresentano il gruppo di standard che vengono visualizzati nell'interfaccia utente di Classroom quando gli insegnanti aggiungono tag agli obiettivi di apprendimento.
  • Gli obiettivi di apprendimento allegati a una risorsa CourseWork, CourseWorkMaterial o Rubric rappresentano lo standard o le competenze associati a quel compito, domanda, materiale o criterio specifico della griglia.

Google utilizza cinque informazioni di Satchel Rosetta Exchange:

  • ID documento: un GUID per un nodo di primo livello. Questo ID corrisponde a un contenitore di standard di primo livello ed è comune a tutti i nodi secondari.
  • Titolo del documento: il nome leggibile dell'intero documento standard.
  • ID articolo: un GUID per un singolo standard (ovvero un nodo non principale).
  • Titolo standard: il testo descrittivo leggibile di un singolo standard.
  • Codice standard: un'abbreviazione leggibile di uno standard specifico.

Trovare i valori per gli standard e gli obiettivi

Per capire dove trovare questi valori, prendi in considerazione uno standard di matematica dello stato di New York. Inizia dal nodo radice:

Visualizzazione di un nodo principale quando viene selezionato in Satchel Rosetta
Exchange Figura 1: visualizzazione di un nodo principale quando viene selezionato in Satchel Rosetta Exchange. Vengono visualizzati il titolo e l'ID del documento, che sono comuni a tutti i nodi di questa pagina.

Dalla visualizzazione nella Figura 1, puoi estrarre i seguenti valori:

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

Per ottenere i valori di un singolo standard, fai clic su uno standard ed espandi i relativi metadati:

Visualizzazione dei metadati di un nodo non root quando viene selezionato in Satchel Rosetta
Exchange Figura 2: visualizzazione dei metadati di un nodo non principale quando viene selezionato in Satchel Rosetta Exchange. Mostra l'ID articolo, il codice standard e il titolo standard. Questi valori sono specifici solo per questo standard.

Dalla visualizzazione nella Figura 2, puoi trovare i seguenti valori:

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

Tieni presente che gli ID documento e articolo possono essere estratti anche dall'URL Satchel Rosetta Exchange di ogni nodo. Questi URL seguono il pattern https://rosetta.commongoodlt.com/{document_id}/{item_id}.

Numero massimo di elementi collegati

  • Ogni Course può avere fino a 20 insiemi di standard di apprendimento.
  • Ogni CourseWork può avere fino a 10 obiettivi di apprendimento.
  • Ogni rubrica Criterion può avere un obiettivo di apprendimento.

Gestire i set di standard di apprendimento del corso

Modificare i set di standard di apprendimento

Per modificare i set di standard di apprendimento Course, compila il campo Course.learningStandardSettings con gli oggetti standardSets. Ogni standardSet deve contenere un oggetto caseGuid, che include un caseDocumentId e, facoltativamente, un caseItemId.

Puoi aggiungere set di standard di apprendimento utilizzando qualsiasi richiesta di modifica Course, ad esempio courses.create() o courses.patch() con la maschera di aggiornamento learningStandardSettings.

L'esempio seguente imposta due set standard su un corso esistente.

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

Recuperare i set di standard di apprendimento

Per visualizzare i set di standard di apprendimento attuali di un corso, esamina il campo Course.learningStandardSettings. Questo campo contiene una serie di oggetti standardSets e può essere vuoto se nel corso non sono presenti set di standard di apprendimento.

Tieni presente che ogni standardSet nella risposta contiene la descrizione dello standard e il titolo del documento principale. Questi testi vengono visualizzati anche per insegnanti e studenti nell'interfaccia utente di Classroom. Ricevi anche il sourceDataAvailabilityStatus, che indica se lo standard è disponibile in Satchel Rosetta Exchange.

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

Gestire gli obiettivi di apprendimento di CourseWork, CourseWorkMaterial e Rubric

Modificare gli obiettivi di apprendimento

Gli obiettivi di apprendimento possono essere allegati a CourseWork, CourseWorkMaterial e alle risorse della griglia Criterion in qualsiasi richiesta di modifica. Imposta gli identificatori di documenti e articoli nei campi CourseWork.learningGoals o Rubric.Criterion.learningGoal. Si tratta degli stessi identificatori descritti in precedenza.

Tieni presente che gli obiettivi di apprendimento allegati ai criteri Rubric devono essere già stati allegati al compito a cui è collegato Rubric.

L'esempio seguente crea un compito CourseWork con due obiettivi di apprendimento allegati.

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

L'esempio seguente crea una Rubric con un obiettivo di apprendimento collegato a ogni criterio.

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

Recuperare gli obiettivi di apprendimento

Per visualizzare gli obiettivi di apprendimento attuali in un compito, una domanda o un materiale, controlla il campo CourseWork.learningGoals. Ogni oggetto obiettivo di apprendimento contiene il titolo del documento di livello principale e il codice dello standard di apprendimento.

Tieni presente che gli insegnanti possono anche aggiungere tag delle competenze ai compiti e ai materiali nell'UI di Classroom. I tag delle competenze non sono accessibili nell'API.

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

Dati simili vengono restituiti con le risposte Rubric, contenenti un learningGoal per criterio.