Computer Vision I: First Principles · Computer Science
7 homeworks, a mix of written (mostly proofs) and Python coding. TAs were chill with the grading but I still spent like 20 hours on a couple of the coding assignments. The tests were hard but not crazy. Above average difficulty for a Columbia CS class but still much easier than ML, Algos, OS, etc.
Probably the best CS class I've ever taken. The lectures are extremely well-organized and full of visuals (plus, all the lectures are on YouTube!). Shree is an excellent lecturer and extraordinarily knowledgeable about not just vision, but graphics and AI in general. All the TAs are PhD students too so they really know their stuff. The homeworks were clear and reasonable but definitely challenging. Shree's style probably doesn't suit everybody. He goes pretty quickly through the material and tends to gloss over the math proofs. Also, he can be a bit intimidating since he's so accomplished and has a very dry sense of humor. I happened to vibe with all that because I'm really into computer vision, but if you aren't, the class might feel unnecessarily intense.
Well-organized class, Shree is cool and the topics are also interesting! This class does require some mathematical background and MatLab is annoying, but I think it's nice that Shree focuses on the concepts instead of the derivations in lectures. Would recommend!
6 HWs (5-20 hrs each, 50% of grade) 1 Midterm (15%) 1 Final (35%)
CV with Prof. Nayar was a very good course. Prof. Nayar is super clear when explaining confusing topics, and he does so in a very concise way. His lectures have good depth and very large breadth -- by the end of the course I was surprised by the sheer amount of material that we learned. It was intimidating to study hundreds of slides for the final but after finishing the final it was rather gratifying to look back on the amount of material learned. The homeworks in general were very doable if spaced out evenly throughout the week. The first few homeworks were harder IMO because I wasn't used to MATLAB. But if the concepts make sense in class, the implementation should not be too difficult. The exams were also not too difficult, no notes or calculators allowed so you can imagine that it can't be very math-intensive. It was purely conceptual with a few math questions or recalling formulas here and there. Overall studying for them was more painful than taking them.
Workload: We have 7 homeworks. All of them included programming in MATLAB, and most had a written (math) component. They took me about 8 hours each. I liked that they allowed us to build things like a panorama app or computing depth from shading -- very gratifying when you finally get it working. It was frustrating not being allowed to use libraries for almost anything, including simple functions like converting an image from color to grayscale. I spent too much time reinventing the wheel and debugging problems related to MATLAB's flipped image coordinates or 1-based indexing, and not enough time working to solidify the algorithms we covered in class. The midterm exam was similar to the written parts of the homeworks, but more in depth. Kind of hard to study for. Expect to memorize a couple random formulas or you will not have a good time on the exam.
This is a super interesting class for those interested in learning how everyday image processing algorithms work. It provides a comprehensive survey of vision algorithms from the ground up: from lenses and sensors (hi, photographers!) to basic 2d stuff to algorithms that reconstruct depth from multiple points of view to neural nets in the last lecture. With Deep Learning(TM) being billed as the one algorithm to rule them all, it was interesting to see how many simple, interpretable models have good performance without less complexity and faster run times. Prof. Nayar's lectures are fun and engaging -- he applies his sense of humor and PowerPoint animation skillz to make CV easier to learn. You don't need any books since the slides have all the formulas, derivations, and examples you need to do homework. (I wish we could get electronic copies of the slides, since it's in a computer **vision** class, sometimes you need to see the colors in a diagram/picture for things to make sense. And videos in the slides are completely lost in translation. But it doesn't sound like he plans on making the change any time soon.) I really dislike how the teaching staff handled office hours. It felt like every other week, they were held at a different time and place. As a TA for a similarly large class, I know that it's hard to teach and study at the same time. But there is a minimum quality of s…
Material was hard to understand. Easy material was covered until the registration deadline. Once the students are registered the material becomes hard. There is a group of shree's favourite students who will get good grades.