VeraCodeChecker
Back to Documentation
For Educators

Teacher Guide

Complete guide for educators on managing classrooms, creating activities, grading submissions, and leveraging AI-powered tools.

1. Teacher Accounts & Verification

Teachers need a verified account before they can create classrooms and activities. Follow these steps to get started:

1

Create an Account

Visit the Sign Up page and create your account with:

  • Full name (Display Name)
  • Email address (preferably school/institution email)
  • Secure password
2

Verify Your Email

After registration, check your email inbox for a verification link. Click the link to verify your email address.

Important: Email verification is required before requesting a teacher upgrade. Check your spam folder if you don't see the verification email within a few minutes.
3

Request Teacher Upgrade

Contact the system administrator to request an account upgrade:

Contact Information:

Include in your request:

  • Your registered email address
  • Proof of affiliation (school email, faculty ID, etc.)
  • Institution name (optional)
4

Account Approval

You'll receive a notification once your account is upgraded to Teacher status. This typically takes 1-2 business days.

Note: Students are standard users by default and do not need admin approval. They can join classrooms immediately after email verification.

2. What Teachers Can Do

Classrooms

Create and manage multiple classrooms with unique join codes, control membership, and configure enrollment settings.

Activities

Create coding assignments with instructions, test cases, grading modes, and due dates across multiple programming languages.

Student Management

View student rosters, track submission status, identify late/missing assignments, and manage enrollment.

Code Review

Annotate student code with inline comments, shapes, arrows, and highlighting for detailed feedback.

Discussions

Open and manage discussion threads per submission for teacher-student communication and clarifications.

Gradebook

View comprehensive gradebook across all activities, export grades to CSV/Excel, and analyze student performance.

AI-Powered Tools

Use AI to generate coding activities, create test cases, extract JUnit tests, and provide intelligent feedback on submissions.

3. Creating Your First Classroom

1

Navigate to Teacher Dashboard

Once logged in with a Teacher account, go to the Teacher Dashboard from the sidebar navigation.

2

Click 'Create Classroom'

Click the "Create New Classroom" button to open the classroom creation form.

3

Fill in Classroom Details

Provide the following information:

  • Classroom Name: e.g., "Intro to Java - Fall 2025"
  • Section: e.g., "Section A" or "Period 3" (optional)
  • Subject: e.g., "Computer Science" (optional)
  • Description: Brief overview of the course
4

Configure Enrollment Settings

Choose how students can join:

  • Open Enrollment: Any student with the code can join
  • Exclusive Enrollment: Only pre-approved students (by Student ID) can join
  • Email Verification: Require students to verify email before joining
5

Get Your Join Code

After creation, you'll receive a unique 6-character join code. Share this code with your students so they can enroll in your classroom.

Pro Tip: Use descriptive classroom names that include the semester/year to easily organize multiple sections and past courses.

4. Managing Classrooms

After creating a classroom, you can manage it through various tools:

Edit Classroom Settings

Update classroom name, description, enrollment settings, or archive old classrooms.

Access via: Classroom → Settings Icon

View Student Roster

See all enrolled students, their email verification status, and enrollment dates.

Access via: Classroom → Students Tab

Remove Students

Unenroll students who dropped the course or joined by mistake.

Access via: Classroom → Students Tab → Remove Icon

Delete Classroom

Permanently delete a classroom and all associated activities and submissions.

Warning: This action cannot be undone. All student data will be permanently deleted.

5. Creating Activities - Manual Mode

Create coding activities using the manual wizard. There are four phases to guide you through the process.

Phase 1: Basic Info

Title: Name your activity (e.g., "Array Manipulation Practice")
Instructions: Detailed problem description shown to students. Include:
  • Input/output specifications
  • Rules and constraints
  • Example test cases
  • Required method signatures
Language: Choose Java, Python, or C

Phase 2: Tests & Mode

Choose one of three activity types:

1. I/O Testing (Python/Java/C)

Provide Answer Key:
  • Write code in the built-in editor
  • Or upload one or multiple files
Define Test Cases:
  • Each test requires expected input (stdin) and expected output (stdout)
  • Add descriptive names for each test
  • Mark tests as hidden or visible to students
Validate Test Cases:
  • Click "Validate Test Cases" to run your answer key against all tests
  • All tests must pass before proceeding
  • Default comparison is exact (including whitespace/case)
Important: Default comparison is exact match. Make this clear in your instructions if students need to match output exactly (spacing, capitalization, punctuation).

2. Assertion-Based Testing (Java Only)

Upload Answer Key:
  • Can be multiple files (see Answer Key Rules below)
  • Must include a main method that demonstrates usage
Generate Test Cases:
  • Click "Generate Test Cases with AI"
  • AI produces target method tests automatically
  • Review and edit generated assertions
See Evaluator Internals → Java Assertion Testing for how this works and current limitations.

3. Manual Review (No Auto-Tests)

Teachers grade submissions manually by review and rubric.

Best for:

  • Open-ended coding tasks
  • Project-based assessments
  • Code quality/style evaluation
  • Complex assignments without clear pass/fail criteria

⚠️ Answer Key Rules (Important)

  • • For Java assertion testing, your answer key must include a main method
  • • Each file must result in only one public class at compile time
  • Avoid package statements and conflicting class names
  • • Keep method signatures stable—students' method bodies must match your signatures
  • • Multi-file projects are supported; the system will concatenate/merge during evaluation

Phase 3: Schedule, Integrity, Grading

Due Date

Publish now and set a due date. (Note: Scheduled publishing is not yet supported in beta)

Academic Integrity

Student Identification Comment (optional policy):

  • Require students to add their name/ID as a comment in their code
  • If missing, automatic point deductions apply
  • The platform appends these directives to activity instructions on publish

Grading Mode

Per-Test

Assign specific points to each test case. Total adds up to 100 points max.

Example: 5 tests worth 20 points each

Percentage-Based

Score = (tests passed ÷ total tests) × 100

Example: 4/5 tests passed = 80%

Max score is always 100 for clarity and flexibility across varying numbers of test cases.

Assign to Classrooms

You can assign the activity to multiple classrooms at once. This is useful for teachers managing multiple sections of the same course.

Phase 4: Review & Publish

Preview your complete activity:

  • Instructions and requirements
  • Test cases and grading criteria
  • Due date and classroom assignments
  • Academic integrity settings
Publish: Make visible to students immediately
Save as Draft: Keep private for later editing
Beta Limitation: Scheduled publishing (e.g., "publish on specific date/time") is not yet available.

6. Creating Activities - AI Generator (Beta)

A faster way to create complete activities. The AI wizard drafts the title, instructions, test cases, and answer key for you. Review and edit everything before publishing.

Where to find it: Activities → "Generate Activity with AI" (Beta)

1

Define Your Activity

Topic: Be specific!
Example: "Arrays and loops — sum, min, max with edge cases (empty, negatives)"
Language: Java, Python, or C
Difficulty: Beginner, Intermediate, or Expert
Learning Objectives:
  • Enter your own (e.g., "Practice array traversal and index bounds")
  • Or click "Let AI suggest objectives" to auto-fill
Class Level/Audience: High School, University, Bootcamp, etc.

Click Generate when ready.

2

AI Generates Content

The AI creates:

  • Activity title (clear, student-friendly)
  • Instructions (problem statement, input/output expectations)
  • Test cases (1-N I/O tests with expected outputs)
  • Answer key (reference code you can download)
3

Review & Edit

Review all generated content:

  • Title and Instructions: Fully editable
  • Test Cases: Input/output pairs for validation
  • Answer Key: Reference solution (download available)
Not satisfied? Click "Regenerate" for a fresh take with different wording or difficulty.
4

Validate Tests

Click Validate Test Cases to:

  • Compile/run the AI-generated answer key
  • Verify all tests pass against the reference solution
  • Fix or edit any cases that don't pass
Pro Tip: Add extra edge cases you want students to handle (e.g., empty input, maximum values, unusual spacing).
5

Publish

Configure final settings:

  • Due date
  • Academic integrity options (e.g., require name/ID comment)
  • Grading mode (per-test or percentage)
  • Classroom assignments

Preview everything, then click Publish or Save as Draft.

✨ Best Practices & Tips

Be Specific in Topic

"Arrays and loops — sum, min, max with edge cases" is better than just "Arrays"

Set the Right Audience

Class level helps AI choose appropriate examples and constraints

Edit for Exactness

If output must be exact, state "No extra spaces/newlines" in instructions

Add Edge Cases

Include empty input, max sizes, negative numbers, unusual spacing

Validate Before Publish

Always run validation to ensure zero surprises on student submissions

Download Answer Key

Keep a local copy for your records and future reference

Known Limits (AI Wizard):
  • Generates I/O tests by default. For Java assertion-based testing, use Manual mode → Generate Test Cases
  • Scheduled publishing not supported (Publish or Draft only)
  • Exact output comparison by default (whitespace/case sensitive)

7. Managing Submissions

Track, review, and grade student submissions with powerful management tools.

View Submission Table

For each activity, see a comprehensive table showing:

  • Student names and submission status
  • On-time, late, missing, overdue indicators
  • Grades and test results
  • Submission timestamps

Open Individual Submissions

Click on any submission to view detailed results:

  • Compile and run results
  • Test case breakdown (passed/failed)
  • AI-generated feedback
  • Code with syntax highlighting
  • Your annotations and comments
  • Discussion threads

Re-grade a Student

Re-grading respects your chosen grading mode:

Per-Test Mode:

Toggle which tests are marked passed/failed (e.g., from 3/5 to 4/5). The final score recalculates automatically.

Re-run Tests:

Re-execute tests as needed (useful after fixing test cases during beta).

8. Code Review & Annotation

Provide detailed, visual feedback on student code using powerful annotation tools.

Inline Comments

Comment on specific lines of code to point out errors, suggest improvements, or highlight good practices.

Drawing Tools

Use visual annotation tools:

  • Rectangles to highlight code blocks
  • Circles to mark important elements
  • Arrows to show relationships
  • Freehand drawing for custom notes

Discussion Threads

Open discussion threads with students on their submissions:

  • Ask clarifying questions
  • Provide extended feedback
  • Guide students through fixes

Teachers can:

  • Open new discussion threads
  • Close resolved threads
  • View thread history
Best Practice Tip: Use annotations for style/readability feedback, and discussion threads for concept misunderstandings or complex explanations.

9. Gradebook & Analytics

View comprehensive grade data across all activities and classrooms with export capabilities.

Course-Wide View

See all student scores across activities and classrooms in one place:

  • Individual student performance
  • Activity averages and distributions
  • Late/missing assignment tracking
  • Grade trends over time

Export to Excel

Download grade data for:

  • Record keeping and archiving
  • Uploading to your school's LMS
  • Creating custom reports
  • Grade analysis and visualization

Filtering & Sorting

Organize gradebook data by student name, activity, due date, score, or submission status to quickly identify trends and at-risk students.

Next Steps