TL;DR: 1. Boring material 2. Not a good Professor 3. Not very hard, grading is okay Took this class with Iddo Drori in spring 2020. While you may think that the pandemic is to blame for the poor review for this class, I beg to differ and have to argue that Iddo Drori himself is the ultimate culprit. 1. Class: Iddo Drori is very monotone, and the lecture is incredibly boring. There is almost no participation from the students, and very limited engagement because Drori just keeps going on and on. Of course, people do ask questions, but he rarely gives satisfactory answers. When you ask a question, he will respond with one the followings: 1. "I don't understand your question(and provides an irrelevant answer)". 2. rudely says, if you just let him finish and gave him 2 more min, he would have covered your question. 3. high level stuff, and fails to explain in detail. I did not attend the lectures often because I found them not useful. I think more than half of the class is usually absent from the lecture. Half of those in attendance are doing their work and not paying attention. 2. Iddo Drori is perhaps one of the worst CS professor at Columbia. He is one of the worst because he blatantly refuses to work with you, which in my opinion is unthinkable prior to this class. Imagine your boyfriend or girlfriend just refusing to talk you whenever you question him/her, and ghosts you. I do not understand why Drori acts the way he does, and he would literally ghost you when you question him hard. That means no replies in emails, canceling meetings/OH, etc. On projects, he offered absolutely no help whatsoever. The TAs provided so much help during the course, so if you do decide to take the class, ask the TAs. You may think interactions with the professor is not necessary, so this is fine, just remember that every interaction with Drori will give you a headache. He is unprofessional. This experience(on him being a bad professor) is shared by many of my friends who have taken his class. 3. Not very Hard: DL competition(s) and a semester long research project. You learn a lot during the process, as you would doing any project. As long as you do your work, grading is fairly lenient. (If you encounter any issues though, refer back to #2, no help from the Professor at all. Your project may or may not turn into something bigger with a potential to get published. In this case, it is a good opportunity, but the process will make you feel like you are a laborer for Drori. He offers no help at all(the only expertise he can provide is the logistics of research paper writing, like what parts are needed... formatting etc.), and getting papers published. In closing, I would not recommend this class or professor. You would waste a lot of time...unless you just wanna aim for that paper publication? Some of you may think, so easy A? chill class? Not aiming for publication anyway? Still would not recommend.....Look elsewhere my dear friends, do yourself a favor.
This class is more of a survey course than a targeted or rigorous study of any topic. You'll get a broad sample of the current state of the field, but you won't practically learn how to implement anything aside from a basic neural network (from scratch) and CNN (using Tensorflow) (HWs 1 and 2) and whatever you decide to do for your final project. Professor Drori is nice, but he's not great at explaining concepts in detail. Any time he attempted to delve into some of the math underlying the models we discussed (RL and GANs come to mind) things immediately became very unclear. You'll come out of this course with some handwavey knowledge of a few topics on the cutting edge of deep learning and possibly a cool project or area for further exploration if you chose a good final project topic. Overall, this course could have been much more valuable (we barely even learned to use Tensorflow), but I still did gain something from it. I wouldn't recommend the course with Drori, but if you're interested in deep learning and want a more structured intro to the field than just watching some videos online this is probably your only option. Though, to be honest it seems like everyone in the course learned everything they needed to for the HWs from Stanford cs231n videos anyway.
The first day of the course, you get awed by looking at the course content and topics that will be covered. CNN, RNN, Self Driving cars, LSTMs etc. People who got into the class feels that this is the best thing they have done and who didn't get in pity themselves. Class: When the 2nd lecture happens, then we realized how the rest of the course is going to be. Professor teaches it completely in a way as if you are already an expert in Deep Learning. Classes feels like as if the topics are just being revised (like they do during school days before exam). This course should be called Advanced Deep Learning and prerequisite for this course is that you have already taken a deep learning course before. After few days, students literally stopped coming to classes as we realized that there is nothing to be learnt in class as most of the lecture is very high level and hard to grasp. Assignments: There are 2 ridiculously heavy assignments. Expectation of the accuracy on the assignments it too high for any normal first time deep learning learner would feel. Instead of inspiring us to work on the assignments, they are made to demotivate you from taking any deep learning course ever. Also, what the prof teaches in lecture is completely mathematical and what is asked in assignments is completely practical implementation of the stuff. You are expected to do everything on you own. Project: Then there is project which covers 80% of the marks. The expectation on project is so high that it alone will take you full semester. Suggestion: Don't take this course unless you are too thorough in deep learning because it won't be taught in this class.