Roboforbes

COMS W4118

Operating Systems I · Computer Science

Design and implementation of operating systems. Topics include process management, process synchronization and interprocess communication, memory management, virtual memory, interrupt…

Who teaches COMS W4118

What students said

Jason Nieh · 2026 · 2026

50% HWs lowest dropped (mean like a 40, good luck even getting a 100), 20% midterm (mean 40), 30% final

Angelos Keromytis · 2007 · 2007

Ridiculous. The homeworks basically consist of making changes to the Linux kernel, which is really hard if you've never done it before. It's a whole different ballgame than normal programming. And Angelos never took any time in class to give advice about how to do it.

Junfeng Yang · 2014 · 2014

Heavy although I think the reputation is worse than the reality. 6 HWs (50%), lowest score dropped, with both problems and code in each HW. Problem set portions are medium-easy. Code difficulty varies from medium-easy to very hard. HW4 (scheduling) and HW6 (file systems) by far the hardest, especially HW4. Most code portions are frustrating regardless of difficulty. Open book midterm (20%) and final (30%) aren't too hard.

Erich Nahum · 2008 · 2008

4-5 Assignments with Programming and Written Component, Midterm, Final

Abhinav Kamra · 2005 · 2005

There is no linux kernel hacking. Instead, you build your OS using OSKIT inside VMWARE. Each OS test requires two reboots of the vmware, so this can be tedious. That said, I really enjoyed this project. There were also two earlier projects, one of which was to implement dining philosophers using a) threads/semaphores b) processes/pipes. These assignments were very instructive. But there's no need to really do a good job of it, because your grade is determined completely by a two minute demo in which you show him the program running, and explain to him how your code works (professor showed up an hour late to said demo). He never even asked to see certain parts of the assignment that I knew some people didn't have working. The final OS demo was equally cursory. When I complained to him anonymously about his grading method, he claimed his method was more effective than having him and/or the TA go over the code themselves, and that if I had a problem with how mine was graded individually, I should talk to him about that specifically. It was hard to have a problem with "how mine was graded" though considering that we were never even told our grades on them.

Jason Nieh · 2026 · 2026

Jason seems like a genuinely kind and well intentioned instructor, but the lecture content did not adequately prepare students for the exams. The exams were far too difficult given the level of instruction provided. They required a much deeper and more precise understanding than what was covered in class. He briefly went over portions of the Linux source code, yet the exams expected detailed, low level analysis far beyond those discussions. The exams were also extremely open ended, making it difficult to know whether you were even on the right track while answering. Given how challenging the homeworks already were, this made the exams feel unnecessarily punishing rather than a fair assessment of learning. I expected this course to be challenging, but the homework assignments were far more punishing than anticipated. The average for nearly every homework being around a 40 is very concerning and should have been a clear signal that something was wrong with the structure of the course. Despite this, the exams were still made extremely difficult, which is hard to justify when the majority of students were already struggling to succeed on the assignments. A major issue with the homeworks is that none of the individual parts provided any test cases, so there was no way to check whether you had implemented each part correctly before moving on. If you unknowingly failed an early part,…

Angelos Keromytis · 2007 · 2007

There's a CULPA review of Dan Rubenstein in which the reviewer compares him to a sushi chef who just hands you a dead fish and then criticizes your cooking skills. Keromytis is much worse than that. He's more like a swimming teacher who throws you into a huge pool of acid, then just randomly rambles on about the Summer Olympics. In his lectures, he was always talking about new concepts without introducing them first. Example: one day he was talking about page faults, as if everyone knew what a page fault was. But he had never talked about page faults or pages in class before. I raised my hand and asked "What's a page fault?" He said, "Oh, that's right, I haven't talked about pages yet. I meant to say 'TLB miss', not 'page fault' ". OK, fair enough. But then, a few minutes later, he used the term "page fault" again. He STILL hadn't introduced the concept of pages. You need to be aware of what you're saying... Don't assume we know these things, we don't all have like 8 million PhD degrees in CS like you. It's a CLASS. We're there to LEARN. That means most of us didn't know anything about this crap at the beginning of the semester. Keromytis is one of the many professors at Columbia whose teaching skills were NOT taken into consideration at all when Columbia decided to hire him. If Columbia decided jobs based on teaching skills, Angelos would be fired tomorrow. Basically, he got…

Junfeng Yang · 2014 · 2014

Hard but not as hard as everyone says. Not very enjoyable but I've had worse classes. If you are a strong programmer with experience in C you will probably do well. If you are a weak or inexperienced programmer you are going to have a bad time. The class could be greatly improved if they reduced the focus on android hacking and emphasized concepts more. The good, mediocre and bad: ---The good: - Professor Yang is well-intentioned and prepares for lecture - All class notes and materials are easily available on the website - Expectations are clear - Problem set portions of HW are pretty straightforward - Very fast Piazza response - Midterm and final are reasonable and open book - Exposes students to research (via required paper reading referenced in both lectures and tests, and via frequent observations by Prof Yang during lecture about what are current research topics and how previous topics were explored over time) -QEMU/vx6 combo is clear and good to learn from (unfortunately only used in 1 of 6 HWs) ---The mediocre: - Modern Operating Systems textbook is a bit out of date and loaded with thinly veiled opinions, although it's not bad - Lectures try to pack way too much material in. Luckily they aren't very relevant, since you can pretty much learn from the slides (and watch portions on CVN if needed) so you don't need to actually go in order to get decent grades on midterm an…

Erich Nahum · 2008 · 2008

Operating Systems is typically taught by Jason Nieh. This past semester it was taught by Prof. Nahum. Overall, Nahum is an interesting lecturer who tries to engage the class as often as possible during lectures. He is very approachable and very helpful as well, if you are in a bind (say if the pressures of the world make you and the rest of the class need a hw extension). Going by the number of assignments (and what Prof. Nahum said at the beginning of the semester) the class is a bit less hardcore than when Nieh last taught it, but all the important bits are still intact and you still learn a lot. If Nahum teaches OS again I would definitely recommend it, as he is a pretty solid teacher.

Abhinav Kamra · 2005 · 2005

I took OS with Professor Kamra over the summer. The course was 12 weeks instead of 15, so I was expecting it to be a little less rigorous. But I didn't expect the professor to show such little commitment to the class. Around the second or third week, he posed the following question to us: "Does any mind if we don't have class on Thursday, and just have class one day a week?" No one responded, and this was viewed as consent to literally cut the amount of scheduled class time in half. (I'm not sure how ethical this was, but I didn't want to be the one to complain, and most people just seemed to be in there for the credit.) He claimed we'd cover the same material, but I'm doubtful. I was going to put a complaint about this in my official class review, but it appears we were never given any forms. As far as lecturing style, he's pretty straightforward and open to student questions, but it's difficult to discern any passion for the subject matter in his delivery. He doesn't go into much more detail than the slides, and I ended up getting most of what I learned from the book. He told us there'd be four quizzes but the first only came about halfway through the term, the second came a couple weeks before the final, and the final two simply didn't come. These quizzes are very unusual in that they're multiple choice, but there is no indication as to how many of the choices are supposed…

More Computer Science courses

Plan your semester on Roboforbes — free