Computer Science · Columbia University
Standard. Five problem sets, lowest one dropped, which took about four hours of real thinking. Two average midterms, hard final.
I completely disagree with the two reviews below. I had no experience with CS theory before taking this class, but I had a great time and learned SO much, and want to take more theory classes because of this. Yes, on the first day, and for most of the first two weeks, Choi taught straight from the book, and told us that we could learn from the book just as well as in class. But--and the book is great, don't get me wrong--this proved completely untrue. Over the course of the semester Choi grew a lot as a teacher (it was his first semester teaching!) and gave us his own examples, clear explanations, and answered questions happily. He also seemed to realize that telling students to leave was NOT a good idea, and encouraged us to send him emails and raise our hands in class. The material itself is often hard to grasp, but that's not his fault, and he usually found multiple ways of communicating complicated ideas. I thought his tests were fine. The final was hard, but was curved, and the midterms were very similar to the homeworks. They were totally doable. tldr; Take this class with Choi! He's a really good guy, just a little rough around the edges, who is really willing to help you out and learn from his mistakes.
5 homeworks that are tough worth 20% 2 midterms both tricky 20% each final wasn't as bad as the midterms, but long
Professor Choi, isn't a good teacher. He often looked just as confused in lectures looking back at us, as we (or at least I) certainly did looking at him. The material itself is very dense, extremely theoretical, and requires some familiarity with proofs based mathematics. Basically, no amount of coding skills will help you in this class, as it is essentially an advanced math class. The homeworks and midterms are challenging, often requiring insights that are all the more difficult to achieve because Choi's "explanations" often you more confused than before the lecture. Be prepared to spend hours staring at a problem trying simply to decipher the meaning of the question. It is absolutely maddening, and yet, there's no better feeling than figuring out one of those tricky questions. The midterms have many true/false with justification questions with no partial credit, which Choi posts on his exams as T/F/J. I wish I had gone for the pure Justify, without ever definitely answering true or false - I would have done better, as the questions seemed to deliberately be exploiting flaws in common intuition and expectations. All in all, this class was a slow, torturous slog through material that had the potential to be interesting, though I don't know if I would go so far as to compare it to the horrors faced by the unfortunate pineapple in the review below. Choi is an uninspired, robot…
- 5 problem sets (spend many hours on these and expect many typos that will be fixed in the last minute) - 2 midterms (you might think that you did well on these, but don't be fooled! You probably got them all wrong...) - 1 final (just YOLO that shit)
I've had probably some of the worst professors at Columbia including (according to CULPA) "soul sucking professors" and "don't-take-this-class-unless-you're-an-econ-major professors," but I have never had a "I-want-to-kill-myself" kind of professor until I met Seung Geol Choi. On the first day of class, I came in to the lecture room ready and excited to learn about computer science theory. By the end of that hour and a half, I had already begun to dread my upcoming semester. I even wondered if I should have dropped the class that day, but I didn't and now I really wish that I had dropped it and waited for Professor Aho. To describe my experience in Choi's class would be analogous to describing how a pineapple would feel being slowly twisted into my anus. Choi discouraged us from coming to class under any circumstances on the first day of class. I thought he was joking, so I went to the next two lectures. Considering how awful they were (he paraphrased from the textbook in a very incomprehensible manner), I really should have followed his advice in not going to class. The problem sets were painful. I heard he was mean to his TAs. The midterms were pretty bad, but not as catastrophic as the final exam (which was worth 40% of my grade). I did pretty well in all of my midterms and homeworks, and managed to almost fail the class because of the final exam. I sat through the three ho…
- Biweekly problem sets (20%) (5 per semester) requiring 4-6 hours each. - 2 difficult midterm exams (20% each) (average = 40 - 70). Little to no partial credit, generous extra credit problem on each is definitely worth doing. - 1 Final exam (40%)
Without a doubt one of the worst instructors I have ever had the misfortune of encountering here at Columbia University. Unhelpful and inflexible in terms of grading, which was itself extremely harsh. Exams covered a great deal of material that was never taught/explained in lecture, and were extremely esoteric/pedantic in nature, requiring extreme depth of knowledge in these areas. Instructor read straight from textbook, except in a way that was more incomprehensible than the textbook itself (due to his limited English-speaking/comprehension ability), rendering lectures utterly without merit. Choi actively discouraged students from attending lectures or approaching him with questions. 11/10 would not take again; wait for Aho to teach the course,
Very reasonable, especially for a comp sci class: 5 problem sets worth 20%, two midterms worth 20% each, and a final worth 40%. I took Discrete Math with Gross, and the workload is similar. (Unless you've taken a lot of formal, proof-based math classes, you should take Discrete before this class. Plus, Gross is amazing!) The problem sets are spaced about two weeks apart, except for midterm weeks. They usually took my study partner and me 4-8 hours. If you really understand the concepts, the problem sets are straightforward. If you don't understand the concepts fully, expect them to take longer. One last note: it's totally okay to get a used version of the textbook. He posts the entire question, so you don't have to worry about the numbers not matching up.
I am currently taking Comp Sci Theory with Choi, and I would definitely recommend him. At first the class was boring, because he taught straight out of the book. By the first midterm, I only came half the time, because it wasn't interesting. Before the midterm, he did an informal survey evaluation to see what the class thought. I was in his office hours before the midterm (like most professors, his office hours are useful if you have specific questions). As we were packing up to leave, he said that the evaluations had been really bad, and he had to figure out how to change the class. At this point, you might be wondering why on earth you would take this class. Here's the thing: he really listened to the evaluations! I came back to the first class after the midterm, and he had totally changed the way he taught. Instead of going through every proof step-by-step straight out of the book, he focused on the main concepts of the proof. He engaged in a dialogue with the class, asking how we would approach a certain question, and breaking it into manageable chunks. For example, he might start by asking what approach we should take (proof by contradiction, diagonal method, etc). It's amazing what a change there's been in the class. As far as I'm concerned, if you want a completely formal, rigorous proof of every theorem, you can read the book. (I should mention that the book he uses is…