Programming Practice Exam Open the app

Run a coding exam in a browser tab.

Students write HTML, CSS, Python or C++ and watch it run. You get automatic scoring, a replayable record of what they did, and a place to write the final grade in red.

No student accounts. Students join with a six-character code.

Web basicsTran Minh Anh, class 8A1
Time left24:31
style.css
Preview

Hello, class

My first page.

  • PendingHas a heading
  • PendingHeading is centered
  • PendingHeading text is not black
Automatic score waiting for the code

From blank exam to graded work in three steps.

1

Create the exam

Pick a language, set the time limit and how many violations are allowed, and write your auto-grading rules. You get a six-character exam code.

2

Students join with the code

They enter their name, class and the code. The exam opens fullscreen, the timer starts, and their work saves as they go.

3

Review and grade

Check the automatic score, replay the work, type your own score and a note. Students see the result the next time they sign in.

Three languages. Nothing to install.

HTML and CSS render live beside the editor. Python and C++ run inside the page, and students type their input straight into the output pane.

The C++ runner is built for beginner exercises. It does not support string, vector, struct or class, or the bits/stdc++.h header.

<h1>Hello, class</h1>
<p>My first page.</p>
<p>Learning to code is fun.</p>
Preview

Hello, class

My first page.

Learning to code is fun.

Write the checks once. Every submission is scored.

For HTML, describe what the page must contain, one rule per line. For Python and C++, give the input and the output you expect. Leave the rules empty if you would rather grade by hand.

What you write

Has a heading | h1 | 1
Heading is centered | h1 | 1 | text-align | center
Heading text is not black | h1 | 1 | color | !black

5
7
=>
12
---
10
20
=>
30

The first three lines are HTML rules: description, selector, minimum count, CSS property, value. The last block is a Python or C++ test: input, a line with =>, then the expected output.

What the student's work earns

  • PassHas a heading
  • PassHeading is centered
  • FailHeading text is not black
Automatic score, 2 of 3 requirements6.7/10

Built to keep students in the exam.

The exam runs fullscreen. Anything that looks like leaving it is counted, and you decide how many strikes end the exam.

  • Switching tabs or windowsCounted as a violation and written to the log.
  • Leaving fullscreenCounted as a violation.
  • Pasting from outsideBlocked and logged. Text copied inside the editor still pastes.
  • Drag and dropBlocked and logged.
  • Reloading the pageThe student resumes with the original timer. It counts as a violation.
  • Too many violationsThe work is submitted automatically.

No browser exam is cheat-proof. This one makes it hard, and the log shows you what happened.

See how the work was made, not just the result.

Every exam keeps timed snapshots of the code, the output of each run, and every event. Drag the slider to replay a student's session.

Tran Minh Anh, class 8A108:30
01:0503:4005:1208:30
    
       
    
      

    The final grade is yours, written in red.

    Automatic scores are a starting point. Type your own score, add a note for the student, and move straight to the next submission. Students see the result the next time they sign in with the same name, class and exam code.

    What you do

    What the student sees

    Questions teachers ask.

    Do students need accounts?

    No. They enter their name, class and the exam code. Only teachers sign in, with Google or an email and password, and each teacher sees only their own exams.

    What if a student's page reloads or the connection drops?

    Work is saved automatically as they type. When they come back with the same name, class and code, they resume where they left off with the original timer. The reload is counted as a violation.

    Can students still cheat?

    No browser-based exam can stop everything. This one blocks pasting from outside the editor, counts every time a student leaves the tab, window or fullscreen, and records each session so you can replay it.

    Which languages are supported?

    HTML with CSS, Python and C++. The C++ runner is meant for beginner exercises and does not run string, vector, struct or class.

    How do students see their score?

    They sign in again with the same name, class and exam code. They see your score and note once you have graded, or the automatic score until then.

    Your next practical exam, ready to hand out.

    Create an exam, give students a six-character code, and grade the results in red.

    Open the exam app