Introduction to Computational Learning Theory · Computer Science
We had 5 problem sets, each consisting of 4 problems, which together accounted for about half of the course grade. The problems themselves were excellent—a good balance between bookwork and questions requiring original, creative problem-solving. For each set, 10 hours seems like a reasonable average estimate, though it’s best to space them out to give yourself time to digest the material and develop ideas. That said, I must note my only complaint about the course: the grading of the problem sets, done entirely by the TAs, often felt arbitrary and careless, and consequently, unhelpful. There was no clear grading rubric provided in advance, resulting in inconsistent assessments. Detailed solutions were sometimes penalized for being too “verbose,” while concise ones lost points for omitting a single line of middle-school-level algebra. Moreover, it often seemed that the TAs skimmed submissions and occasionally dismissed valid alternative approaches simply because they differed from the official solution. Some deductions were made without any comment, rubric, or explanation, which was both confusing and unhelpful. While regrade requests were available in theory, in practice they were largely ineffective: many were denied with explanations that either misrepresented my solution or offered unreasonable justifications--for instance, rejecting logically equivalent (and arguably more p…
I expected to learn about the mathematical principles underlying simple models of machine learning, and I was not disappointed. Prof. Servedio is an exceptionally clear lecturer who provides ample motivation for the ideas and strikes an excellent balance between high-level concepts and technical details. He is also extremely patient and responsive, typically writing elaborate responses to questions on Ed Discussion within hours. As cliché as it may sound, it is evident that he truly wants everyone to succeed. Everything good about him that I see mentioned on this site is true, and I strongly recommend this course for its content.
First, let me preface this by saying that I'll probably fail this class. I have regularly scored at least one standard deviation below the mean (talk about mistake-bounded), and the midterm isn't a significant component of the course. However... My goodness, Rocco is an utterly incredible professor. The absolute best in the entire Columbia CS department, and - I'd reckon - the best professor in the entire school. I mean, he completely puts all the other professors to shame with how good he is. A class with Rocco is what you were promised when you first heard the term "Ivy league education." Columbia should sell a building or something if it means they get to keep Rocco Servedio forever; that's how good he is. Everyone below has talked about the actual course material and whether you should take this particular course, so I'll not go too much into that. What I'll say is that if you have even an inkling of an interest in theory, just take whatever Rocco is teaching. Actually, I think he should teach a teaching seminar for the other professors and teaching assistants at Columbia. He's splendid all round, in all phases of teaching. The Lionel Messi of Columbia TCS.
Homeworks really help you understand the material, but they are hard. Often the answers to difficult questions were found in old papers. For each homework that has 5 questions, I solved a question a day (spending literally 8+hrs). We had 2 weeks to solve each so timeline was tight. There were also 5 homeworks, none of which are easy. Midterm and final is also challenging, but not as difficult as the homework.
Crystal-clear teaching style. Honestly the best teaching style I've seen so far. He also answers questions with clarity and will help you the best way he can. However, the coursework is difficult and homeworks are challenging. I would take this class again, but only if I balanced it with other easier classes.
5 homeworks and a final project (read a paper and explain it)
In short, Rocco is the best professor I had in Columbia so far. He is kind, clear, and intelligent. He made a difficult subject accessible and interesting. That said, if you hate proofs and theory, maybe this class is not for you, but this is not his fault. He already tried his best to focus on the concept rather than the details. I don’t think that the class has no applications. It’s basically an algorithm class, but on algorithms that can learn. If you think algorithms have no real world application, then I am not sure what to say. It’s cool to see that a seemingly simple-minded algorithm can learn complex concepts well, on par with humans (maybe it is how human brains work). The homework takes a long time, so start early so that you have enough time to get help. He won’t tell you the solution directly, but at least can tell you if you are on the right track. A lot of times, people are just completely off the track because they have misconceptions. For me, I think part of the homework difficulty comes from my unfamiliarity with the area, so the 3rd and 4th homeworks turned out more difficult for me, but by the end of the last (5th) homework, I had already seen enough proof strategies that they became a bit like old tricks (I’m not saying they are easy, but just more familiar to me). As a previous post said, the final project turned out to be an educational experience for me.…
I'm much more lukewarm on Servedio than most folks here. I'm an ML type undergrad, not an algos type, so without taking analysis of algorithms or similar I was maybe underprepared for this class. A bit of probability is pretty key for the PAC model in the middle half of the class. The material was kind of interesting, but it's very much intellectual exercises with very little real world implications (which isn't exactly a hidden fact). The book for most of the semester (Kearns and Vazirani) is ok, at least it's nice and concise. In lectures Servedio was generally clear, but I found that his answers to questions were only so-so. I think part of it is that the class was huge this semester, and it seemed like he wasn't scaling well from 30 students to 100, but maybe that will improve. The problem sets kicked my ass, I rarely got more than a few points above the average, which was typically 20-30 out of 50 points. They require a huge amount of thought, and almost all required some novel proof technique. Some questions were from research papers from only 5 or 10 years ago, many were papers Servedio wrote 10-20 years ago. In retrospect I think those who did well were focusing much more on these problem sets earlier, and spending a lot of time in office hours. The "final exam" wasn't bad though, don't worry about it.