CS 471 — Operating Systems

Undergraduate course, Old Dominion University, Department of Computer Science, 2024

Teaching assistant, Fall 2024. Supported 40+ undergraduates through process management, memory allocation, and concurrency.

  • Designed and graded programming assignments on system calls and synchronization
  • Facilitated weekly problem-solving sessions
  • Assisted in developing midterm examination questions
  • Held office hours

Concurrency was the concept students found hardest, because a race condition is invisible — the code looks correct and usually runs correctly, until one time it does not. Explaining critical sections abstractly did not work. What did was having students run a deliberately broken counter a thousand times and watch the output drift. Once they had seen the bug with their own eyes, mutexes and semaphores stopped being vocabulary to memorise and became a fix for something real.