Discrete Mathematics

May 2021

I took both discrete math and computer science theory with him. He's the best. An awesome professor. I'm going to graduate this year and after experiencing a ton of CS professors, the previous reviewer has to be kidding me. I hope Columbia continues to bring him back. He's WAY better than the regular professor who teaches Discrete *coughs* Ansaf *coughs*. I've taken a class with Ansaf and it's truly my worst Columbia experience. The previous reviewer seems to have an issue because Robert mainly teaches at a small college (he sounds elitist to me). LOL great researchers does not mean great teachers. Robert is actually one of the best professors I've had at Columbia. He posts lectures beforehand to accommodate those in different timezones (since at that time in 2020 recordings took 24 hours to be posted instead of right away like now in 2021), and also to allow students have a head start on the HW since the summer schedule is condensed. He's available during office hours and the TAs were great. He even accommodated students during the exams for those in different time zones. His grading was generous, AND his teaching was great. He definitely does NOT just read off the notes. The notes are literally him minimizing the students' work: instead of having students take notes during class, he provides enough notes that lets you just focus on the lecture, and then use the notes to study for the exams or a guide for the hw. He also fixed the typos of the notes and re-uploaded them :/ Like really the previous reviewer just comes off as an elitist and everything he said was wrong. His lectures were sufficient enough that I did not have to resort to the textbook or any other online resource, which says a lot, and I am by no means a math genius. Take him.

Jan 2021

Hands down the most annoying class I've taken so far. A lot of students are saying this is an easy class but I have to respectfully disagree. I will agree with one thing from other reviews: Prof Ansaf is a really nice person. Grading literally took ages, with no communication from the TAs or the Prof on why it took nearly a month to get our assignments graded. This made it difficult to see what I needed to work on, and also strategize if I should skip the last assignment or not (since the lowest assignment is dropped). The Head TA for this semester was, to put it nicely, rude. That is the nicest word that comes to mind based on their class-wide announcements and personal interactions. I'm sure they're smart and are very knowledgeable on the subject matter at hand - but their communication skills when interacting with students are poor. That said.. there are some things I really enjoyed: Generous final grade, +2 pts if you submit something on time, implementation of Python coursework is a great addition to the course, allowing 'coding group' to work on a coding assignment together was a great way to meet new people in a virtual environment. Caveat: I took this class in Fall '20 in the middle of the pandemic. While I faced a heavy workload due to this course I'm sure the teaching staff did as well.

Jan 2021

Ansaf is one of the kindest professors you’ll meet at Columbia, but she’s a mediocre teacher; she’s too prone to glossing over the meat of the material. Everything you need to know can be easily found in the lecture notes she posts at the end of each week, so attending lectures is pointless. I think attendance trickled down to 20-30 students after the midterm. I will say that the course felt rushed near the end. Discrete was recently bumped up from 3 credits to 4 credits because the syllabus was revised to add more targeted prep for classes like AI. However, it’s clear that Ansaf was not ready for this change. We went through the first three chapters at a snail’s pace before the midterm, and then Ansaf had to cancel a full week’s worth of lectures because she got COVID. As a result, the second half of the semester felt strapped for time, and we blitzed through the rest of the material. It got to the point where I don’t feel adequately prepared for classes that require Discrete as a prerequisite even though I got an A in this class. On the TAs: it seemed like most of them were TAing for the first time. Piazza posts took forever to get answered, and it usually took a few weeks for graded work to be returned. I never attended their Friday recitations, but the problems they made were generally harder than the homework or exams. Being able to solve these problems means that you truly understand the material, so be sure to do them if you know you’ll need Discrete in the future. At the end of the day, I’m not sure if I can recommend Ansaf’s version of Discrete. It’s one of the easiest classes at Columbia and doesn’t require a ton of work, but don’t expect it to sufficiently prepare you for higher-level math or theoretical CS classes. If you have the option of testing out, I think doing so and taking a more advanced course in its place would be a better use of your time unless you desperately need the GPA boost.

Jan 2021

This was a great class. Ansaf is an excellent professor and cares a lot about her students. I took the fall 2020 version of the course which was entirely online. Ansaf did a terrific job adapting the course to an online format. I am talented at math (A+ in the course) but still got a lot out of the course. I think prior reviewers do future students a disservice by saying the class is too easy. So here are the exam stats for my semester: midterm average was 88.6 and the final exam average was 78.4. Clearly many students struggled with the material on the final exam. It was a very fair exam -- my point is that the class is not trivial if you really want to master it. Some students have said that it is easy to hurt your score by making a careless mistake. The class is not akin to a heavy computational Ordinary Differential Equations course where a single mistake is easy to make and will throw you off. If you are making mistakes on the problems in this class, you generally do not have a perfect understanding of the concepts. And these are key concepts in mathematics. If you actually pay attention in lecture, read the notes, and also read the text (the Scheinerman text is solid), you will learn a few important concepts even if you have a solid math background. And these are very key concepts in math. The coding assignments are good Python practice. Even if you place out of the course, I would recommend taking it. It's a very crucial course in one's intellectual development and it's enjoyable.

Dec 2020

I was really disappointed with this class. Professor Salleb-Aouissi is probably one of the nicest professors I've had at Columbia but the curriculum for this course was a joke. We went extremely slowly, not in-depth at all for any unit, and had to condense graphs (one of the hardest units) into a single lecture and didn't even touch on the harder concepts in graphs. Nonetheless, if you want an easy A, take this course. What really irked me more than anything though was the TAs. It seemed like they did not communicate at all with one another. Frequently, you would get two completely different answers if you went to two different office hours. Furthermore, the grading was sooooo slow. I get that TAs are also students but most of these exams were multiple choice and the coding is run through an autograder... so taking three weeks to grade the assignment is a bit of a letdown.

Dec 2020

Very very easy. Ansaf is a lovely human, and the class proceeds slower than my high school precalc class. If you want 4 points' worth of an A, go for it.

Jul 2020

For context, I took this class during the summer of 2020 where the semester was purely online. To put it simply, it is a disgrace that this low-level, incompetent professor is allowed to teach at Columbia (his usual position is at Lake Forest College). The first session of the semester is the only time any student had any real class contact with him, the rest were videos that he posted. He would post notes, and in his "lectures" he would simply read out loud the notes. As the usual Columbia student, I can read, so to have the notes in the audio version is definitely not needed. However, since this awful professor clearly did not even write his own notes, they were copy and pasted from somewhere, they were so riddled with typos and errors, that it was un-understandable to simply read the notes. You had to watch him narrate on lecture simply for him to correct the typos in his notes. This Professor barely knew what he was doing, he would be reading out loud some proof that he copy and pasted from online, and it was clear he could not follow what was going on, but I respect his perseverance and he managed to read out loud the rest of the proof while explaining absolutely nothing. It is a shame that Columbia continues to employ him. He makes a bad mark on Columbia's image. To make students pay money for this is truly a crime.

Apr 2020

Do not take this course if you are decently great at mathematics. I absolutely learned NOTHING in this course. I tested out this course but I decided to take it anyway to graduate in time. It was the worst mistake I had in Columbia. The problem is that the professor did not go over anything in-depth and I am not even sure she knows the content well.

Oct 2019

I took this class Spring 2018 Professor: I think that professor Ansaf is great. Really, despite all the comments written below I still think that it is unfair to moke professor only because she is a naturally kind person. She was always approachable and her course was extremely well organized. Organization: - first of all, you can see all the topics she is going to cover on courseworks from the very first day of the class - you can also see the dates of upcoming exams/midterms to organize your schedule (you may think that it is always the case but once you get more experience with Columbia, you may realize that it is NOT) - there were always availability of lecture notes handwritten and typed (also very helpful and rare at Columbia) - there are two books for this class which cover all the material but students usually do not notice the existence of the second one: it is only for "inference topic" but you do not have to buy it. All of them are always available at the library OHs: I personally never went to OH and I cannot say anything about TAs for this class, but the overall organization was so great that I even didn't have to! Everything was in books and lecture notes. Exams: Midterms were great: you can have a cheat sheet with formulas you may forget. Then you do not need to study formulas: you basically have to UNDERSTAND the material. Moreover, it consists of numerous small problems: it never happens that the problem is worth 40-50-60% of the exam (as it happens in other classes: but you realize it again only with more experience at Columbia). That is why when you cannot solve something - you still will be fine. Overall feeling: It was the only course where you didn't need to stress out and be scared as hell before exams if you missed a lecture because everything was organized so well that another student even didn't need to go to a lecture. Probably, that is why everybody decided not to attend lectures and then to complain. Teaching style: This class is big: one section is around 150 students. And it is always hard to explain material if there are so many people. If you go to the lecture and keep attention to what the professor explains - you will definitely enjoy her teaching style. If you stay in the last row and spent half of the lecture on facebook - you probably will not enjoy her teaching style. That is why to enjoy this class I would suggest to go to the lecture and try to listen to the professor, to attend her OHs: it is the only way you will really enjoy the Discrete. Believe me, Ansaf is great: you just have to keep attention to what she is saying. In any case, if compared to other classes, you always will be well equipped with all the materials needed.

Mar 2019

Professor Ansaf lies somewhere in between awful and good. Extremely friendly and approachable but very mediocre when it comes to teaching the actual material. This is not really a big deal because discrete maths (as taught in Columbia anyways) is a very easy class, lacking all the rigour that makes discrete mathematics actually useful for CS. My biggest problem, however, are the ridiculous midterms , designed not to test someone's knowledge and understanding but rather how careful one is in avoiding silly mistakes. If you are taking this class, you better hope you are the type of person that does not make dumb oversights or else you really are in hard for a hard time

Mar 2019

Professor Ansaf lies somewhere in between awful and good. Extremely friendly and approachable but very mediocre when it comes to teaching the actual material. This is not really a big deal because discrete maths (as taught in Columbia anyways) is a very easy class, lacking all the rigour that makes discrete mathematics actually useful for CS. My biggest problem, however, are the ridiculous midterms , designed not to test someone's knowledge and understanding but rather how careful one is in avoiding silly mistakes. If you are taking this class, you better hope you are the type of person that does not make dumb oversights or else you really are in hard for a hard time

Jan 2018

Don't take this class - it isn't worth the paper you will write notes on. Overall, one of the worst classes ever. Ansaf is very nice which is a redeeming factor for her but her TAs are lazy and never graded an assignment on time - we got the midterm back two weeks before the final and homeworks were continuously regraded because one of the TAs decided that the class is "too easy" and said to a few of us that he will take it in his own hands to make the class tougher- completely graded off rubric should never be allowed to TA. Ansaf is lazy as fuck and would be disorganized. Her iPad never works but she insists on projecting it to everyone.

Jan 2018

I took this Fall 2017. Lecture: I know that most students stopped going to lecture at the end of the semester because they found it useless, but I disagree. Although she does post power point slides summarizing what she teaches in lecture, they are a fair amount of helpful examples that she goes over in class which are not included in the power points. These in-class examples are also closely aligned with what she puts on the exams. The overall consensus within the department is that Ansaf is a nice person, but a so-so teacher. This is true. Her lectures were average in every respect: organization, clearness, etc. I was a student that always asked questions in class and she was always willing to stop what she was doing, unlike other professors, to answer my question and make sure I understood. Homework: Took me about 5-7 hours for every homework assignment. If I got stuck, I would go to the TA office hours for help—at OH, the TAs (at least the ones I went to) were incredibly helpful and often just gave me the answer. Homework is doable if you pace yourself, ask for help from your friends/TAs at OH/TAs on Piazza. Exams: The exams are EASIER than the homework, and as I said before the questions on the exams are closely aligned with the ones she goes over in lecture (again, go to lecture). Overall, I would recommend this class. Ansaf's kindness/approachability, combined with a generous curve, make this class worth taking despite the fact that her teaching is so-so. You will learn.

Dec 2017

Ansaf is nice. That is the best thing I can say about her. I had her for Python last year, and she has improved since then, but her Discrete Math class remains disorganized and frustrating. Ansaf has the basic skills of a teacher. She is able to introduce and explain new concepts and provide examples to clarifies what she means. Beyond that, though, she becomes very repetitive. She teaches at an extremely basic level without any breadth or depth. Her lectures could be condensed to fifteen minutes. Her lectures are organized and simple, which made them worth going to rather than just reading the textbook, but not extraordinary or even excellent. Ansaf's exams are a nightmare. Not that they're hard - they're actually quite easy, according to the nonexistent curve. Which means that if you make a mistake, there will be no "safety net" to catch you. Her exams simply aren't rigorous enough. You need to be careful and achieve perfection. Watch out for the TAs: their grading is arbitrary and aggressive. You will lose a large number of points on small mistakes. The quality of class is subpar but you will survive. You'll just be miserable while you're there.

Dec 2017

Ansaf is so, so kind and helpful, but tends to oversimplify concepts in class.

May 2017

I took this in Fall 2016. Disclaimer: I got an A+. Discrete math is an easy topic, but the professor is a bad, boring, slow lecturer, and the TAs are neither very friendly nor understanding (although very responsive). They all seemed to think they were much smarter than every student--and I'm sure they all A+'d the class and think this is easy stuff, but that doesn't give them an excuse to talk down to us. I have friends taking this now (Spring 2017), and they also think the TAs are very full of themselves and have times gotten into little spats with students on Piazza. They're constantly arriving late to office hours, sometimes unable to solve the homework problems that they make and assign themselves, and overall just incredibly pretentious. Take this class with a different lecturer--or just different TAs--if you can.

Jan 2017

This was Jessica's first semester teaching (she's a PhD student in Computer Science), but that's not necessarily a bad thing. She was always prepared for questions and had reasonably thought out lecture material. I've heard that her class was harder than Ansaf's but that's not necessarily bad either. More importantly, Jessica is relatively engaging in class, helpful at office hours, offers (maybe too much) extra credit and does all she can to make sure you learn and do well in the class. A side note: a lot of people fled this class when the first week finished because she assigned far too much material, but she recalibrated after everyone let her know.

Dec 2016

Ansaf is a strange breed at Columbia. I've never seen a teacher care so much about the academic and personal well-being of her students. Step into office hours and she exudes warmth and happiness. Her and the TAs were very responsive on Piazza, and also very willing to listen to arguments for grading changes. Lots of partial credit on exams as well. Overall pretty easy class. However, the actually teaching quality has a high variance. I think she does a fine job of explaining stuff, but she goes extremely slowly and there is almost 0 value to actually showing up to class, when you can just skim the entire week's powerpoints in 20 minutes and have caught up on the material. Overall, I would definitely recommend this section. However, if you want a rigorous understanding of Discrete, and also to be challenged in class, I would look elsewhere. Jessica Ouyang taught a concurrent section the semester I took the class, but she was less popular simply because she offered those things and people (including myself) were too lazy and just wanted to get out of a requirement.

Sep 2015

Ilia is a decent professor. He's extremely clear about what he means and often repeats himself to make his point even clearer. That being said, the class could be rather dull, and it wasn't always easy to motivate yourself to go. His exams (2 midterms and a final) were very similar to the practice tests. The problem sets were straight out of the textbook. If you did the problem sets yourself, and the practice tests, there's really nothing else you needed to do for the exams. He also has a pretty fair policy of allowing up to 2 late days for 2 homeworks and you get to drop one homework (There's only like 6 or 7), so it's not too bad. That said, Ilia is supposed to be a tougher Discrete Mathematics professor than some of the others out there, although I didn't think he was too bad. The class average in the exams was usually between 60-70, but the class is curved so I guess it didn't matter too much.

May 2015

Disappointing class. I've never had a CS class I dreaded more than this one. A lot of the content of the course was super interesting but it was totally lost through the lecturer. Vovsha's slides were confusing and his classes were extremely boring. Yes, he had maybe two interesting classes where in showed the "magic tricks" but that was about it. I attended every single lecture and tried to be on my A game but his powerpoints were convoluted and his explanations were even more confusing. The class was painful. I tried seeking out extra help through the TAs of the course (generally CS TAs are incredibly helpful and patient). But every other day we would get emails informing us that the TAs would unexpectedly cancel their hours. Like COME ON. (I'm also a TA for a bio class and I've canceled my hours before but every other day is excessive). Also, I've been to multiple TA sessions (I've sometimes woken up at 7AM to make the 8AM session) only to have the TA NOT SHOW UP. SERIOUSLY??? This class was just so incredibly frustrating. Lastly, I do not find Professor Vovsha to be a kind or helpful professor. I went to the review session for the final and I remember asking a question about an intermediary step and why it was necessary. He didn't answer my question and he was extremely condescending. He made me feel so dumb in front of everyone in the review session. I've never felt that way before for asking a question and it prevented me from asking any more questions during the review session. Don't take Discrete Math with Vovsha.

May 2015

Vovsha is an okay professor. He lectures using his PowerPoint slides (provided on his website) and uses the chalkboard for examples. His explanations are generally pretty clear, although you will have to do some reading on your own for problem sets and exams. Occasionally he does cool demonstrations like a "magic" card trick. He's also an international chess master, so he's pretty smart. His class is definitely tougher than Strickland's. Most people agree that they learned more from his class than they would've under Strickland. Overall, he's okay. But there's really no point in writing a CULPA review for this since he's graduating and probably leaving Columbia anyway.

Apr 2015

Somedays he can be a good lecturer. He defines things like a mathematician would - clearly and precisely. However, not everyone is a mathematician, and his definitions can sometimes get lost on me. Most of the time I found him to be reading off the slides, though he is quite helpful in explaining some portions of the course. But he's pretty funny, and he has had more lectures that were good than those that were bad. One lecture was amazingly funny - he performed a card trick that will leave you bewildered, and offered bonus points to those who could solve it (hint: it used the principles taught in class). I would take his class, but also be prepared to study from the textbook. I didn't find the textbook to be that bad, and the combination of textbook and Vovsha is more than enough to pass the course.

Mar 2015

Vovsha is a very confident and organized lecturer. He has powerpoints of all the lecture slides he uses and his lectures are NOT just reading off the slides (or the textbook, for that matter). He was able to make the material very clear and genuinely interesting for the class by putting what we learned in context. He can also be pretty damn funny. Overall, if you are on the fence about taking a class with Vovsha (he has a definite lack of culpa reviews), I would definitely say DO IT! You won't regret it.

Dec 2014

Despite what past reviews have said about Dawn, there's another perspective that's worth considering. Which is that she is an incompetent teacher w.r.t. teaching concepts that students are not already familiar with. For students with a strong mathematical background, this is no problem, because, as previous reviews have mentioned, this class covers more breadth than depth. But because of the increase in CS majors, there's a corresponding increase in students in the class who haven't had as rigorous a math background. For us, Dawn's explanations leave a lot (everything) to be desired. She frequently backtracks, corrects herself, and equivocates when answering questions, e.g. (in response to a student's question) "Well, you're right if we're on the same page," which is a non-answer, or "If you're confused just try the practice problems on this at home," which defeats the purpose of going to class. The fact that the class seems to be split into students who have seen everything except graph theory before and students who have seen none of it means that, at least this semester, the latter were afraid to ask questions, which Dawn read as comfort with the material rather than confusion about the concepts (and/or the motivation for them). Disappointing, because I feel like the subject could be rewarding as taught by a teacher good at working with large audiences. Avoid Dawn's section of this class if you can.

Nov 2014

She is without a doubt the worst professor i've ever had at columbia. She was rude in person, would constantly screw up proofs in class, and would generally explain poorly. Everything I learned from this class, I learned from the (somewhat lacking) textbook. Avoid at all costs.

Aug 2014

This review is for the summer session Discrete Math class with prof. Robert Holliday. He only teaches in the summer, and apparently he has been teaching at Columbia for many years. He seemed really nice in the beginning, but that turned around quickly. He doesn't care about the students actual learning the material; every lecture felt rushed. The homeworks were very long. However, they made up mere 20% of the final grade. I thought it was unfair given the amount of work you had to put in in them. The midterm was very easy, too easy, I'd say. He gave us a study guide and said that what wasn't on the study guide would not be on the exam. That wasn't true: one problem asked to use a formula that didn't appear on the study guide. The final was much harder than the midterm. It seemed that he made it so intentionally to force a better grade distribution. If he's the only option for the summer, don't take it. Just take the regular class in the fall or spring.

May 2014

I'm sorry but this class is just not on par with the equivalent classes offered by other top universities . While you learn basic (extremely basic) proofs, a bit of probability and counting, and some graph theory - you learn very little of all and you only learn it at a very practical level. Professor Strickland will stop to take every question and it's a large class so expect to spend a lot of time listening to things repeated over and over again. The homeworks are pretty easy and all done through CourseWorks so a textbook is not necessary unless you want to do the practice problems she recommends, which are only worth it if you don't have a decent math background because the homework and test questions can all be solved using the same techniques used on examples in class. If you're the kind of person who prefers to read the textbook - just buy it and don't go to class. The tests are pretty easy if you enjoy math and more than enough time is allotted. An honors class in the subject really should be offered but in the meantime, enjoy the easy A if math is your thing. And don't look at the homework given by many other schools or you may find yourself depressed it's way beyond what you were taught.

Jan 2014

Professor Gross has retired and probably won't be teaching again. CULPA wants me to write more. Let me say simply that he taught this class for ~30 years, and it shows in ways both good and bad. His lectures were polished, sometimes a little too polished and he was more focused on the small talk and jokes than the materials. However with his lecture slides, and the fairly good textbook, it mostly went well. His exams are what you expect, and since they're open book they are much lower stress than you might otherwise think.

May 2013

Dawn definitely does not deserve a silver nugget. Yes, she is generous with grades and is very friendly, but she does not teach! Discrete Math is a very broad and deep field. We hardly did anything in this class. She spent a lot of time doing basic probability and counting, and not enough time on more advanced concepts. We just brushed over loads of cool graph algorithms and problems, without actually solving one in class or seeing in depth proofs. Dawn's tests were of decent difficulty, but she did not expose us to problems of that difficulty before hand, which was frustrating. This class should have an honors sequence.

May 2013

Previous comment said Dawn was a good teacher despite the classing being too easy, but I actually doubt if Dawn really taught well. She seemed to mess around with what she said in class: A frequented scene was she wrote on the board, stopped, and found out what she just wrote was wrong, and more wrong than a pen slip. I don't think this is expected of a good teacher. In fact, both the course textbook and a TA recitation session seemed to have better instruction than the class lectures.

May 2013

Firstly, as the previous reviews have stated, Dawn Strickland is one of the nicest professors you can have. She is very friendly and approachable and will gladly answer any questions you have. However, I have several gripes with the course (not necessarily with Dawn herself). To start, the textbook for the class is garbage (Discrete Mathematics and Its Applications by Kenneth Rosen). It's full of convoluted examples with little explanation for how the problems are solved. The information is conveyed in the most elaborate terms, and once the material gets difficult, it is extremely difficult to understand. I think the textbook really needs to be changed. Just check out the Amazon reviews for it: Secondly, the optional homework comes straight from the book. I'm certain that almost nobody did it, because (1) it's optional, and (2) the book is no good. There are no quizzes in the class either, so your grade is entirely dependent upon the exams. However, Dawn's lectures are well-structured and pretty informative. You can learn most of the easier material just by going to lecture. However, once the material got harder, I couldn't understand much of what was going on in class. To study for the exams, I pretty much just Googled what I needed to know from the book and then took her practice exam. My last gripe is this. I actually did well on the exams and got a good grade in the class- however, I cannot say that I know much of anything about Discrete Math. I really don't feel like I learned anything from the course. If you asked me what Discrete Math is and why it's important, I couldn't tell you. I studied in a way that allowed me to do well on the exams for some reason, but I'm still confused about much of the material and really was not satisfied with the course. As a whole, I don't think it's hard to get a good grade in the class. It just wasn't a very pleasant experience, and I feel like the course needs a major overhaul.

May 2013

In this review, I'm going to be very careful to distinguish between the content of the course and the instructor. I can't say enough good things about Dawn both as a person and an instructor. She is an excellent instructor who definitely took her role of teaching this class very seriously and did a great job teaching it. She was always very well-prepared for lectures, easy to follow, and enthusiastic. She's also very approachable and will take the time to answer questions and help students who are having trouble. In class, rather than just doing math on the board, she makes a point to write out (in words) the steps that she is doing when they are confusing, which makes note-taking a lot more valuable. That being said, I strongly believe that the CS department needs to rethink content of the course. What I'm about to say applies to any section of this course taught at Columbia. It covers a wide range of topics, and therefore doesn't have much time to go into depth on any of them. This alone is not a problem, but what is a problem is that the course is way too easy, almost laughably so, for anyone who has a decent background in math. This really would be a good course to have an honors version and a regular version (with both countable towards the CS major and minor). Regardless of who you are, you'll probably learn something in this class. However, some people will learn a lot more than others, and the course attempts to appeal to students who have had a wide range of mathematical backgrounds. As someone with a relatively strong background, some of the questions I heard in class were cringe-inducing and painful to hear. A detailed day-by-day syllabus is provided for the course. I definitely recommend going to the lectures for the material you're trying to learn rather than attempting to learn it out of the book. The latter is possible, but it's probably harder and more time-consuming than trying to learn from the book because the book is not very good. Homework from the book was assigned but not collected.

May 2013

Do yourself a favor and take this class with Jonathan Gross to actually learn Discrete Math. He's not great, but he beats Dawn Strickland. Dawn is probably the nicest professor in the whole of Columbia. She's like a pre-school teacher. This doesn't really help. She literally didn't teach us anything this semester. She teaches the very basics of theory and does some problems in class. She assigns problems from the textbook that are harder than what she teaches in class. Her exams have problems which are harder than the textbook. This is a recipe for disaster. I think math classes should be taught in such a way that students get loads of practice and are tested at a level equal to what they are prepared for, not more. We also missed 3 classes this semester, so we didn't cover a lot of material. In the end, I didn't learn much from this class. I feel under prepared for CS Theory. I think Dawn should count the problem sets towards the final grade, and give us harder, more relevant homework, which will prepare us for the tests. The textbook goes into the subject in depth. You should read the more interesting proofs and theories from the text if you're interested in the subject.

Jan 2013

Although he is adorable, brilliant and very nice, he is not very good at articulating or teaching. I can pretty honestly say that I didn't learn anything from him that I didn't read from the textbook after he already lectured on it, because he is that unclear and confusing. His notes for the class (which he uploads on his website, and you should most definitely print out and bring to class) are wonderful. They are sometimes confusing, but you can always use the textbook to supplement your understanding of the material. The grading of the homework is ridiculous, and the tests are so much easier than the homework. In addition, when taking the tests, definitely read the textbook because chances are, by the first midterm, you won't know what's going on from the class and you will feel like an idiot.

Jan 2013

I am a math major and I needed some upper level courses. Discrete Math had amazing reviews and I thought it would be easy as a class of numbers for a math major amongst computer science majors, right? Wrong. Yes, the material itself is easy (basic probability, number theory, graphs), and you don't actually ever have to learn it because all the tests are open book/notes. However, all the exams are REALLY HARD and getting harder by the year (he gave us past exams for practice). A LOT of proofs, hard graphs on the final, stuff you've never seen before so you can apply random stuff from your notes, AND DID I MENTION PROOFS? So overall, this class requires virtually no work or studying and there's really nothing you can do to prepare for the exams because they are open notes, but the exams are really difficult. I got a B in this course as a math major.

Dec 2012

I cannot believe this guy has a silver nugget... Perhaps Prof. Gross has just become more puzzling as he gets older, because the class described by other reviewers is completely unlike the one I experienced. This guy can barely finish a sentence. He is actually pretty funny sometimes, but the material is unbearably boring and he does a poor job of actually teaching us anything. It is clear that he is an expert on the subject and probably a genius, but he's one of those professors that can't actually teach very well. My biggest issue with the class is that the terrible lectures have almost no relation to the homework assignments, and the homework assignments have almost no relation to the exams. It doesn't help that the TA's are complete sticklers about answers on the homework. They will take points off for almost anything they can. You will most likely heavily rely on solutions found on the internet. Luckily, Prof. Gross provides decent notes on the subject and posts the solutions from previous quizzes and exams. The exams are all open book. Unfortunately, Prof. Gross flies through the material. I only took the class because it is required for all computer science majors. I really wish it wasn't required.

May 2012

The good: Dawn is incredibly fair and straightforward. The material was a breeze. Her exams were only somewhat more challenging than the homework, and lined up with what we did in class.NO problem sets, but there are potentially quizzes every morning. This keeps you on top of your game, though, and the problems come directly from the homework. The bad: She's unbelievalby accomodating to her students (which is great), but this means she answers every dumb question in class...questions that are often too dumb for office hours. This is incredibly frustrating and holds back the entire class. Overall, I'd strongly reccommend her, though. She's a wonderful person and made this class unbelievably easy.

May 2011

Professor Cannon is great. While his lectures aren't always structured like they're coming from an outline you can copy down, they aren't boring and they do get the information across. The point of Discrete Math is to make you learn to think through problems, and few problems in the real world just appear in your head with a clear path to get you from A-B-C-D-E. If it were that easy, it wouldn't be a problem that you needed to learn how to solve. When he lectures, he doesn't just go A-B-C-D-E, he tries to get you to think about the process behind getting to E. The class covered a lot of material very fast, and it definitely helped if you had a rudimentary familiarity with things like statistics, logic, and counting. But if you didn't he gave enough information that you should have been fine. His lecturing style is a bit free flowing. He seems to have an ordered list of a dozen or so things to get through each lecture, and will work through them. He does enjoy occasional diversions to related topics. He clearly likes the material and manages to keep what could be a very dry topic interesting. He welcomes questions, and is one of the best professors I've seen at being able to explain concepts multiple ways when people don't grasp them. If you ask a stupid question, he won't sugar-coat his response, but he won't out-right mock you either. And in one-on-one interactions, he's great. Very approachable. On the downside, he was usually 5 minutes late to class, and there was a very long lag time for homework to be graded and returned. And he LOVES his definitions. Make sure to copy them down and memorize them for the exams. You'll need them both for the terms section and also for the proofs. They're the keys to the kingdom.

May 2011

I have to disagree on most accounts with the below polemic on Adam Cannon. There are two separate issues needing to be addressed here. First, whether or not Adam Cannon taught the class well, and second whether or not it was hard and time-consuming. I can say that I thoroughly enjoyed the class and, as usual, found Adam Cannon to be an engaging and witty lecturer. It is true, he wasn't on cruise control as he is while teaching 1004, but he was still very good. His explanations were intuitive and clear and he realized that most people taking the class had not had previous exposure to a higher level of mathematics. As a result, he time again emphasized and explained to us, the importance of thinking truly mathematically as it were. In other words, he taught us to recognize the importance and place of proofs in mathematics and stated that while examples are often helpful, they are simply not adequate to understand abstract concepts completely. He sometimes proved theorems which were not in the book, so be aware of that and occasionally makes notational mistakes on the board so don't be afraid to point them out as he often doesn't notice them afterwards. I felt lost in only one of the lectures which was the one on solving liner homogeneous and non-homogeneous recurrence relations, I don't know what happened there but it seemed like Adam Cannon was having a monologue with the board for 20 minutes. In class, he asks interesting puzzles related to the material and will always give you an idea about the real-world applications of the concepts being covered. He is also just friendly and approachable. He has 4 office hours a week, which is more than most professors, although there is often a line so go early. Definitely go to office hours if you get stuck on the homeworks, he's more than happy to help. He'll rarely give away an answer but will certainly tell you how to approach any given problem.

May 2011

For a Discrete Mathematics course I felt that Cannon did pretty good job. He was enthusiastic about the course material and was clear in his presentation of core principles in Discrete Mathematics. His proofs were simpler than the textbook's but they showed the basis for core theorems and for what he expects in proofs. Cannon was also able to effectively condense a 800 page textbook into only a notebook of notes. While the textbook is huge, most of the material in the textbook are proofs and there are only a 100 or so pages of actual definitions, theorems and algorithms that you need to learn. However,I feel that Cannon was irresponsible in frequently arriving late for lecture.

May 2011

Cannon is definitely NOT a good discrete math teacher by any standard. In fact, he could possibly be the worst discrete math teacher at Columbia. Having had him for 1004, I thought he would be as a great a teacher at discrete math. He cursorily goes over TONS material which he seems not to have mastered well himself, but succeeds at covering it up. He assigns EXTREMELY long problem sets that are proof heavy. Attending class was a major time-sink as he would be late for class, his lectures were unorganized and his class examples trivial, not helpful at all when it came to doing the problem sets.Though discrete math is a useful class, I disagree it is the most important (as Cannon appears convinced) and he should be more considerate of this view. The midterm for the class was fair, but the final impossible. Of the many faults Cannon's teaching style has, the worst is probably the fact that the final is cumulative, with approximately 700 pages worth of material--including over 300 vocabulary words and proofs--to know by heart. Strongly consider taking discrete math with another teacher.

Jan 2011

God, Professor Gross is wonderful. I want him to be my uncle. That said... the class was really entertaining, not particularly hard, and basically lots of fun if you go to lecture. Prof. Gross is hilarious and obviously very smart, but he has the best, nerdiest sense of humor (read his quotes page to see what I mean: We actually did a demo of the birthday problem in class!! The work is on the easy side, but laughably easy. It's a smorgasbord of fun, interesting stuff. This is DEFINITELY a recommended class for those of you who need tech electives.

May 2010

Don't know why the CS department did this, but Abishek was a grad student when he taught this class. First time teaching. Not the greatest teacher in my opinion; but for the first time teaching, not the worst. He stated repeatedly that he was limited by the lecture notes, that he was told by the Professor Gross to go straight from his lecture notes. Which he did. He did a decent number of examples, but he didn't do them very well, i.e. skipped a lot of steps. The concepts didn't really stick. If you wanted something clarified, however, he was very good at answering questions. The things he covered in class often carried over to the test, but never to the homework. What the lectures were doing and what the book/homework emphasized were completely different. They didn't have much overlap. He had abnormal ways of going about tests. He experimented with different ways to do review sessions over the web, i.e. TokBox, Google Wave. It was effective enough, I suppose. He answered the questions that people came up with, but it wasn't as easy to understand; it would've been easier if he did it on a chalkboard. Additionally, the way he grades: if you improve from the first test to the second test by at least 15 points, he'll take the higher of the two. But if you had higher on the first than the second, he won't change the scores. If he is your teacher, I would recommend going to class. Looking at the lecture notes tends not to be enough: he'll go into tangents, which he'll end up testing. Haven't taken the final, but it seems he plans to curve to either a B+ or an A-. He has a tendency to go a bit too much into his personal life. He's also always telling you good courses to take.

Jan 2010

I'm definitely not the only student with a love-hate relationship with this class. On the one hand, much of the material was fascinating in and of itself (NP-completeness, probability tips and tricks, graph theory) and tied in well with 1007 material; on the other hand, I couldn't draw any connection between units and if I didn't understand one intuitively (which did happen) I never really got it (which happened more often). Gross is great and I enjoyed his lectures, though they were at times dry. He really knows his stuff, and loves tangents about the material we're learning (almost all of which helped us understand said material). I'm keeping the text and lecture notes, all of which I'm sure I'll dig out in a few years with intense regrets about not paying more attention during class.

Dec 2009

A strange, infuriating, wonderful class. Almost certainly my favorite class this whole semester, but I can't quite figure out why. Gross is absolutely brilliant -- there's no question about that. He just radiates a sort of aura of genius while he lectures. The class inevitably brings up questions about things that are peripheral to the course material: the incompleteness theorem, decidability, complexity, topology -- Gross can explain it all. But the CS department here is full of brilliant people, and none of them have (yet) inspired the same kind of reaction from me that Gross did. His lectures and course notes are fantastic. Clear, concise, elegantly typeset -- you could learn all the material from only reading the online notes, or from only going to class and reading nothing at all. But Blaer is a great lecturer, and Allen's notes are just as good; again, I never looked forward to either of their classes as much. He's digressive, but...actually, I don't think there's another lecturer in the department quite as digressive as Gross. And maybe that's the point. When your question about the well-definedness of negative moduli launches a fifteen minute discussion of how humans understand made-up words (and no answer to your question), you're learning. When you're treated to a lengthy description of the mechanisms used to solve the four-color problem or the Poincare conjecture, you're learning. The main content of his lectures teaches you discrete math, but the digressions teach you to think like a computer scientist. I think CS students here have a tendency to underestimate the usefulness of this class. If you are planning on doing anything in real computer science (and to a certain extent, even software engineering) discrete math is absolutely crucial. If you can't put together a proper inductive proof, you can't do CS Theory, and you can't do Analysis of Algorithms. If you can't reason about graphs, then you'll never really understand what's going on in Data Structures or in Networks. I would have been helpless on the first Linear Algebra homework this semester were it not for the tools I picked up in this get the point. This is powerful stuff. Learn it from Gross.

Apr 2009

Hui is a very good TA for Professor Grinspun. He held a quite helpful review session that clarified many of our questions about Midterm 1. Hui is willing to stay late to explain the subject for us, and is very patient with students. During office hours he is knowledgeable and clear. In my experience, Hui's grading of assignments has been meticulous, and assignments were returned in a timely fashion. Hui seems to be doing well in all aspects of his TA responsibilities.

Apr 2009

Etienne is great. As a TA for Professor Grinspun, his performance is consistently above and beyond the call of duty. He routinely stays long past his posted office hours to finish addressing our questions, and sometimes holds extra office hours as needed (including after class). Etienne is one of the few TAs I've seen who actually takes the trouble to attend Professor Grinspun's lectures. The occasional course lectures he has given are as clear as the professor's, and it would be hard to improve on that level of clarity. Etienne's other responsibilities include writing the homework assignments. He is very good at making homeworks appropriately difficult (challenging but not impossible) and using homework to supplement the educational content of the lectures. He is also patient about clarifying our questions. The homeworks prepared us well for the exams, which Professor Grinspun wrote.

Apr 2009

Discrete Mathematics, as taught by Professor Grinspun, is a CS prerequisite I am very happy to be taking. Professor Grinspun's computer graphics research is really cool, but that is outside the scope of this review. The main strength of COMS W3203 is clarity. Professor Grinspun's lectures are so understandable that I have not usually needed to read the textbook in depth. If anything, they are too basic and move too slowly, although there is plenty of time to ruminate on the materials in class. The textbook (by Kenneth Rosen) is also excellent, being both engaging and informative. The difficulty and pacing of the course changed relatively little as the semester progressed, a teaching accomplishment in itself. The curriculum focuses roughly equally on proof-writing and problem-solving--a fair division, although I wish there had been more discussion of how Discrete Math can be applied. The homework was where most of my learning took place, and it would have been a mistake not to do it as thoroughly as possible even if each assignment is only 4 percent of the grade. (Not everyone does their homework thoroughly.) Homework is ABSOLUTELY ESSENTIAL for preparing for the three exams, which are long and complicated exercises in problem-solving and proof-writing speed. As a warning, almost no one could finish the second midterm exam. This includes some of the best remaining students. Fortunately, the exams' open-book nature and the grading curve meant they were actually easier than exams in many other classes. The 6 homework assignments were 9 to 20 handwritten pages each, and each one usually took me 10-20 hours to finish. Many questions were difficult, and office hours often saved me. This course has a high attrition rate--perhaps one-third to more than half of the original students choose to drop it after the first lecture, including some of Columbia's best and brightest. There might be several reasons for this. Professor Grinspun calls on students unannounced and does not hesitate to embarrass them (although I never saw him embarrassing anyone unprovoked). Homework 1 was as difficult as the other assignments, which may have led some students to believe the course would be more demanding than it actually was. The heavily proof-oriented nature of Discrete Math may also have scared off some. In my opinion, DROPPING THIS COURSE INSTEAD OF PRESSING THROUGH IS A TERRIBLE MISTAKE. My experience was that around week 4 of the course, proofs suddenly became less intimidating and around week 5 or 6, Professor Grinspun mellowed out. What students contend with is a not especially time-consuming commitment, as CS courses go, and possibly one of the 5 best undergraduate courses in the CS department. I enjoy it, and would strongly recommend it to students with the appropriate background (some introduction to programming such as COMS W1004; pre-calculus or, better yet, calculus; and, if you're really concerned about writing proofs, the supposedly well-taught Introduction to Higher Mathematics).

Apr 2009

Great course. Makes a somewhat dry subject incredibly interesting. Very lively lecture... one of the few CS classes I really have enjoyed attending. If you can take this class with Grinspun (he tends to teach in the Spring), so do. Homework is difficult, but not extraordinarily so. Midterms are very difficult, as they are open book so they test not what you could memorize but how adept you are at solving the problems. It is also possible to recover from a bad midterm... I nearly aced the first midterm (missed one or two points), but the second midterm I don't think I managed to get more than 20/90, but with a decent score on the final I still ended up with an A-. Not to mention, the questions on the homework and exams are actually somewhat fun (interesting questions, not dull or boring ones for the most part), which is always a plus.

Dec 2007

Gross (pronounced the way it's spelled) is a guy devoted to his work. He's decently approachable in class (especially if you're in the 10 or so who actually go) and he's full of fun stories. He wrote the study-guide for the book that you'll use. That book actually is pretty good and I'll be keeping it for future reference. The stuff you'll be doing will be probability, recursion, recurrence relations (kind of like ODE material at times), relations, and most fun was Graph Theory. Gross tends to like tangents especially if they relate to his line of work - Graph Theory. The amount of material this guy knows is simply astonishing and he delivers it well. If you can imagine a sweet grandfather figure that would likely be Jonathan Gross. Unfortunately you're either so bored because he goes through the material so slowly or you're bored at his new anecdote. Take this class. Its average but worth your time.

May 2007

Good professor overall. Entertaining in class, made a potentially dry subject quite interesting. Overall workload easier than one would expect; while each HW assignment was reasonably challenging and lengthy, there were only 6 of them in the whole semester. Material was pretty easy, and it would have been useful if we could have moved along a bit faster. Midterms were challenging, but were also open-book which means you wouldn't have to memorize stuff. Recommended, but they should probably make the class a bit faster. And maybe spend some time showing where the knowledge can be applied.

May 2006

Well, everyone else loves him, but I didn't. He's not a bad guy or anything, but this class is so dumbed-down that you'll wonder why the CS department requires it. I could've aced the final before I took the course, and I'm not all that good at CS, even. Meanwhile Eitan is talking to the class like everyone's a seven-year old. It's easy and the curve is great... too bad it's a waste of your time.

Jan 2006

He has an eccentric sense of humour, which you will probably find either entertaining or ridiculous. He lectures using course notes which he has posted online and rarely uses the chalkboard to solve problems (often he gives solutions verbally, which may not always suffice). Exams are open book and are fairly similar to his posted practice exams. Homeworks were graded a bit harshly, but they don't count for too much. Exam grading was much more forgiving. Attendance isn't necessary, but you may find it helpful as he shows you some tricks when he solves problems (and afterward you don't really need to read the book). Overall, the class is not too hard and professor was mediocre.

Jan 2006

Professor Gross is receptive to students who show interest in the material, and tries to make the class entertaining. Unfortunately, the material can be pretty boring, and it can be difficult to get a hold on it in the classroom setting. He lectures from his class notes, which are available online and are meant to summarize the textbook. Given this teaching style, I have to say that Gross is pretty good at keeping things interesting. At the end of the day though, it's still a lecture from a notes on a projector. The material can be very difficult at times, and I sometimes got the sense that your performance in this class was more of a function of your innate capacity for discrete math (and less about effort.)

Jan 2006

Prof. Gross is an interesting lecturer and fairly approachable too. His main problem is borne of his love of the subject - I think it's tough for him to relate to people who don't understand the material, so he has difficulty packaging things in a friendly way. In fact, the material, both in the course notes that he teaches from and in the book, seems to have no regard whatsoever for the idea that mathematical concepts needn't be articulated in obtuse shorthand that caters to experts, not students in a class with the barest of prerequisites. If you're having trouble with a concept, you'll probably have to see Prof. Gross in office hours and see one of the TAs and spend some time curled up with the book. Prof. Gross teaches directly from course notes that he posts on the class website. You should consider it pretty much a requirement that you print out the course notes before class and bring in the printouts to write on. Otherwise you'll be scrambling to write stuff down in class, and you'll miss most of it. If you print the course notes and read them and the assigned chapters in the book before each class, you'll have a much better idea of what's going on during the class. The problem sets and exams are quite difficult. You can count on having to run crying to the TAs on at least some of the problem sets, so you should leave time to do that before they're due. Prof. Gross says he writes the exams aiming for a class average of about a 60. They're open book and open notes though, so that helps. He posts some old exams, so if you can do those very well (and you should, as practice), you'll be fine. If your final average is in the high 70s, that should earn you an A-.

May 2005

Prof. Grinspun managed to make this difficult class at the very least entertaining. His lectures are worth going to, not only because he explains things well but because his jokes are surprisingly funny. He actually learns his students' names and calls on people randomly during class. As for the subject itself, the book is pretty poor and has examples that are ridiculously easy compared to the exercises. This is an often weird and abstract class, but it's curved, so try not to worry about your grades until the end.

Mar 2005

Eitan is awesome! I have heard that the older guy who used to teach this course was really dry and boring (and I don't know if Eitan will teach it again in the near future) but Eitan is completely hilarious. We spent half of the time in the course joking around with him and he really listens to his students. The book mostly sucks, the examples are all way over-simplified to really help with the homework, but Prof Grinspun does a good job of getting the whole class to work out more difficult examples during class. The TAs said that Eitan was the nicest professor they've ever TAed for and it seems to me they were right, his tests and homework assignments were very very fair and he encouraged the TAs to be easy graders. It's probably a bad idea to skip the class unless you have a friend whose a good note-taker because he does go over material/ do the aforementioned really useful problems during lecture that aren't in the book. He's almost always a few minutes late to class though. The class is pretty easy if you're a CS/compE major but if you're having trouble with something Eitan's totally accesible and willing to help you. After I did not so great on the first problem set, he was willingly 10 minutes late for a collegue's talk just so he could finish going over example problems for the midterm with me.

Jul 2004

Excellent professor. He's an animated and entertaining lecturer who covers a lot of concepts with in-depth and interesting examples and applications (e.g. counting poker hands during the probability lectures). Everything you learn comes from the lectures-- the text was more of a backup and for homework exercies, and since they go by pretty quick, I'd say you have to be damn brilliant to not have to show up. I'm no math genius, so I found the material pretty difficult-- he'd often cover proofs in class that wouldn't sink in until I went though my notes and thought everything through much more slowly (and even then some never fully did). Even so, it certainly wasn't impossible to grasp the concepts and be able to do well on the homework assignments and quizzes. Exams were really challenging (all in-class, 4-5 questions), consisting of completely original problems that required you to apply in new ways the skills acquired from lecture. Your success on exams, in my opinon, will largely depend on your mathematical creativity-- how flexible you can be in applying the concepts you know to a problem that's pretty different from what you've seen before. In my case, the particular way of working out some exam problems just would never have occurred to me (how to begin a proof, where to go next after you've reached a point, etc.), especially under the stress of an exam, so I did pretty bad on them. But they're curved pretty generously, and if you do well on homeworks, you can still do well in the course (and hard exams are nice-- they really get you to think). More important, though, the class is always interesting, and I think (especially if you haven't taken a course like it) you'll find yourself much better able to look into a problem then before.

Jun 2004

First of all this class isn't really for the faint of heart unless you intend to do some theory math or be a computer science major. Even though it is in the computer science department don't be fooled it is a math class, algorithms are involved, but the primary workload will be done in math. Professor Grunschlag, like to be called Zeph often in class, is a very entertaining professor, but the man knows his shit, he has a PHD in some theoretical math that i don't understand. You can look at his papers on his website. His in class style is bell to bell an intense, but he is light hearted and loves to be in front of the class room. Zeph is also very well prepared, and has an interesting way of taking attendance. He randomly calls on just about everyone in the class about 3 times from an attendance sheet to learn your names. If your not there when he calls on you, tough luck, you loose points in participation. He will learn your names. He also has an online email newsletter thing that if you participate in instead of going to class he will accept that as participation. Material is tuff, and he is more the willing to help anybody, because sometimes the class isn't enough. Great guy, awesome professor, and if you are going to take Discrete Math I suggest you take it with him.

Apr 2004

One problem with this Culpa free-for-all is that the people having the strongest opinions tend to be those who did poorly. Reading the reviews above, I bet you wouldn't have guessed that PROFESSOR GROSS WAS GIVEN THE INSTRUCTOR OF THE YEAR AWARD, that he is (near) universally loved, that he is very much approachable and takes an eager interest in his students, and that his lecture style is nothing short of brilliant. His explanations are lucid, his delivery entertaining. Mostly, Prof. Gross gives a feel for why the material is important and interesting. I don't mean this in the sense of practical applications of the material (though the training in combinatorics has certainly been useful in my current research), but important in a larger sense. Professor Gross's goal is to make you (in his own words) "become your own expert"- to teach you how to approach problems creatively, and with maximum rigor. This class was probably the most influential one that I took in all my undergrad education. You may or may not appreciate his jokes, but I strongly encourage people to take the class.

Dec 2003

This course is da bomb!! The easiest material ever if you are good at algebra/precalculus/logic/drawing pictures. The course consists of some select topics which Gross does not like to go into depth in. The course itself covers a large number of topics, but none extremely deeply. Going to class is a waste of time except for his jokes, as he basically reads his notes (you can do this in the comfort of your dorm room). The homeworks are a joke as the solution manuals solve similar problems (only the numbers are changed around). The exams are also pretty easy as they are open book and open notes. An overly dumb SEAS contingency lowers the median so as long as you score about 95 or so on each midterm and the final, you are set for an A+. Gross himself doesn't care if you learn the material, as he is not too available, but the TA's are somewhat better (they are like his bodyguards).

Dec 2003

No exaggeration, this was the absolutely worst class I have taken at Columbia. The course itself is very interesting. I am a math major and only took the class because of the material covered in the class. However, Prof. Gross is completely inept. He has this attitude that he is a math genious and if students are naturally inclined in math they will understand his lectures, if not, tough on the student. I agree that this course covers a huge array of topics and the class is very time pressured, but Gross makes minimal attempt to lecture well. His notes that accompany the book are absolutely horrible and worthless (I learned the material from the book which is actually a very well written text). Half of Gross' lectures are anecdotes from his life: he has told us numerous stories when he was a kid and how brilliant he was in math and other information about his life. Also, he never writes on the blackboard (I have never seen this done especially since this is a MATH course...). He explains the concepts poorly and rushes through topics that are very important (I guess I can't totally blame him for this since the syllabus is very dense). However, he expects the students to understand all material as if we spent days on each topic. For example, in my 4000 level math class it took us 40 minutes to go over Cantor's proof for the uncountability of real numbers, but somehow Gross showed us the same proof in the last 2 minutes of class. All I know is that if I didn't previously see a lot of the material taught in this class I would be completely lost. A lot of the material seen in this class is covered in a lot of the higher level math classes and I find it hard to believe Gross expects the students to understand the material at this level. Now, onto his tests. I have never taken a test that is so off topic with the material covered in class. His tests only test you on your natural grasp of math and minimally tests you on the information covered in class. I learned after the 2 midterms that I could have studied for another 30 more hours and not have received a higer grade. For example, his problems seem at first glance a straight forward easy problem. However, there usually involves one tricky step that has nothing to do with discrete math (it usually has to do with "seeing" a shortcut or something like that). Each question is similar to that: you either see the trick or you don't. If you don't see it, you will probably will not be able to start the problem and receive 0 points on it (and this hurts since the test consists of only 5 or 6 problems). Overall, (and I really do hate writing negative comments for a professor) I would say run as fast as you can from this class. If you do not need to take this class as a requirement then don't. I found this out the hard way.

May 2003

Great teacher, good lecturer and cares about the students a lot. He knows a lot about discrete math and he's very enthusiastic about it. Even though he covers number theory which other teachers who teach discrete math don't, this class is still very vaulable and u'll learn a lot from him. His tests aren't bad at all.

May 2003

Unlike the previous reviews, I did not like this professor. Before the first midterm, we learned two chapters, then afterwards we sped through about 6 chapters, learning a little from each. He is very disorganized and doesn't know how to use his time properly. Coming to class was not helpful since everything he taught was in the textbook. Most of the time the text explained things much more clearer. Going to class will not help at all with the homeworks and don't expect to get them back in a timely manner. If you take this class with him, be prepared to do a lot of proofs. This man loves to do proofs..he thinks they're fun.

Dec 2002

This course covers a wide array of material, and you're expected to know it like the back of your hand by the time the exams are given. If you work hard and don't slack the problem sets or practice exams, you'll be good to go. Otherwise.. well, I think half the class had dropped out towards the end of the semester. Overall, he's a nice professor who delivers his lectures with an offbeat sense of humor. Although he has course notes at the beginning of the semester that cover the entire class, it's worth going to the lectures because you can ask him questions, and no question is too stupid for him. He's not one of those professors that thinks he's too busy for his students and is quite approachable. Also, pray that he has knowledgeable TAs when you're taking the class. If you want to learn a thing or two about math, take his course -- you won't regret it. Look elsewhere if you want something less challenging/rewarding.

Sep 2002

Wow! If I had to take a class with him again I would shoot myself in the head first. I did enjoy it thoroughly, however; at least as well as I would enjoy sitting in a room with a bunch of crazy people. At first, it's amusing, but after a semester, you're clawing at the door.

Jul 2002

Zeph is a very nice and very likable professor. I don't know why professors are expected to be entertainers these days, but if that's what you care about in getting an education, I think Zeph always succeeds when he tries to be funny. He is as funny as his jokes so either you laugh with him or at him. Teaching-wise he's quite good; he's clear and he makes good lecture notes. The notes contain most materials but not some worked examples, and the materials are easier to understand when lectured to you than when you read them, so I definitely recommend going to class. Exams are generally tough, requiring thorough understanding and rewarding little for rote memorization. So do try to learn the concepts and don't use memorize the techniques. But if you have a solid math background (probably if you plan to do the CS theory track), the course should be easy for you. Others don't need to worry too much because the curve is quite generous. A note of caution: as with Computability as another poster mentioned, the first half of the course in general is much easier than the second half, possibly because the first half covers concepts you have more likely to have picked up in math classes. Also, things like probability seem to be very difficult for some people and very natural and easy for others. Flip through the book in the beginning of the course to get a general idea of the topics, then gauge your math aptitude/experience to budget your time.

Jun 2002

All the other reviews of Zeph are pretty accurate. He does want to help his students and he is not really a natural teacher. He gets lost in his own example problems at times. His lectures are almost entirely from powerpoint slides so they can be kind of boring. On the up side, Zeph is very energetic, always in a good mood, and must have spent hours and hours working on his slides. The homeworks aren't too time consuming and Zeph tries to construct interesting problems. I think there was a big curve in the end. Overall, you should have no worries about taking a class with Zeph as it should be a pleasant experience.

May 2002

He's not a natural teacher -- without notes, his oral explanations often got a bit confused, and flustered is regular condition for him -- but he really does his best to help students, and it pays off. Classes are PowerPoint, and while he isn't one of the Sleepytime professors who just read off the slides, he sticks quite close to them. This is good, because his slides are really very well done: clear and straightforward with well-chosen examples. All slides are on the course website, which is extremely useful. It also makes attendance very much optional, though lectures are still useful and generally not bad. He's also very accessible, and makes every reasonable effort to help you out.

Jan 2002

Cracks the worst jokes imaginable. This guy has a really strange sense of humor. He's nice though, and his class isn't too boring. His lecture notes are avaiable from copyquick or something, but you need the book to do homework.

Jan 2002

Can anyone say "ZZZZZZZ"? He manages to present what should be easy material in a way that makes it so difficult it is impossible to get through. He curves, so pray that your classmates are dumber than you. He is not very clear at times, and seems to think that you are a moron if you don't understand something. He keeps you late sometimes. Try to distract him into telling you anecdotes, they're far more interesting than the lectures.

May 2001

If you have a hard time to follow in his class don't waste you time going to Ross' office hour. He is going to tell you to do the odd exercises in the book. After he will wait for you to leave. He is not very helpful and he does not make the class interesting. Too bad that some of us have to take his class.

Jan 2000

Prof Grunschlag's lectures improved dramatically in the two semesters I took his classes. He attempts to be funny (and succeeds often enough). He is an easy grader, and although exams are difficult there is a generous curve.

Jan 2000

He starts the semester by saying something like: there are two options, you either have "it" or you "don't". If you have it, you don't need to come to class, you have the book and my class notes to study from. If you don't, I cannot help you anyway. So I am just going to talk about stuff that is unrelated to the title to the class. And he does exactly that. There are 3 seperate materials that one learns: the stuff that he takes about in class, the actual material from the book, and the stuff that he puts on exams (which is basically, mathematical riddles). About the exams, he says that they are intentionally difficult to have a wider distribution: "I'd rather have a range of A's from the 70s and above so that I can distinguish between the very good students and the exceptional ones." The truth is that if you've got "it," he is an enjoyable professor. Since the class is curved, the median is a B anyway, even if it is 50/100 or lower.

Jan 2000

Prof. Gross teaches 3 sequential courses - Discrete Math, Graph Theory, and Combinatorial Theory - and teaches them all in the same fashion. It helps to go to class, but since a complete lecture notes booklet is available and covers everything from the beginning to the end of the semester, you could potentially learn the material yourself. His tests are open book, but are by no means easy - they are often referred to as "the learning experience." Overall, he's a great teacher, and makes the courses bearable even for a math-illiterate like myself.