Administra los objetivos de aprendizaje

Los usuarios pueden establecer objetivos de aprendizaje para los cursos y las tareas en Google Classroom. Los mismos objetivos de aprendizaje también se exponen en la API de Classroom. Puedes establecer, recuperar y modificar conjuntos de estándares de aprendizaje en los recursos de Course y objetivos de aprendizaje en los recursos de CourseWork y Rubric. En esta guía, se describe cómo acceder a los objetivos de aprendizaje y a los conjuntos de estándares, y cómo modificarlos con la API de Classroom.

Cómo funciona

Fuente de datos

Los objetivos de aprendizaje en Classroom se basan en identificadores únicos globales (GUID) estables proporcionados por Satchel Rosetta Exchange (anteriormente, CASE Network). Los estándares de Exchange se organizan en árboles de nodos, en los que la raíz es un conjunto de estándares integral para un tema en particular y los nodos secundarios describen resultados de aprendizaje cada vez más específicos. El identificador de cualquier nodo con un código estándar o un nodo hoja en la red se puede establecer como objetivo de aprendizaje en un CourseWork, mientras que cualquier nodo que no sea hoja se puede establecer como un estándar de aprendizaje en un Course.

  • Los conjuntos de estándares de aprendizaje para un recurso Course representan el grupo de estándares que aparecen en la IU de Classroom cuando los profesores etiquetan objetivos de aprendizaje.
  • Los objetivos de aprendizaje adjuntos a un recurso de CourseWork, CourseWorkMaterial o Rubric representan el estándar o las habilidades asociadas con esa tarea, pregunta, material o criterio de rúbrica específico.

Google usa cinco elementos de información de Satchel Rosetta Exchange:

  • ID del documento: Es un GUID para un nodo de nivel raíz. Este ID coincide con un contenedor de estándares de nivel superior y es común a todos los nodos secundarios.
  • Título del documento: Es el nombre legible de todo el documento estándar.
  • ID del elemento: Es un GUID para un solo estándar (es decir, un nodo que no es raíz).
  • Título estándar: Es el texto descriptivo legible de un estándar único.
  • Código estándar: Es una abreviatura legible de un estándar específico.

Cómo encontrar valores para los estándares y los objetivos

Para comprender dónde encontrar estos valores, considera un ejemplo del estándar de matemáticas del estado de Nueva York. Comienza en el nodo raíz:

Vista de un nodo raíz cuando se selecciona en Satchel Rosetta Exchange Figura 1: Vista de un nodo raíz cuando se selecciona en Satchel Rosetta Exchange. Aquí se muestran el título y el ID del documento, que son comunes a todos los nodos de esta página.

En la vista de la Figura 1, puedes extraer los siguientes valores:

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

Para obtener los valores de un estándar individual, haz clic en él y expande sus metadatos:

Vista de los metadatos de un nodo que no es raíz cuando se selecciona en Satchel Rosetta Exchange Figura 2: Vista de los metadatos de un nodo que no es raíz cuando se selecciona en Satchel Rosetta Exchange. Aquí se muestran el ID de artículo, el código estándar y el título estándar. Estos valores son específicos solo para este estándar.

En la vista de la Figura 2, puedes encontrar los siguientes valores:

  • ID de artículo: 70d64c79-d7cc-11e8-824f-0242ac160002
  • Título estándar: Understand that the digits of a three-digit number represent amounts of hundreds, tens, and ones.
  • Código estándar: NY-2.NBT.4

Ten en cuenta que los IDs de documentos y elementos también se pueden extraer de la URL de Satchel Rosetta Exchange de cada nodo. Estas URLs siguen el patrón https://rosetta.commongoodlt.com/{document_id}/{item_id}.

Cantidad máxima de elementos vinculados

  • Cada Course puede tener hasta 5 conjuntos de estándares de aprendizaje.
  • Cada CourseWork puede tener hasta 10 objetivos de aprendizaje.
  • Cada rúbrica Criterion puede tener 1 objetivo de aprendizaje.

Administra los conjuntos de estándares de aprendizaje del curso

Cómo modificar los conjuntos de estándares de aprendizaje

Para modificar los conjuntos de estándares de aprendizaje Course, propaga el campo Course.learningStandardSettings con objetos standardSets. Cada standardSet debe contener un objeto caseGuid, que incluye un caseDocumentId y, de manera opcional, un caseItemId.

Puedes agregar conjuntos de estándares de aprendizaje con cualquier solicitud de modificación Course, como courses.create() o courses.patch() con la máscara de actualización learningStandardSettings.

En el siguiente ejemplo, se establecen dos conjuntos estándar en un curso existente.

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

Recupera conjuntos de estándares de aprendizaje

Para ver los conjuntos de estándares de aprendizaje actuales de un curso, inspecciona el campo Course.learningStandardSettings. Este campo contiene una serie de objetos standardSets y puede estar vacío si no hay conjuntos de estándares de aprendizaje en el curso.

Ten en cuenta que cada standardSet de la respuesta contiene la descripción del estándar y el título del documento raíz. Estos textos también aparecen para los profesores y los estudiantes en la IU de Classroom. También recibes el sourceDataAvailabilityStatus, que indica si el estándar está disponible en 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"
    }]
  }
}

Administra los objetivos de aprendizaje de las rúbricas y los trabajos del curso

Modifica los objetivos de aprendizaje

Los objetivos de aprendizaje se pueden adjuntar a los recursos CourseWork, CourseWorkMaterial y de rúbrica Criterion en cualquier solicitud de mutación. Configura los identificadores de documentos y elementos en los campos CourseWork.learningGoals o Rubric.Criterion.learningGoal. Son los mismos identificadores que se describieron anteriormente.

Ten en cuenta que los objetivos de aprendizaje adjuntos a los criterios de Rubric ya deben haberse adjuntado a la tarea a la que está vinculado el Rubric.

En el siguiente ejemplo, se crea una tarea CourseWork con dos objetivos de aprendizaje adjuntos.

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

En el siguiente ejemplo, se crea un objeto Rubric con un objetivo de aprendizaje adjunto a cada 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')}")

Recupera objetivos de aprendizaje

Para ver los objetivos de aprendizaje actuales en una tarea, una pregunta o un material, inspecciona el campo CourseWork.learningGoals. Cada objeto de objetivo de aprendizaje contiene el título del documento de nivel raíz y el código del estándar de aprendizaje.

Ten en cuenta que los profesores también pueden agregar etiquetas de habilidades a los trabajos de curso y los materiales en la IU de Classroom. Las etiquetas de habilidad no están disponibles en la 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)."
    }]
}

Se devuelven datos similares con las respuestas de Rubric, que contienen un learningGoal por criterio.