사용자는 Google 클래스룸에서 과정 및 과제의 학습 목표를 설정할 수 있습니다.
동일한 학습 목표가 클래스룸 API에도 노출됩니다. `Course` 리소스에서 학습 표준 세트를 설정, 검색, 수정하고 `CourseWork` 및
`Rubric` 리소스에서 학습 목표를 설정, 검색, 수정할 수 있습니다.CourseCourseWorkRubric 이 가이드에서는 클래스룸 API를 사용하여 학습 목표 및 표준 세트에 액세스하고 수정하는 방법을 설명합니다.
작동 방식
데이터 소스
클래스룸의 학습 목표는 Satchel Rosetta Exchange (이전의 CASE 네트워크)에서 제공하는 안정적인 전역 고유 식별자(GUID)를 사용합니다. Exchange의 표준은 노드 트리로 구성되며, 여기서 루트는 특정 과목의 포괄적인 표준 모음이고 하위 노드는 점진적으로 더 구체적인 학습 결과를 설명합니다. 네트워크에서 표준 코드 또는 리프 노드가 있는 노드의 식별자는 CourseWork의 학습 목표로 설정할 수 있으며, 리프 노드가 아닌 노드는 Course의 학습 표준 모음으로 설정할 수 있습니다.
Course리소스의 학습 표준 세트는 교사가 학습 목표에 태그를 지정할 때 클래스룸 UI에 표시되는 표준 그룹을 나타냅니다.CourseWork,CourseWorkMaterial또는Rubric리소스에 연결된 학습 목표는 해당 과제, 질문, 자료 또는 특정 기준표 기준과 연결된 표준 또는 역량을 나타냅니다.
Google은 Satchel Rosetta Exchange의 다음 5가지 정보를 사용합니다.
- 문서 ID: 루트 수준 노드의 GUID입니다. 이 ID는 최상위 표준 컨테이너와 일치하며 모든 하위 노드에 공통됩니다.
- 문서 제목: 전체 표준 문서의 사람이 읽을 수 있는 이름입니다.
- 상품 ID: 단일 표준 (즉, 루트가 아닌 노드)의 GUID입니다.
- 표준 제목: 단일 표준의 사람이 읽을 수 있는 설명 텍스트입니다.
- 표준 코드: 특정 표준의 사람이 읽을 수 있는 약어입니다.
표준 및 목표의 값 찾기
이러한 값을 찾을 수 있는 위치를 이해하려면 뉴욕주의 수학 표준 예를 살펴보세요. 루트 노드에서 시작합니다.
그림
1: Satchel Rosetta Exchange에서 선택한 루트 노드의 뷰 이 페이지의 모든 노드에 공통되는 문서 제목과 문서 ID를 보여줍니다.
그림 1의 뷰에서 다음 값을 추출할 수 있습니다.
- 문서 ID:
c649d172-d7cb-11e8-824f-0242ac160002 - 문서 제목:
New York State Next Generation Mathematics Learning Standards
개별 표준의 값을 가져오려면 표준을 클릭하고 메타데이터를 펼칩니다.
그림
2: Satchel Rosetta
Exchange에서 선택한 루트가 아닌 노드의 메타데이터 뷰 상품 ID, 표준 코드, 표준 제목을 보여줍니다. 이러한 값은 이 표준에만 해당됩니다.
그림 2의 뷰에서 다음 값을 찾을 수 있습니다.
- 항목 ID:
70d64c79-d7cc-11e8-824f-0242ac160002 - 표준 제목:
Understand that the digits of a three-digit number represent amounts of hundreds, tens, and ones. - 표준 코드:
NY-2.NBT.4
문서 및 항목 ID는 각 노드의 Satchel Rosetta Exchange URL에서도 추출할 수 있습니다. 이러한 URL은 https://rosetta.commongoodlt.com/{document_id}/{item_id} 패턴을 따릅니다.
연결된 항목 최대 개수
- 각
Course에는 최대 5개의 학습 표준 세트가 있을 수 있습니다. - 각
CourseWork에는 최대 10개의 학습 목표가 있을 수 있습니다. - 각 기준표
Criterion에는 1개의 학습 목표가 있을 수 있습니다.
과정 학습 표준 세트 관리
학습 표준 세트 수정
Course 학습 표준 세트를 수정하려면
Course.learningStandardSettings 필드를 standardSets 객체로 채웁니다. 각 standardSet에는 caseDocumentId와 선택적으로 caseItemId를 포함하는 caseGuid 객체가 포함되어야 합니다.
learningStandardSettings 업데이트 마스크를 사용하여 Course 변형 요청(예:
courses.create() 또는 courses.patch())을 사용하여 학습 표준 세트를 추가할 수 있습니다.
다음 예에서는 기존 과정에 두 개의 표준 세트를 설정합니다.
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')}")
학습 표준 세트 검색
과정의 현재 학습 표준 세트를 보려면 Course.learningStandardSettings 필드를 검사합니다. 이 필드에는 일련의 standardSets 객체가 포함되어 있으며, 과정에 학습 표준 세트가 없는 경우 비어 있을 수 있습니다.
응답의 각 standardSet에는 표준의 설명과 루트 문서 제목이 포함됩니다. 이 텍스트는 클래스룸 UI에서 교사와 학생에게도 표시됩니다. 또한 표준이 Satchel Rosetta Exchange에서 제공되는지 여부를 나타내는 sourceDataAvailabilityStatus도 수신합니다.
{
"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"
}]
}
}
CourseWork 및 기준표 학습 목표 관리
학습 목표 수정
학습 목표는 변형 요청에서 CourseWork,
CourseWorkMaterial, 기준표 Criterion
리소스에 연결할 수 있습니다. CourseWork.learningGoals 또는 Rubric.Criterion.learningGoal 필드에서 문서 및 항목 식별자를 설정합니다. 이러한 식101별자는 앞에서 설명한 것과 동일합니다.
Rubric 기준에 연결된 학습 목표는 Rubric이 연결된 과제에 이미 연결되어 있어야 합니다.
다음 예에서는 연결된 학습 목표가 두 개인 CourseWork 과제를 만듭니다.
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')}")
다음 예에서는 각 기준에 연결된 학습 목표가 있는 Rubric을 만듭니다.
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')}")
학습 목표 검색
과제, 질문 또는 자료의 현재 학습 목표를 보려면 CourseWork.learningGoals 필드를 검사합니다. 각 학습 목표 객체에는 루트 수준 문서 제목과 학습 표준 코드가 포함되어 있습니다.
교사는 클래스룸 UI에서 수업 과제 및 자료에 역량 태그를 추가할 수도 있습니다. 역량 태그는 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)."
}]
}
기준당 하나의 learningGoal을 포함하는 유사한 데이터가 Rubric 응답과 함께 반환됩니다.