# Add grading criteria

> A rubric on an activity defines how that question is scored. After you click Create Rubric, add one or more items:

Source: https://www.curacourse.com/help/add-rubric-items-manual-ai-and-code-grading

## At a glance

A **rubric** on an activity defines how that question is scored. After you click **Create Rubric**, add one or more items:

- **Manual Score** — you award points in Lightning Grader.
- **AI Grading** — an AI model scores the response against your criteria.
- **Code Grading** — the sandbox runs the learner’s code and compares output (Code Editor only).

Creating a rubric does not add any items by itself. You must add at least one item.

This is different from **Score modifiers** in Lightning Grader (bonuses and deductions for the whole lesson). The grader button labeled **Add Rubric Item** opens a modifier, not a lesson-editor rubric item.

## Prerequisites

- Lesson **edit** mode.
- An activity that supports rubrics (see the table below).

## Which activities support which items

Multiple-choice, multiple-select, fill-in-the-blank, and similar blocks use built-in autograding. They do not have a rubric section.

| Activity | Manual Score | AI Grading | Code Grading |
| --- | --- | --- | --- |
| Open Response Question | Yes | Yes | No |
| File upload | Yes | Yes | No |
| AI Chat Activity | Yes | Yes | No |
| Code Editor | Yes | Yes | Yes |
| Graphing Question | Yes | No | No |

## Create the rubric

1. In the lesson editor, select the activity.
2. At the bottom of the block, click **Create Rubric**. The button disappears once a rubric exists.
3. A **Rubric** section appears with an empty **Rubric Group**.
4. Add items:
   
   
   
   - If only one type is available, click **Add Manual Score**.
   - If several types are available, click **Add rubric item** and choose **Manual Score**, **AI Grading**, or **Code Grading**.
5. You can add several items in the same group (for example, code tests plus an AI style criterion on a Code Editor).
6. Use each item’s menu for **Copy**, **Paste**, **Duplicate**, or delete. **Delete Rubric** on the rubric header removes the whole rubric.

## Manual Score

Use this when a person should judge the work.

1. Add **Manual Score**.
2. Set **Points** (0–1000).
3. In **Criterion**, name what you are scoring (the placeholder is **Manual Score**).

On submit, the item is not autograded. Learners see **This will be manually graded by your instructor** until you score it (and grades are released). In [Lightning Grader](https://www.curacourse.com/help/grade-a-lesson-with-lightning-grader), click the score (`- / N`) and enter points.

On graphing questions, a **Graph match** row can appear next to Manual Score when a model solution exists.

## AI Grading

Use this when you want the model to score written work, uploads, chat, or submitted code against a rubric.

1. Add **AI Grading**.
2. Set **Weight** (this is the item’s points; it also creates score levels from 0 through that number).
3. Enter a **Criterion Name** (placeholder: *Example: Accuracy*).
4. Open **Grading Context** and describe course norms, partial-credit policy, and how to handle ambiguity. Put shared context on the **first** AI item in the group; later items can add more.
5. Optionally add **Keywords** the model should look for (they influence emphasis; they are not all-or-nothing checks). Type a term and press Enter.
6. Under **Scoring Criterion**, describe what a response looks like at **0 pts**, **1 pt**, and so on. Click **Info** in the editor for the full strategy list, or see **Best practices for AI grading**.

All AI items in the same rubric group are graded in one pass. Learners see the score and student-facing feedback when grades are released. Instructors also see private **Instructor Info** notes. AI rows in Lightning Grader are autograded (not click-to-edit); use [score modifiers](https://www.curacourse.com/help/score-modifiers-bonuses-and-deductions) or general feedback if you need to adjust the lesson total.

AI Chat activities also have a separate built-in **Autograde** panel (participation / objectives). That is not the same as a rubric AI item.

## Code Grading

Use this on a **Code Editor** to autograde by running code.

1. Add **Code Grading**.
2. Set **Points** and a **Title** (optional **Description** is authoring-only).
3. Confirm **Environment** is **Same as Starter Code**.
4. Set **Run command** so it matches the files learners actually submit (defaults are like `python3 main.py` or `javac Main.java && java Main`).
5. Enter **Input** (stdin; one value per line) and **Expected Output**.
6. Choose **Ignore Case**, **Ignore Whitespace**, **Comparison Method** (**Exact match**, **Regex**, or **Partial match**), and whether to **Show diff of actual output and expected output**.
7. Optionally **Add File** under **Files** for a hidden test harness. At grade time, files merge in this order: student → course library → rubric files (later wins).
8. Click **Run Test** in the editor to preview before learners submit.

A passing run awards full item points. A failing comparison, a non-zero exit code, any stderr, a timeout (30 seconds), or no submitted files scores 0. See **Best practices for code grading** for how to write reliable tests.

Code-grading rows in Lightning Grader are autograded. You can still combine them with Manual Score or AI Grading in the same rubric.

## Related articles

- [Rubrics & scoring modes](https://www.curacourse.com/help/rubrics)
- [Grade a lesson with Lightning Grader](https://www.curacourse.com/help/grade-a-lesson-with-lightning-grader)
- [Score Modifiers: bonuses and deductions](https://www.curacourse.com/help/score-modifiers-bonuses-and-deductions)
- [Course blocks: code editor library](https://www.curacourse.com/help/course-blocks-code-editor-library)
- [Best practices for AI grading](https://www.curacourse.com/help/best-practices-for-ai-grading)
- [Best practices for code grading](https://www.curacourse.com/help/best-practices-for-code-grading)

