Where it started: C++ and an exam nobody could cheat on

Colegiul Național „Moise Nicoară” · Arad, Romania · 2011–2015

I went to a high school specialised in mathematics and computer science. 4 years of C++: algorithms on paper first, then on the computer, then in competitions where your program had one second to answer or it failed. Nobody wrote the code for you. If it didn’t compile, you read the error until you understood it.

In numbers

The final project

For my final project I built Exam Guard, an app that stopped students cheating during tests on the school’s computers. The teachers had a real problem: tests ran on the lab PCs, and a student was one Alt+Tab away from searching for the answer.

Exam Guard ran as a full-screen overlay on top of every other window. It watched for the ways out of an exam and reported each one to the teacher:

Exam Guard, rebuilt for the browser. Start the exam, then try to cheat.

How it worked

At its core was a loop that checked, 10 times a second, which window was in front. If it wasn’t the exam, the app logged it, brought the exam back and showed a warning.

The Exam Guard loop in C++, and the overlay on top of the desktop

One loop and the Windows API.

The loop took an afternoon. The edge cases took 2 months: a Windows Update pop-up is not cheating, a student who unplugs the network cable is. That turned out to be true of almost every project since: the main feature is quick, and the real work is everything around it.

What it taught me

Exam Guard got the highest grade in my year, and the computer lab kept using it for tests after I left.