Lecture, four hours; laboratory, two hours; outside study, nine hours. Enforced requisites: courses 32, 33, 35L. Introduction to operating systems design and evaluation. Computer software systems performance, robustness, and functionality. Kernel structure, bootstrapping, input/output (I/O) devices and interrupts. Processes and threads; address spaces, memory management, and virtual memory. Scheduling, synchronization. File systems: layout, performance, robustness. Distributed systems: networking, remote procedure call (RPC), asynchronous RPC, distributed file systems, transactions. Protection and security. Exercises involving applications using, and internals of, real-world operating systems. Letter grading.

Review Summary

Clarity
8.3 / 10
Organization
8.3 / 10
Time
10-15 hrs/week
Overall
5.0 / 10

Reviews

    Quarter Taken: Fall 2017 In-Person
    Grade: B-

    Reiher is a good lecturer, but basically just reads off his slides. This isn't necessarily a bad thing, as he's very clear and explains the concept well. The issue is just that there a lot of slides for this class. CS 111 is one of those classes that should be a semester-long course but is crammed into 10 weeks because of the quarter system. The workload is brutal. Projects with take 15-20 hours and expect to do another 5-10 hours of reviewing your notes and reading the textbook. Speaking of which, the textbook OSTEP is excellent and is definitely worth reading.

    If I could take this class again, I'd probably take it with Eggert as I've heard his version is much more focused on relating different OS concepts together in novel ways, and his exams (while difficult) are open-book. Reiher's tests are closed note and thus require a lot of memorization due to the sheer amount of material covered. Be prepared to make a lot of flashcards. But Reiher is not a bad professor to take 111 with, especially if you don't like Eggert. Just take a light courseload no matter who you take this class with.

    Quarter Taken: Spring 2022 In-Person
    Grade: A

    Great class for CS 111. I really liked how the lectures for this class were all recorded, and the exams were conducted entirely remotely. This meant that I never had to physically attend class (which would be quite a pain since lectures occur at 8 am).

    This course is tough, don't get me wrong. As the previous reviewers have mentioned, 100 pages of dense OS textbook reading a week. On top of that, you also have the lectures to rewatch and 5 projects that involve programming in C. I easily spent at least 10 hours a week on this class alone.

    Professor Reiher is a very clear lecturer and always answers students' questions in a timely manner either on the Zoom chat or on Piazza. In addition, the labs this quarter were incredibly straightforward, as the TA's used Professor Eyolfson's labs. None of the labs were particularly difficult, and most of them took no more than 6-7 hours. I can definitely see how just a few years ago, one taking Reiher's CS 111 could easily spend over 20-25 hours a week on this course alone.

    Exams were all multiple choice and remote (and timed, where you choose a 2 hour time period to take the test from a 24 hour window). That being said, you still need to know your stuff to do well on the tests. Many of the test questions were in the form of "Select all that apply," so it's essential to do the readings, take good notes on them, and study for the tests. I can see how one could get away with skipping some of the readings and then frantically Ctrl-F their way through the readings on the day of the exam looking for answers. But to save yourself stress, it's best to do the readings and watch the lectures ahead of time as recommended by Professor Reiher himself.

    Quarter Taken: Spring 2022 In-Person
    Grade: C+

    Peter's an overall good professor. Clear, concise and well-intentioned. He's passionate in what he teaches and always makes an effort to motivate different topics before jumping into them.

    Quarter Taken: Winter 2023 In-Person
    Grade: B

    Make sure to focus while doing the readings instead of only passively reading; this will help with midterm/final which largely determine if you'll receive an A or a B

    Quarter Taken: Winter 2023 In-Person
    Grade: N/A

    The lectures were offered both online and in person and were also recorded. The midterm and final exams were given online and had MCQ format. There were a lot of readings although you can try to get by without doing them since the exams are open notes/books. There are 5 labs, all of which are pretty fun. I found the last one to be the hardest, all others were relatively easy.

    Quarter Taken: Winter 2023 In-Person
    Grade: N/A

    Exams only have multiple choices and all people share the same problem set. Worst format of exam. Unfair.

    Quarter Taken: Winter 2023 In-Person
    Grade: B

    Peter was very lazy with lecturing. He basically read everything off the slides. The exam format was also lazy: 24h online multiple-choices (everyone gets the same set of questions in the same order). I felt I did fine in both exams but somehow there were so many smart people in the class who managed to somehow get very high scores. I got my only B at UCLA from Peter.

    Quarter Taken: Winter 2023 In-Person
    Grade: A

    Highly recommended readings to do.
    Online final and midterm, all multiple choice/multiple select.
    53% of overall grade was labs

Course

Instructor
Peter L. Reiher
Previously taught
24S 24W 23Su 23W 22Su 22S 20F 20Su 20S 19Su 18F 18Su 18W 17F 17Su 17W 16F 15F 15S 15W 14W

Grading Information

  • No group projects

  • Attendance not required

  • 1 midterm

  • Finals week final

  • 100% recommend the textbook

Previous Grades

Grade distributions not available.