Roboforbes

Jason Nieh

Computer Science · Columbia University

Courses Jason Nieh teaches

What students said

COMS W4118 · Fall 2025 · 1/5

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,…

COMS E6118 · Spring 2024 · 5/5

Life changing class (both OS 1 & 2). Would go back in time and take them again if I could. Class isn't easy but considering the material that is being taught, it is made as easy as possible.

COMS W3137 · Spring 2000 · 3/5

A relative new-comer to Columbia, Nieh is a VERY smart guy, and when it comes to OS, he is THE specialist. His lectures are one of the better ones here at Columbia, and you'll actually learn a lot - BUT, you really need to be awake and ready to participate, as he likes to shoot off questions, and expects you to be able to answer them. He is willing to help outside of class, but make sure you have your questions ready, as he tends to get frustrated if you go to him and don't have a clue about what you need/want to know. As far as homework goes, the theory part is fine, but the programming part is NOT. When I took Data Structures with him, only 3 of 50 or so students was able to finish one of the later homeworks... he really expects you to know how to code (god knows where you're supposed to have learned!). Thankfully, his tests are more manageable (mostly due to the fact you don't have to code!).

COMS W4118 · Fall 2025 · 4/5

The hardest CS class in the department (if not in the country). Professor Nieh, is very warm and kind teacher. Knows the material inside out and has been teaching for the past 30 years. If you are taking OS, take it with him. He uses board and teaches the concept really good. He also goes over Linux code and tries to explain concept through code. What makes OS hard is: 1. it is a dense topic meant for 2 semesters so you are rushing through everything 2. Homework are intentionally made hard with verbose but unclear guidance for you to figure things out. They do it intentionally, so you go to office hours. Unless you understand the material, coding is a nightmare. You need to read ~1,000 lines of code every homework to code 10 lines (expect to write ~500 lines in C for some hws) - unless you want your code to deadlock. From my experience, I think they use a grading script, meaning that if your code don't compile you get 0, and their test cases are very hard (test, test, test your code). It is a team based assignment and choose your teams wisely. Unless this is your only class, have good team else you're going to suffer a lot. If you do not vibe with your teammates, switch on the next homework (they let you do that for every homework). start early, in fact initial kernel compilation takes ~2 hours, so last minute work is impossible. Lecture is recorded with a policy that ~60 % at…

COMS E6118 · Spring 2024

Professor Nieh is very fair about workload, grading and everything else.

COMS W4118 · Spring 2025 · 5/5

I have never learned more with such a level of hands-on experience before in my CS education. Most other operating systems classes are almost entirely theory focused and their assignments barely scrape the surface of the essence of OS. In Professor Nieh's class, the six homework assignments work to build a story for your OS understanding. This class is hard, but the value in learning is extremely high. There is really no way for anyone to gauge the true difficulty of the class based on reviews. Yes, most of the reviews here say that this is an extremely challenging class, but that materially doesn't really mean much until you are deep into the class. This class is challenging, but with proper warning and preparation, I don't think it is impossible at all. There is SO much help provided for this class, more than I have ever seen for a class. Office Hours everyday of the week (except Saturday) with extremely well-versed TAs, and an Ed Discussion Board where TA's respond within a few hours max. If there are reviewers saying that this class is impossible or that they needed to self-study material, they probably did not utilize office hours. Don't take this class if you aren't interested in systems programming. Warnings and Advice: 1. Take this class seriously. It's three credits, but has a really high workload. I took this in a semester where I only took four classes total and it…

COMS W4118 · Spring 2025 · 2/5

The homework assignments are a massive time investment, especially if you are stuck with a group that shirks its responsibilities. Even if your code runs and appears to do what is required, the autograder has edge cases which will decimate your grade and essentially invalidate all your effort. The lectures are mostly the professor clicking through the kernel source code on bootlin to the point where you don't even know what's going on and wonder why you're even still showing up. He switched things up about halfway through the semester and seemed to focus more on illustrating concepts on the blackboard, which was a lot more useful. The exams--not sure what the point of them is. The median scores are like 30/100, so apparently if you don't answer exactly as they expect you to, you'll be getting a failing grade, even if you did okay on the homework assignments and understood the concepts. I essentially had to teach myself the concepts using the textbooks and still managed to fail the exams even though I was pretty confident in my understanding of each subject. The course grade is curved, but talk about discouraging. Is the goal to teach or to weed people out here?

COMS W4118 · Spring 2025 · 5/5

While challenging, this class was one of my best learning experiences at Columbia. The six homeworks really help you understand how to debug the kernel and thoroughly understand C code - and the TAs were very helpful in this process. Jason also lectures very clearly and takes you through the linux code, which helps with the homeworks. I highly recommend that anyone looking to take OS take it with Jason Nieh - you won’t regret it!

COMS W4118 · Spring 2024 · 5/5

“Long is the way and hard, that out of Hell leads up to light.” ― John Milton, Paradise Lost Operating Systems I is without a doubt the hardest course I have taken in my life, and will likely be the hardest you've ever taken as well. That being said it is also the greatest course I've ever taken and I would 100% do it again if given the chance. The course teaches you (surprise!) how a modern operating system works, using Linux as a case study. You'll read and modify the Linux source code so you walk away not only with an understanding of how an operating system works but how to modify the Linux kernel for your own projects. Now, that sounds cool (and to be honest it is) but this leads us to the fact that the inherent difficultly of the course lies not in the subject matter, but in the sheer volume of material you need to learn in 4 months. If you are considering taking this course, you should be a) be VERY comfortable coding in C (if you did well in AP and understood the material you're good to go) and b) taking a light course load. On the second point, I'm a SEAS student who took 4 classes the semester I took OS, and they were all relatively easy. I still ended up having no free time as I was always either working on the homeworks for OS or the homeworks for my other classes. This brings us to the homeworks (Oh God). There are 6 total, and typically you get 2 weeks per assign…

COMS W4118 · Spring 2023 · 5/5

This course is definitely the most difficult one I've taken at Columbia, and many of my classmates agree with me. Regardless, it was a great experience, and towards the end, it wasn't even that bad! Professor Nieh is a very clear lecturer that is incredibly knowledgeable about the material and established in the field. He is also very friendly- GO TO HIS OFFICE HOURS!! The material itself is not too difficult to grasp, and the two textbooks, OSTEP and LKD are very helpful. I also thought the material was pretty interesting- I felt like I finally understood what my computer is doing on a foundational level. I also particularly enjoyed Professor Nieh's lectures where he goes through examples of synchronization on the blackboard, as those made the difficult concept quite clear. As many of the previous reviews pointed out, Professor Nieh likes to go through Linux source code in class. Those lectures can be quite boring and confusing if you haven't looked at the source code beforehand or started the homework, but once you're caught up, they're usually very relevant to the homework.

Other Computer Science professors

Plan your semester on Roboforbes — free