Mengelola sasaran pembelajaran

Pengguna dapat menetapkan sasaran pembelajaran untuk kursus dan tugas di Google Classroom. Sasaran pembelajaran yang sama juga ditampilkan di Classroom API. Anda dapat menetapkan, mengambil, dan mengubah set standar pembelajaran di resource Course dan sasaran pembelajaran di resource CourseWork dan Rubric. Panduan ini menjelaskan cara mengakses dan mengubah sasaran pembelajaran dan set standar menggunakan Classroom API.

Cara kerjanya

Sumber data

Sasaran pembelajaran di Classroom mengandalkan ID unik global (GUID) stabil yang disediakan oleh Satchel Rosetta Exchange (sebelumnya CASE Network). Standar di Exchange diatur ke dalam hierarki node, dengan node akar sebagai set standar komprehensif untuk mata pelajaran tertentu dan node turunan yang menjelaskan hasil pembelajaran yang semakin spesifik. ID untuk node apa pun dengan kode standar atau node akhir dalam jaringan dapat ditetapkan sebagai sasaran pembelajaran di CourseWork, sedangkan node non-akhir dapat ditetapkan sebagai set standar pembelajaran di Course.

  • Set standar pembelajaran untuk resource Course mewakili grup standar yang muncul di UI Classroom saat pengajar memberi tag pada sasaran pembelajaran.
  • Sasaran pembelajaran yang dilampirkan ke resource CourseWork, CourseWorkMaterial, atau Rubric mewakili standar atau keterampilan yang terkait dengan tugas, pertanyaan, materi, atau kriteria rubrik tertentu.

Google menggunakan lima informasi dari Satchel Rosetta Exchange:

  • ID Dokumen: GUID untuk node tingkat akar. ID ini cocok dengan penampung standar tingkat atas dan umum untuk semua node turunan.
  • Judul Dokumen: Nama dokumen standar lengkap yang dapat dibaca manusia.
  • ID Item: GUID untuk satu standar (yaitu, node non-akar).
  • Judul Standar: Teks deskriptif yang dapat dibaca manusia untuk satu standar.
  • Kode Standar: Singkatan yang dapat dibaca manusia untuk standar tertentu.

Menemukan nilai untuk standar dan sasaran

Untuk memahami tempat menemukan nilai ini, pertimbangkan contoh standar Matematika dari New York State. Mulai dari node akar:

Tampilan node root saat dipilih di Satchel Rosetta Exchange Gambar 1: Tampilan node akar saat dipilih di Satchel Rosetta Exchange. Gambar ini menampilkan judul dokumen dan ID dokumen, yang umum untuk semua node di halaman ini.

Dari tampilan di Gambar 1, Anda dapat mengekstrak nilai berikut:

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

Untuk mendapatkan nilai untuk standar individual, klik standar dan luaskan metadatanya:

Tampilan metadata node non-root saat dipilih di Satchel Rosetta Exchange Gambar 2: Tampilan metadata node non-akar saat dipilih di Satchel Rosetta Exchange. Gambar ini menampilkan ID item, kode standar, dan judul standar. Nilai ini khusus untuk standar ini saja.

Dari tampilan di Gambar 2, Anda dapat menemukan nilai berikut:

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

Perhatikan bahwa ID dokumen dan item juga dapat diekstrak dari URL Satchel Rosetta Exchange setiap node. URL ini mengikuti pola https://rosetta.commongoodlt.com/{document_id}/{item_id}.

Jumlah maksimum item tertaut

  • Setiap Course dapat memiliki maksimal 5 set standar pembelajaran.
  • Setiap CourseWork dapat memiliki maksimal 10 sasaran pembelajaran.
  • Setiap Criterion Rubrik dapat memiliki 1 sasaran pembelajaran.

Mengelola set standar pembelajaran Kursus

Mengubah set standar pembelajaran

Untuk mengubah set standar pembelajaran Course, isi kolom Course.learningStandardSettings dengan objek standardSets. Setiap standardSet harus berisi objek caseGuid, yang mencakup caseDocumentId dan secara opsional caseItemId.

Anda dapat menambahkan set standar pembelajaran menggunakan permintaan mutasi Course apa pun, seperti courses.create() atau courses.patch() dengan mask update learningStandardSettings.

Contoh berikut menetapkan dua set standar pada kursus yang ada.

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

Mengambil set standar pembelajaran

Untuk melihat set standar pembelajaran kursus saat ini, periksa kolom Course.learningStandardSettings. Kolom ini berisi serangkaian objek standardSets, dan dapat kosong jika tidak ada set standar pembelajaran di kursus.

Perhatikan bahwa setiap standardSet dalam respons berisi deskripsi standar dan judul dokumen akarnya. Teks ini juga muncul untuk pengajar dan siswa di UI Classroom. Anda juga akan menerima sourceDataAvailabilityStatus, yang menunjukkan apakah standar tersedia di 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"
    }]
  }
}

Mengelola sasaran pembelajaran CourseWork dan Rubrik

Mengubah sasaran pembelajaran

Sasaran pembelajaran dapat dilampirkan ke CourseWork, CourseWorkMaterial, dan resource Criterion Rubrik dalam permintaan mutasi apa pun. Tetapkan ID dokumen dan item di kolom CourseWork.learningGoals atau Rubric.Criterion.learningGoal. ID ini sama dengan ID yang dijelaskan sebelumnya.

Perhatikan bahwa sasaran pembelajaran yang dilampirkan ke kriteria Rubric harus sudah dilampirkan ke tugas yang ditautkan ke Rubric.

Contoh berikut membuat tugas CourseWork dengan dua sasaran pembelajaran terlampir.

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

Contoh berikut membuat Rubric dengan sasaran pembelajaran yang dilampirkan ke setiap kriteria.

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

Mengambil sasaran pembelajaran

Untuk melihat sasaran pembelajaran saat ini pada tugas, pertanyaan, atau materi, periksa kolom CourseWork.learningGoals. Setiap objek sasaran pembelajaran berisi judul dokumen tingkat akar dan kode standar pembelajaran.

Perhatikan bahwa pengajar juga dapat menambahkan tag keterampilan ke tugas kelas dan materi di UI Classroom. Tag keterampilan tidak dapat diakses di 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)."
    }]
}

Data serupa ditampilkan dengan respons Rubric, yang berisi satu learningGoal per kriteria.