Post

OMSCS Review - Intro. to OS CS6200

My review of OMSCS Introduction to Operating Systems in Fall 2024

OMSCS Review - Intro. to OS CS6200

Introduction


I took OMSCS Introduction to Operating Systems (a.k.a GIOS) CS6200 during Fall 2024 for my first OMSCS course. As a non-CS graduate, I had never had a chance to take an Operating Systems course. As I was unemployed at that time and did not have other commitments, I initially enrolled in both GIOS and CN (Computer Networks CS6250), but had to drop CN in the first week as I was quite overwhelmed by GIOS. It has been more than 6 months since I finished GIOS, so please take into account that my memory might be inaccurate.

Final Grade: A

Components

GIOS includes the following components:

  • Lectures
  • Exams
    • Mid (25%)
    • Final (25%)
  • Projects (45%)
    • Project 1
    • Project 3
    • Project 4
  • Participation (5%)

Grades were curved at the end of the semester.

Lectures


Unlike the Computer Network course I took for the second course, GIOS lectures are mostly delivered by videos. The lecture videos are straightforward and I did not have particular problems with the contents. In GIOS, you will be provided with a list of journal articles to read and some parts of the lecture contents are closely related to those journal articles, so I recommend skimming those journal articles. Along with the lecture videos, I referred to the following textbooks which helped my understanding:

  • Modern Operating Systems, 4th Edition by Andrew Tanenbaum
  • Operating System Concepts, 9th Edition
  • Operating Systems - Three Easy Pieces
  • The Linux Programming Interface by Michael KerrisK

Exams (25% & 25%)


Prior to exams, sample questions were provided and some of the actual exam questions were similar to those sample questions. However, the exams were definitely not easy overall and some questions were quite niche. Still, the exams are doable as long as you try to understand the contents and not procrastinate.

Projects (45%)


There are three projects - project 1, 3 and 4. Yes, there is no project 2 as it has been discarded, but somehow they maintain 1/3/4, not 1/2/3. The projects are the highlight of this course, and I really had to put so much time and effort into them. I think all three projects took almost 150 hours, according to my EC2 instance run time. Project 1 and 3 are based on C and Project 4 is based on C++, so you better have knowledge in C/C++ before attempting this course. Thankfully, the TAs provide good documents on how to set up the environment on your PC/cloud. My tips on projects are:

  • For project 1, refer to Beej’s Guide to Network Programming using Internet Sockets.
  • Understanding the given codebase is the most important. Open Figma - or whatever the drawing software you are familiar with - and take screenshots of the codebase and paste them. Connect relevant functions/classes by drawing lines between those codebase screenshots.

Participation (5%)


This is based on how well and frequent you participate in official channels, like Slack and Piazza.

Conclusion


Based on many reviews, GIOS is considered closer to one of those hard OMSCS courses. Having taken this as my first OMSCS course, I gained a brief understanding of how to manage time and effort throughout the OMSCS journey. Although the course itself is an operating systems course, the contents are closer to multithreading/multiprocessing. I believe this is a good foundational course for Computing Systems specialization.

This post is licensed under CC BY 4.0 by the author.