Użytkownicy mogą ustawiać cele edukacyjne dla zajęć i projektów w Google Classroom.
Te same cele edukacyjne są też dostępne w interfejsie Classroom API. Możesz
ustawiać, pobierać i modyfikować zestawy standardów nauczania w zasobach Course
oraz cele edukacyjne w zasobach CourseWork i
Rubric. Z tego przewodnika dowiesz się, jak uzyskiwać dostęp do celów edukacyjnych i zestawów standardów oraz jak je modyfikować za pomocą interfejsu Classroom API.
Jak to działa
Źródło danych
Cele edukacyjne w Classroom korzystają ze stabilnych, globalnie unikalnych identyfikatorów (GUID)
udostępnianych przez Satchel Rosetta Exchange
(wcześniej CASE Network). Standardy w Exchange są uporządkowane w drzewa węzłów, gdzie węzeł główny to kompleksowy zestaw standardów dla danego przedmiotu, a węzły podrzędne opisują coraz bardziej szczegółowe efekty uczenia się. Identyfikator dowolnego węzła z kodem standardu lub węzła liścia w sieci można ustawić jako cel edukacyjny w CourseWork, a dowolny węzeł niebędący liściem można ustawić jako zestaw standardów nauczania w Course.
- Zestawy standardów nauczania dla zasobu
Coursereprezentują grupę standardów, które pojawiają się w interfejsie Classroom, gdy nauczyciele oznaczają cele edukacyjne. - Cele edukacyjne powiązane z zasobem
CourseWork,CourseWorkMateriallubRubricreprezentują standard lub umiejętności powiązane z tym projektem, pytaniem, materiałem lub konkretnym kryterium oceny.
Google używa 5 informacji z Satchel Rosetta Exchange:
- Identyfikator dokumentu: GUID węzła najwyższego poziomu. Ten identyfikator odpowiada kontenerowi standardów najwyższego poziomu i jest wspólny dla wszystkich węzłów podrzędnych.
- Tytuł dokumentu: czytelna dla użytkownika nazwa całego dokumentu standardu.
- Identyfikator produktu: GUID pojedynczego standardu (czyli węzła niebędącego węzłem głównym).
- Tytuł standardu: czytelny dla użytkownika tekst opisujący pojedynczy standard.
- Kod standardu: czytelny dla użytkownika skrót określonego standardu.
Znajdowanie wartości standardów i celów
Aby dowiedzieć się, gdzie znaleźć te wartości, rozważmy przykład standardu matematycznego ze stanu Nowy Jork. Zacznij od węzła głównego:
Rysunek
1: widok węzła głównego po wybraniu go w Satchel Rosetta Exchange. Widoczny jest tytuł dokumentu i identyfikator dokumentu, które są wspólne dla wszystkich węzłów na tej stronie.
Z widoku na rysunku 1 możesz wyodrębnić te wartości:
- Identyfikator dokumentu:
c649d172-d7cb-11e8-824f-0242ac160002 - Tytuł dokumentu:
New York State Next Generation Mathematics Learning Standards
Aby uzyskać wartości dla poszczególnych standardów, kliknij standard i rozwiń jego metadane:
Rysunek
2: widok metadanych węzła niebędącego węzłem głównym po wybraniu go w Satchel Rosetta
Exchange. Widoczny jest identyfikator produktu, kod standardu i tytuł standardu. Te wartości są specyficzne tylko dla tego standardu.
Z widoku na rysunku 2 możesz znaleźć te wartości:
- Identyfikator produktu:
70d64c79-d7cc-11e8-824f-0242ac160002 - Tytuł standardu:
Understand that the digits of a three-digit number represent amounts of hundreds, tens, and ones. - Kod standardu:
NY-2.NBT.4
Pamiętaj, że identyfikatory dokumentów i produktów można też wyodrębnić z adresu URL Satchel Rosetta Exchange każdego węzła. Te adresy URL mają postać https://rosetta.commongoodlt.com/{document_id}/{item_id}.
Maksymalna liczba powiązanych elementów
- Każdy
Coursemoże mieć maksymalnie 5 zestawów standardów nauczania. - Każdy
CourseWorkmoże mieć maksymalnie 10 celów edukacyjnych. - Każde
Criterionkryteria oceny mogą mieć 1 cel edukacyjny.
Zarządzanie zestawami standardów nauczania w zajęciach
Modyfikowanie zestawów standardów nauczania
Aby zmodyfikować Course zestawy standardów nauczania, wypełnij
Course.learningStandardSettings pole obiektami standardSets. Każdy standardSet musi zawierać obiekt caseGuid, który obejmuje caseDocumentId i opcjonalnie caseItemId.
Zestawy standardów nauczania możesz dodawać za pomocą dowolnego Course żądania mutacji, np.
courses.create() lub courses.patch() z
maską aktualizacji learningStandardSettings.
Ten przykład ustawia 2 zestawy standardów w istniejących zajęciach.
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')}")
Pobieranie zestawów standardów nauczania
Aby zobaczyć bieżące zestawy standardów nauczania zajęć, sprawdź pole Course.learningStandardSettings. To pole zawiera serię obiektów standardSets i może być puste, jeśli w zajęciach nie ma zestawów standardów nauczania.
Pamiętaj, że każdy standardSet w odpowiedzi zawiera opis standardu i tytuł jego dokumentu głównego. Te teksty są też widoczne dla nauczycieli i uczniów w interfejsie Classroom. Otrzymujesz też sourceDataAvailabilityStatus, który wskazuje, czy standard jest dostępny w 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"
}]
}
}
Zarządzanie celami edukacyjnymi w materiałach dydaktycznych i kryteriach oceny
Modyfikowanie celów edukacyjnych
Cele edukacyjne można dołączać do zasobów CourseWork, CourseWorkMaterial i Criterion kryteriów oceny w dowolnym żądaniu modyfikacji. Ustaw identyfikatory dokumentów i produktów w polach CourseWork.learningGoals lub Rubric.Criterion.learningGoal. Są to
te same identyfikatory, które zostały opisane wcześniej.
Pamiętaj, że cele edukacyjne dołączone do kryteriów Rubric muszą być już dołączone do projektu, z którym jest powiązana Rubric.
Ten przykład tworzy projekt CourseWork z 2 dołączonymi celami edukacyjnymi.
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')}")
Ten przykład tworzy Rubric z celem edukacyjnym dołączonym do każdego kryterium.
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')}")
Pobieranie celów edukacyjnych
Aby zobaczyć bieżące cele edukacyjne w projekcie, pytaniu lub materiale, sprawdź pole CourseWork.learningGoals. Każdy obiekt celu edukacyjnego zawiera tytuł dokumentu głównego i kod standardu nauczania.
Pamiętaj, że nauczyciele mogą też dodawać tagi umiejętności do projektów i materiałów w interfejsie Classroom. Tagi umiejętności nie są dostępne w interfejsie 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)."
}]
}
Podobne dane są zwracane w odpowiedziach Rubric, które zawierają 1 learningGoal na kryterium.