CS 347 – Operating Systems

Session – 2018-19

Instructor – Mythili Vutukuru

Course Content

  1. Processes
  2. Memory
  3. Concurrency
  4. I/O and File Systems

Prerequisite – No hard prerequisites but extensive coding in C/C++ is required, so brush up your CS101

Feedback on the lectures – The pace of the course is fairly quick and the instructor enforced a strict 80% attendance policy using the SAFE app. The instructor’s lectures are very interesting and the instructor manages to convey the topics in a very structured manner. While lecture notes as well as links to video lectures are provided, being engaged in the lectures is important. The lecture topics build on top of one-another and so.it is important to clear any doubts in the lectures themselves. In the interest of time, the instructor did not cover some minute details and students are expected to thoroughly read the book. Luckily, the book (OSTEP) is a very enjoyable and amusing read and I highly recommend it.

Feedback on Assignments/Tutorials/Exams

There were 2 quizzes, a midsem and an endsem. The exams were on the tougher side, with questions on the minute details covered in the book, mixed in for good measure. Also, there were 3 programming assignments. These are very useful and really help in understanding the material. The deadline for each is about 3 weeks after the announcement in class, though they are available on the course webpage before that. Teaching assistants do organize help sessions which is useful to sort out the various bugs (usually arise due to the use of various OS distributions). The instructor is really strict about plagiarism and copy-detection software is used on all submissions.

Difficulty (on a scale of 1-5 with 5 being very tough) – 4

Textbooks/References – Operating Systems: Three Easy Pieces (OSTEP), Little Book Of Semaphores

Softwares used – C/C++ coding, a bit of bash

Comments

Courses on System Security, Multicore/Distributed systems would be better appreciated after this course. Pro Tip: The instructor is really focused on ensuring the class understood the concepts. Poor performance by the class on a particular topic, usually results in it being tested again in the future. P.S. The topics in the end (concurrency) are quite tricky and non-trivial. Pay special attention in class and be sure to clear any doubts.

Reviewed by Sarthak Consul