Gestire gli obiettivi di apprendimento

Gli utenti possono impostare obiettivi di apprendimento per corsi e compiti in Google Classroom. Gli stessi obiettivi di apprendimento sono esposti anche nell'API Classroom. Puoi impostare, recuperare e modificare i set di standard di apprendimento nelle risorse Course e gli obiettivi di apprendimento nelle risorse CourseWork 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 in Exchange sono organizzati in alberi di nodi, in cui la radice è un set di standard completo per una materia specifica e i nodi secondari descrivono risultati di apprendimento progressivamente più specifici. L' identificatore di qualsiasi nodo con un codice standard o un nodo foglia nella rete può essere impostato come obiettivo di apprendimento in un CourseWork, mentre qualsiasi nodo non foglia può essere impostato come set di standard di apprendimento in un Course.

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

Google utilizza cinque informazioni da 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 documento: il nome leggibile dell'intero documento standard.
  • ID articolo: un GUID per un singolo standard (ovvero un nodo non radice).
  • Titolo standard: il testo descrittivo leggibile di un singolo standard.
  • Codice standard: un'abbreviazione leggibile per uno standard specifico.

Trovare i valori per standard e obiettivi

Per capire dove trovare questi valori, prendi in considerazione un esempio di 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 radice quando è 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 radice quando è selezionato in Satchel Rosetta Exchange. Vengono visualizzati 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 l'ID documento e l'ID articolo possono essere estratti anche dall'URL di Satchel Rosetta Exchange di ogni nodo. Questi URL seguono il pattern https://rosetta.commongoodlt.com/{document_id}/{item_id}.

Numero massimo di articoli collegati

  • Ogni Course può avere fino a 5 set di standard di apprendimento.
  • Ogni CourseWork può avere fino a 10 obiettivi di apprendimento.
  • Ogni Criterion della griglia può avere 1 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 Course richiesta di modifica, ad esempio courses.create() o courses.patch() con la maschera di aggiornamento learningStandardSettings.

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

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

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 non sono presenti set di standard di apprendimento nel corso.

Tieni presente che ogni standardSet nella risposta contiene la descrizione dello standard e il titolo del documento radice. Questi testi vengono visualizzati anche per insegnanti e studenti nell'interfaccia utente di Classroom. Ricevi anche sourceDataAvailabilityStatus, che indica se lo standard è disponibile in 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"
    }]
  }
}

Gestire gli obiettivi di apprendimento di CourseWork e della griglia

Modificare gli obiettivi di apprendimento

Gli obiettivi di apprendimento possono essere collegati alle risorse CourseWork, CourseWorkMaterial e Criterion della griglia 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 collegati ai criteri della Rubric devono essere già stati collegati al compito a cui è collegata la Rubric.

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

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

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

Recuperare gli obiettivi di apprendimento

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

Tieni presente che gli insegnanti possono anche aggiungere tag di competenze ai lavori del corso e ai materiali nell'interfaccia utente di Classroom. I tag di competenze non sono accessibili nell'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)."
    }]
}

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