Part 1 of 3 (100 points, video, 60 minutes) “My First Office Hours”
“Um. Don’t Panic. Um. Sorry!” a familiar English voice announces, “I’m just adjusting the
… Aha! There we go.”
The world shifts into full view. Sensations of touch, smell, and sound flood your mind. You
are in a small office inside Siebel and a light breeze against your face awakens you out of a
dreamy slumber. There’s some tables, a whiteboard, bookcase and chairs. The sensations
feel real except the scene is clearly fake the words “History Simulation Test (bug fix 52)”
scroll in and blinks slowly in orange and blue letters in the bottom left corner of your vision
in Courier New font, confirming that none of this is actually real. Yet the perceptual
sensations feel more tangible than the breakfast you had earlier, and definitely more
meaningful. A sense of spreading future connections overwhelms you (like a 400-level
course on graph theory where the expanding nodes and edges escaped from the paper and
leapt into the wild) – connections to people, events, things – future interviews, people,
conversations, things that will help you change the world but have not yet happened but will
happen in your future.
“Okay,” the friendly voice continues, “I set the year back to 2022 – which explains the odd
fashion choices you’re about to see! In about 1 minute your office hours will start and the
first student will walk in. This first test is about whether you can explain to a student some
241 topics, to demonstrate that you actually understand these topics and can be a valuable
member of the course staff. So be ready to do some live programming demos, explain the
concepts, whatever you need to help the student thrive in this class.
We’re not sure how students learned back in 2022 but the computational-socio-geologists
believe they were a social bunch who really enjoyed talking and explaining things to each
other; they were a strong community that wanted a meaningful life by changing the world
and by their connections with each other. Don’t forget to pay it forward!
Record your office hours video about synchronization primitives that introduces the concepts and
how to use POSIX versions of them. You should cover both theory and practice. There are 10 things
the student asks about. (You might want cross them off as you complete them)
1. What is a critical section?
2. What is a race condition?
3. Conceptually, what is a mutex lock – when is it be useful?
4. How do I create pthread mutex lock, lock it and unlock it?
5. What is the definition of deadlock and what are the conditions for deadlock?
6. If I use 2 or more mutex locks in my program how should I prevent deadlock?
7. If I have a data-structure how do I use mutex lock(s) to make it threadsafe? (Give an
8. Conceptually, what, is a condition variable and why/when would it be useful?
9. How do I use pthread_cond_wait, cond_signal and cond_broadcast?
10. Conceptually, what is basic idea of the reader-writer problem?
We expect you will want to record a video of your laptop screen with audio and use a text editor as
a whiteboard. However any method of recording will be acceptable (e.g. phone pointed at piece of
paper). We are looking for demonstrations of system programming understanding and competency
(i.e. things that a CS225 student would not be able to explain but a CS241 student can), such that
your office hour is effective and useful.
You can record multiple parts of a video if you need a break. However don’t worry about fluffs,
mistakes and restarts; imagine this was a real office hours – just say oops and carry on! We expect
most students will create approximately 40(ideal) – 60(max) minutes of content. We will only grade
the first 60 minutes of video content; which means you only 6 minutes per item.
You can use a web search to find an easy way to record your screen and audio on your system.
There are multiple methods to record a laptop screen to mp4 file or cloud (e.g. Protip: Do a test
recording first and review it instead of assuming that it is working; make sure your text is large
enough and legible enough to be gradeable). Ultimately you will be sharing the mp4 file or
providing a URL to your cloud recording (be sure to check that the link works when not logged in
as you). The university website, https://mediaspace.illinois.edu may be another useful way to record
and share your video