| CPSC 331 | Operating Systems | Spring 2026 |
On this page:
| Course Description and Objectives |
From the course catalog: An operating system, such as Windows, Mac OS, or Linux, is a fundamental part of any computing system. The core concept of processes in modern operating systems is explored. Techniques covered include process execution, CPU scheduling, address translation, and virtual memory. Additional topics may include concurrency with threads, file systems, and security basics. An introduction to the C programming language is used to demonstrate system level applications. |
|---|---|
| Class Format and Expectations |
This is primarily a lecture-based class with three class meetings per week, weekly written homeworks, a series of projects, and in-class exams. To assist with the programming projects, a weekly one-hour lab period will be scheduled. You are expected to attend all scheduled class meetings and at least five lab sessions over the course of the semester. The timing of the lab sessions will be set early in the semester and effort will be made to schedule them at times everyone can attend. If you cannot attend a scheduled lab, it can be made up by coming to office hours instead. You should expect to spend approximately 8-10 hours per week on average on additional work (readings, homework, projects, studying) outside of class. While your experience may vary from topic to topic or from week to week, if you routinely spend substantially more time or you feel like you are spinning your wheels and not making progress, you should visit office hours for help. |
| Prerequisites |
CPSC 225 is required. |
| Required Materials |
TextbookOperating Systems: Three Easy Pieces The book is freely available at https://pages.cs.wisc.edu/~remzi/OSTEP/. You can download PDF versions of individual chapters for free from the website, or order a printed copy if you'd like a physical copy. A single PDF of the whole book is also available for a small fee. Please do not use the Math/CS department printers to print the text for yourself. Additional material will be handed out or posted on the course webpage. SoftwareAll assignments should be done using the campus Linux environment, accessible in Demarest 002 or remotely through the Linux VDI. |