Semantic and AI grading

Tests pass.
Is the code right?

Unit tests show whether code works. Alps also shows how the code was written, and AI grading scores code and short answers against a rubric.

Semantic checks work on Python and Java. Checks highlight the lines they matched, so you can see the reason behind a result and change the score if you disagree.

The unit test passes and the activity is marked correct. Rubriq shows 5 of 6 checks passed.
What the test missed

One submission, six checks

This dateFashion method passes its only unit test. But the test never tries the case where an 8 should count as very stylish. The Rubriq tab checks the code itself:

  • Semantic checks are the first two rows. Each one passes or misses a rule about how the method is built.
  • AI grading rows have a lavender edge. Each scores one rubric criterion and adds a line of feedback. One catches > 8 where the rule needs >= 8.
  • Best practice is a tip. It doesn’t count as a check.

The tab counts checks passed. It isn’t a point score. Semantic checks work on Python and Java. AI grading covers other languages too.

Five of six checks pass. The failed AI criterion explains the bug and how to fix it.
Evidence

See the code behind each check

Click a row with the highlighter icon, and Alps highlights the matching code in the student’s editor. Check a result against the work before you rely on it. To see how the code came together, replay it with Process Insights.

  • A failed criterion has no code to point to, so its feedback explains the fix
  • Semantic checks never change a grade
  • Rubriq reminds you that AI can make mistakes and its results should be double-checked
DateStylishness.java
public class DateStylishness
{
public static int dateFashion(int you, int date)
{
if (you <= 2 || date <= 2) {
return 0;
} else if (you > 8 || date > 8) {
return 2;
} else {
return 1;
}
}
Click rows with the highlighter to see evidence.
The 'very stylish' rule is implemented but uses the wrong comparison. You wrote `you > 8 || date > 8`, which misses the boundary value 8. Change this to `you >= 8 || date >= 8` so that an 8 counts as 'very stylish' (e.g. dateFashion(8, 5) should return 2).
Try it: click a row with the highlighter icon.
Short answers

Written answers, graded by criterion

AI grading scores each short answer against a rubric generated for the question. Every criterion gets a check, a partial mark, or an X, with its own feedback. You also get a summary of the whole answer.

  • An answer is correct when it scores 80% or more on its rubric
  • You can change the score at any time
  • Short answers are graded after the student submits
Four criteria, each with its own mark and feedback, plus a summary for the teacher.
Review

See the whole class, then each student

The Submissions tab shows each student’s status, score, and LMS sync. A sparkle marks AI feedback that’s ready for you to review.

Scores, LMS sync, and AI feedback for the whole class in one list.
Open a submission to see which activities are correct and which have AI feedback to review.
You decide

You have the final say on every grade

Change a score and Alps marks it manually graded. Automatic regrading never overwrites it. If your class is linked to Google Classroom or your LMS, the new score goes to the gradebook too.

  • Changed your mind? Revert, and Alps regrades the activity automatically, AI grading included
  • A pencil in the class list marks scores that include a manual grade
A manual grade is protected from automatic regrading.
Alps asks before reverting, then regrades the activity.

How Alps decides a grade

The same rules apply to every activity.

Code grades itself

Unit tests run the moment a student submits. Every test has to pass, and code that doesn’t run is incorrect. Python and Java also get checks on how the code is written, which never change a grade.

Rubrics grade the rest

Short answers and code with no automatic result are correct at 80% or more on the rubric. Grading runs once students submit, never while they work. Without it, the work waits for you.

Your score wins

Automatic grading gives each activity full points or none — only you can give partial credit. A score you change stays until you revert it, and you can add your own feedback.

Every plan, including free

Unit tests on coding activities, and semantic checks on Python and Java code.

Paid plans add

AI grading of code and short answers, with written feedback on each criterion.

Compare plans

Questions about grading

Product illustrations on this page are recreated from the Alps interface with sample data.

Grade how the code is written

Unit tests and semantic checks are free on every plan. Book a demo to see rubric grading on your own course.