#159 overall
CS 140 Operating Systems
Stanford University
3 recommenders · 3 threads · recommended in 3 years, 2011–2023 · score 2.8
CS 140 is Stanford's undergraduate operating systems course, built around the Pintos teaching kernel, where students implement and extend a small OS in C. Course materials and projects are published on Stanford's course sites.
Commenters point to its Pintos projects as a deeply instructive way to learn operating systems by building one, and describe it as a famously demanding course.
CS Fundamentals & Systemsintermediatefreeproject-based#operating systems#pintos#kernel#systems programming#stanford
Recommendations by year
20062026
What I often find to be the case is that a course in college only loosely follows the assigned book. Professors like to navigate through the subject material in a very personal way, which will often not be the way that it is covered in the book... if it is covered in the book at all! For this experience, I would suggest going through lecture notes and, when necessary, supplementing them with a book.
While books are certainly valuable in someone's education, I think we are forgetting about the projects. It is very instructive, not to mention very satisfying, to implement an operating system, a compiler, or a transport layer (that interoperates with real TCP!). Moreso than reading the books of a college course, I recommend doing its projects.
To get started, I recommend the Pintos operating system, designed for Stanford's operating systems course, CS 140, traditionally thought to one of the more difficult programming courses in their undergraduate curriculum.
Some links.
http://www.scs.stanford.edu/11wi-cs140/ http://www.scs.stanford.edu/05au-cs240c/
At my school we used the course work of Stanford for the operating system class which was amazing: https://web.stanford.edu/class/cs140/projects/pintos/pintos_...
It's really up to the professor.
If any Stanford students are reading this wondering if they should take this class:
Engler was one of my favorite professors at Stanford. He's kind, sharp, well-prepared, and consistently delivered great lectures.
One of the things that made him stand out to me are the insights he provided beyond what's in the papers we read in CS240. You can read the papers yourself, but the papers won't tell you things like "I think the reason this paper was accepted is different from the reason the author likely thinks it was accepted."
He's awesome, take his class. Find a good team, and, um, don't underestimate how much time CS140 takes. :)