My Review of GIOS (CS6200) Graduate Introduction to Operating Systems
Grade: B
Difficulty: 8/10
Rating: 7/10
Time commitment: 12 hours/week
-------------------------------
Overall
This is a great course that every CS student should take. It's one of the highest rated courses in the whole omscs program. It does an amazing job of connecting the knowledge from the lecture video to hands-on intense coding projects. You will come out rigorously trained up on the nitty gritty fundamentals of OS. You will be able to speak about concurrency, synchronization, resource management, distributed services, so on.Lecture quality
Great lecture videos. The professor (Ada Gavrilovska) is truly knowledgeable and she cares about explaining things in a way that helps students understand complex topics better. She presents lots of conceptual toy examples in her lecture, which I found helpful for building intuitive understanding.Assignments
- Projects: 40% of the course grade. There are 4 projects. They are super heavy workload and time consuming, except only for the second project being relatively light. It's common to spend 40+ hours on a project. Overall, a lot of intensive and non-trivial C programming is involved. You absolutely must get familiar and hands-on with the C language, including pointers, memory management, industrial debugging tools like Valgrind and proper IDE that lets you debug methodically. I should note that embedding adhoc print statements won't be enough. Projects dive deep into multithreading, socket programming, IPC (inter process communication), server-client proxy/cache management, remote procedure call framework on Linux kernel.
- Exams: 55% of the course grade (25% midterm and 30% final). Closed book/notes. It's all about rote memorization from the lecture and assigned papers. Yes, the papers are important, as some questions are about specific details from the papers.
- Class Participation: 5% of the course grade. You just try participate in discussions on Piazza.
Grading
For the projects, they give you test cases, so you can verify your implementation before you submit your code. So there is no ambiguity there. Exams are also auto graded, consisting of multiple choice and some calculation problems. They apply a generous curve.Thoughts
Unfortunately, I personally didn't like the course. It makes me sad to say it because I was so looking forward to this course for being among the highest rated on omscentral. I just didn't enjoy the rote memorization aspect.Also, I agree with many other reviewers that having familiarity with the C language is an absolute pre-requisite for this course. Otherwise you may have to spend extra 20 hours on top of already extremely time consuming coding projects.
The prof Ada and TAs were all active on Piazza, which made the class engaging.
FAQ
-
Can I take 6200 GIOS without OS experience ?
- Yes, this course can be your very first OS course. But you absolutely need prior experience in the C programming language.