如果课程采用加权评分,您可能需要在没有类别的情况下对权重进行归一化处理。例如,如果家庭作业、练习题和测验的类别权重分别为 20%、10% 和 70%,但实际上没有练习题,则 Google 课堂在计算总成绩时会将权重调整为:家庭作业约占 22%,测验约占 78%。如果您打算在应用中镜像显示 Google 课堂的总成绩,则需要执行相同的操作。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-08-01。"],[],[],null,["# Grades\n\nThis document introduces grading concepts relevant to the\nClassroom API.\n\nSee the [grade and track assignments](https://support.google.com/edu/classroom/topic/11987116) article to learn about the teacher grading\njourneys in the Google Classroom app.\n\nCourseWork and StudentSubmissions\n---------------------------------\n\nIn Google Classroom, students turn in [`StudentSubmissions`](/workspace/classroom/reference/rest/v1/courses.courseWork.studentSubmissions) for the\n[`CourseWork`](/workspace/classroom/reference/rest/v1/courses.courseWork) assignments in their [`Course`](/workspace/classroom/reference/rest/v1/courses). `CourseWork` can be graded or\nungraded. If a `CourseWork` is graded, it has a `maxPoints` value which\nrepresents how many total points the assignment is worth. If `maxPoints` is zero\nor unspecified, the assignment is ungraded.\n\nFor graded assignments, teachers set a `draftGrade` grade on the\n`StudentSubmission` before they return it to the student. When the submission is\nreturned in the Classroom app, an `assignedGrade` is set\nautomatically on the `StudentSubmission`, with the same value as the current\n`draftGrade`. Developers can set both of these fields, and must emulate the\nbehavior of the Classroom app. For example, an `assignedGrade`\ncan't be set without a `draftGrade`. Both fields are represented with decimals,\nand if unset, imply that the teacher has not yet set the corresponding grade.\nSee [create and manage grades](/workspace/classroom/guides/classroom-api/manage-grades) for code examples of reading, setting, and\nreturning grades.\n\nStudents can submit multiple submissions to the same `CourseWork` assignment,\nand submission state and grade history are tracked in\n`StudentSubmission.submissionHistory`.\n\nLate, excused, and missing CourseWork\n-------------------------------------\n\nWhen `CourseWork` items are assigned, placeholder `StudentSubmissions` are\ncreated for each student, even if the student hasn't interacted with the\ncorresponding assignment. Teachers can set a `dueDate` on the `CourseWork`, and\nassociated `StudentSubmissions` are marked with a `late` field (set to `true`)\nif the student does not turn in the assignment before the date. Teachers can\nalso [disable late submissions](https://workspaceupdates.googleblog.com/2023/07/disable-submissions-after-due-date-in-google-classroom.html) with a setting in the Classroom\napp.\n\nAdditionally, `StudentSubmissions` that aren't submitted before `dueDate` are\nannotated in the Classroom gradebook as being *missing* . Teachers\ncan also mark submissions as missing manually in the Classroom\napp. Missing assignments are\nautomatically given a `draftGrade`, which is customizable by the teacher but\ndefaults to 0.\n\nMissing submissions can be marked as *complete* or *excused* by the teacher.\n`StudentSubmissions` marked as complete have their default `draftGrade` field\nremoved until the teacher sets a new one manually. `StudentSubmissions` marked\nas excused are removed from [overall score calculations](#overall-grade), including [grading\nperiods](#grading-periods).\n| **Note:** The complete, missing, and excused states of `StudentSubmissions` are not distinctly identifiable in the API. If this behavior would affect your application, leave feedback in [this issue](https://issuetracker.google.com/issues/316938115) describing the impact on your use case.\n\nSee the [grade and return an assignment](https://support.google.com/edu/classroom/answer/6020294) help article to learn more about how\nsubmissions can be handled by teachers.\n\nOverall grade and grading systems\n---------------------------------\n\nClassroom supports multiple grading systems for calculating\nstudents' overall grades in course. Overall grades can be calculated directly\nfrom total points, weighted by category, or not calculated at all.\n\nSee the [set up grading](https://support.google.com/edu/classroom/answer/9184995) article to learn about the different grading systems\nwith examples.\n\n\u003cbr /\u003e\n\nSome key points:\n\n- The `Course` resource has a [`gradebookSettings`](/workspace/classroom/reference/rest/v1/courses#gradebooksettings) object with details about the course grade settings.\n - `calculationType` specifies the calculation method for the course.\n - `displaySettings` specifies who can see overall grades in the Classroom app. It's a best practice to respect this in your own application when possible. For example, if students can't see their overall grade in Classroom, don't show it to them in your app.\n - `gradeCategories` contains a list of the grading categories configured for the course, including their display names, weighting percentage, and default points for corresponding assignments.\n- If a course uses weighted grading, you might need to normalize the weights in scenarios where a category is not present. For example, if category weights were 20% for homework, 10% for practice problems, and 70% for quizzes, but no practice problems were actually present, Classroom adjusts the weights to \\~22% for homework and \\~78% for quizzes when calculating overall grades. If you intend to mirror Classroom overall grades in your application, you'd need to do the same.\n\nGrading periods\n---------------\n\nTeachers can group `CourseWork` assignments in a course into distinct date\nranges called *grading periods*. The grading periods can be used to filter\ncoursework in the gradebook view and create distinct buckets for overall grade\ncalculations.\n\nFor example, a teacher might create \"spring\" and \"fall\" semester grading\nperiods. The overall grade score for the spring period would only include\n`StudentSubmissions` due in the spring date range.\n\nThe grading system set for the course extends to the grading periods. So if the\naforementioned spring and fall example grading periods were set on a course that\nused weighted grading categories, there would ultimately be three sets of\noverall grades for students:\n\n- The overall grade for *all* assignments in the course.\n- The overall grade for all the assignments in the spring date range.\n- The overall grade for all the assignments in the fall date range.\n\nAll three would calculate the overall grade with weighted categories.\n\nSee the [grading periods announcement](https://workspaceupdates.googleblog.com/2023/05/grading-periods-google-classroom.html) to get an overview of the feature.\n\nGrading periods extend `CourseWork` with a `gradingPeriodId` which identifies\nthe grading period that the assignment falls into.\n\nSee the [grading periods API guide](/workspace/classroom/grading-periods/manage-grading-periods) to learn how to read and manage grading\nperiods with the API.\n\nRubrics\n-------\n\nTeachers can create and associate `Rubrics` with `CourseWork` assignments, and\nuse these rubrics as a guide when grading corresponding `StudentSubmissions`.\n\nSee the [rubrics article](https://support.google.com/edu/classroom/answer/9335069) to learn how teachers can use rubrics in\nClassroom.\n\nRubrics extend the `StudentSubmissions` resource with additional fields:\n\n- `rubricId` identifies the rubric that corresponds to the submission's `CourseWork`.\n- `draftRubricGrades` represents the criteria and placeholder scores the teacher has drafted before returning the submission to the student.\n- `assignedRubricGrades` represents the criteria and scores the student receives after the teacher returns the submission.\n\nSee the [rubrics API guide](/workspace/classroom/rubrics/getting-started) for how to manage rubrics and read related grades\nwith the API.\n\nGrading scales\n--------------\n\nClassroom supports customizable [grading scales](https://workspaceupdates.googleblog.com/2023/08/expanding-grading-systems-in-google-classroom.html), for example,\nallowing teachers to translate numeric grades into letter grades. These settings\nand corresponding data aren't available in the API."]]