Prof. Sema

Support

Prof. Sema is an interactive study tool for the hardest part of an Operating Systems course: concurrency. Instead of reading about race conditions, you drive two real threads through a shared counter one operation at a time. At every step you choose the next operation from a mix that includes the one correct move and several traps — the actual mistakes students make on exams — unlabeled, so you have to judge for yourself. Pick wrong and it really executes: the bug plays out with an animation faithful to what the CPU actually did, then undoes so you can try again. Seven levels build from a no-lock race, through mutexes and semaphores (both wait()/signal() and P()/V() notation), to producer–consumer, readers–writers, a two-account transfer deadlock, and the Dining Philosophers. No accounts required — everything works anonymously with local progress; sign in with Google or Apple only if you want progress synced across devices.

Requirements

The web app runs in any modern browser at einar.top/prof-sema — nothing to install. The iOS app (iPhone & iPad, iOS 17+) is coming to the App Store; anonymous play works offline, while signing in for cross-device sync requires a connection.

Frequently asked questions

Do I need an account?

No — every level works anonymously with progress saved on your device. Sign in with Google or Apple only if you want progress synced across devices.

Will picking the wrong operation break my progress?

No — a wrong pick plays out the real consequence (a race, a deadlock) so you can see it happen, then undoes automatically so you can try again.

Does it work offline?

Yes for anonymous play — the simulation engine runs entirely on-device. Signing in and syncing progress requires a connection.

How do I get help?

Email einaryangca@icloud.com with your question or issue and we'll get back to you, usually within a couple of days.

Contact

Have a question or found a bug? We usually reply within a couple of days.

einaryangca@icloud.com