How it works · I’m running the exam
Setting up a lab exam.
This traces CS 201’s second lab exam from the allowed-site list through to the final report. The panels are working examples you can explore.
01Set upMonday
From contest code to allowed pages.
You give SafeExamOS the platform and contest code (CodeChef START254, for example). It allows the pages for that specific contest, so practice problems, editorials, and discussions remain blocked.
Example exam setupDraft- Lab
- Lab A
- Exam window
- 14:00–16:00
CS201-roster.csv24 example studentsLab-A-layout.svg24 seats, ready to assignAllowed sites
exam.example.eduAddeddocs.python.orgAddedcourse.example.eduAdded
02SeatTuesday
Seating that avoids previous neighbours.
Seating comes from the roster and the lab layout. The arrangement is seeded and reproducible. It moves each person away from their previous machine and their previous neighbours. Shuffle it here and pick a seat to follow.
CS 201 / Lab A
Example seating planCourse roster24 example studentsAllowed sites3 sitesSelect a seat to follow.
Front of labSeat C4Example student 16Assigned03Run14:12
What the live view shows.
During the exam, the view shows seat status rather than screen content: which machines are ready, which need attention, and how many requests were blocked. Spare seats are locked as well, so moving a student to a different machine takes a minute.
Lab A: 21 of 24 seats signed in · 1 needs attention
14:12:08Front of lab
- Seat C4
- Signed in 13:58
- Blocked requests
- 17
- Incidents
- 0
- Signed in
- Waiting
- Needs attention
- Offline
04Review16:05
Submissions traced to assigned seats.
After the exam, each submission on the judge can be matched to a request from the student’s assigned machine. In one course audit, sixteen submissions listed as missing turned out to be compile errors, all logged from the correct seats within a second.
Example exam reportCS 201 / Lab exam 2
Lab A 14:00–16:00
14:02:31docs.python.orgAllowed14:03:12github.comBlocked14:41:07exam.example.edu/submitSubmittedSeat C4Judge submissions matched to this seat: 3 of 3Lab A is back to everyday use.Example end state: exam rules ended, lab restored.16:00
The same setup works for both lab exams and contests. CodeChef, DOMjudge, and Moodle quizzes have all run under SafeExamOS.
Read the FAQ