VeraCodeChecker
Back to Documentation
Teacher Guide

Code Review & Annotation

Comprehensive guide to reviewing student code with inline comments, visual annotations, drawing tools, and discussion threads.

Where to Find It

Navigation: Go to Activities → [Your Activity] → Submissions

Click any student's row to open the Submission Review view, which displays:

  • Code panel with syntax highlighting
  • Review tools (comments, annotations, discussions)
  • Test results and grading controls

Inline Comments

Add line-anchored feedback that appears directly on the code line you select. Perfect for quick corrections, style notes, and pointing out specific issues.

How to Add a Comment

1

Click the Line Number

Or select a code span to highlight multiple lines

2

Choose "Add Comment"

A comment box will appear anchored to that line

3

Type Your Feedback

Students see comments on the exact line you selected

Use Cases

Quick Corrections

Point out syntax errors, typos, or missing semicolons

Style & Readability

Suggest better variable names, formatting, or code structure

Boundary Conditions

Highlight missing edge case handling or input validation

I/O Format Issues

Point out extra spaces, newlines, or case sensitivity problems

Pro Tip: Summary + Details

Add a short summary comment at the top of the file (e.g., "Good logic; watch whitespace and variable names"), then add detailed inline comments where needed. This gives students a quick overview before diving into specifics.

What Students See

Comments appear on the exact line you selected, so students can instantly connect your feedback to the relevant code.

// Line 15

if (x = 0) { // Assignment instead of comparison

Teacher Comment:

Use == for comparison, not =. This assigns 0 to x!

Drawing Tools (Visual Callouts)

Draw shapes, arrows, highlights, and freehand annotations directly over the code panel. Perfect for visual learners and complex feedback scenarios.

Available Tools

Rectangles

Box around code blocks, loops, or classes

Circles

Highlight specific variables or expressions

Arrows

Point to missing checks or control flow

Freehand

Sketch custom shapes or underlines

Text Insert

Add floating text labels anywhere

Highlighter

Emphasize code spans without covering text

Line Weight

Adjust thickness (thin → thick)

Line Colors

Choose from multiple color options

Undo / Redo

Quickly adjust if you mark the wrong area

How to Use

1. Select a Tool

Choose a shape, arrow, highlighter, or text tool from the annotation toolbar

2. Draw on the Code Panel

Click and drag to create shapes, arrows, or highlights directly over the code

3. Customize Colors & Weights

Use colors and line weights to create visual hierarchy

Color Strategy

Red = Errors

Logic bugs, syntax errors, critical issues

Yellow = Caution

Warnings, style issues, potential improvements

Green = Praise

Good code, clever solutions, best practices

Best Practices

Arrows + Text for Control Flow

Great for explaining loops, conditionals, or pointing to missing edge case checks

Shapes to Label Blocks

Use rectangles/circles to label sections as "loop body", "I/O parsing", or "edge case handler"

Highlighter for Emphasis

Emphasize spans of code without covering the text (semi-transparent highlighting)

Keep Annotations Concise

Don't clutter the code panel. Focus on key issues so the code remains readable

Use Undo/Redo Freely

Experiment with different annotations—undo lets you adjust quickly if you mark the wrong area

Discussion Threads

Start per-submission conversations to discuss deeper issues like algorithm choice, design tradeoffs, or conceptual misunderstandings that require back-and-forth dialogue.

How It Works

Start a Thread

Click "Start Discussion" on any submission to open a conversation space

Open/Close Controls

Teachers can open a thread to invite replies or close it when the topic is resolved

Multi-Message Back-and-Forth

Students can reply to your messages, creating an ongoing conversation thread

When to Use Threads vs. Comments

Inline Comments

Best for:

  • • Pinpointed fixes on specific lines
  • • Style and readability notes
  • • Exact syntax or logic errors
  • • Quick one-way feedback

Discussion Threads

Best for:

  • • Conceptual misunderstandings
  • • Algorithm or design feedback
  • • Multi-message conversations
  • • Open-ended questions

Close Threads When Resolved

After a discussion is resolved, close the thread so students know where to focus their attention next. This keeps the submission clean and organized.

Reviewing & Re-grading Together

From the submission view, you can review (comments/annotations/threads) and then re-grade the same attempt if needed.

How Re-grading Works

Per-Test Mode

Adjust which tests count as passed or failed (e.g., change 3/5 to 4/5). The score updates immediately based on your allocations.

Percentage-Based Mode

Changing the pass/fail status of tests automatically recalculates the percentage score (passed tests / total tests × 100).

Academic Integrity Deductions

If your activity has integrity deductions (e.g., missing name/ID comment), the final score shown will automatically include those deductions.

Teacher Tips

1. Triage First

Scan the test breakdown before diving into annotations. Focus your review on the lines that caused test failures.

2. One Focus Per Mark

Keep each comment or annotation focused on a single issue. This makes fixes clear and actionable for students.

3. Close Threads When Resolved

After a discussion is complete, close the thread so students know where to focus their attention next.

4. Use Color Strategically

Red for errors, yellow for warnings, green for praise. Consistent colors help students quickly identify issue severity.

5. Combine Tools

Use arrows to point, shapes to label, and inline comments to explain. Multi-tool feedback is most effective.

6. Summary + Details

Start with a high-level summary comment at the top, then add detailed feedback on specific lines.