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.
Professor Gross's graph theory class is accurately described (by Professor Gross) as "drinking through a fire hose." You plow through almost every one of the 16 chapters in his doorstop of a textbook and it's a LOT of material. How good this class is for you largely depends on what you bring to it. If you do the reading ahead of time as Professor Gross recommends (and which I did for the first 7 or 8 weeks), lecture is a good review of the reading plus a few new examples Gross works through and alternative problem-solving strategies he suggests. If you don't do the reading ahead of time (me for the rest of the semester) lecture is a waste of time. It's absolutely impossible to keep up in lecture because there are so many definitions, propositions, theorems and lemmas that if you're seeing the stuff for the first time you'll get completely lost. As I said, it's what you bring to it. It's worth noting that this class is basically a math class, not a CS class, and the tests and homeworks are designed accordingly. They emphasize mathematical intuition and spacial skills more than regurgitating examples from the book in condensed form. Attacking some problems by brute force alone is basically impossible*, but if you can manipulate the graphs in your mind's eye just right you'll see the solution. In the final third of the semester this became somewhat less true because the final chapters of the book involve algebraic topology, which as the name suggests involves solving equations. *The best example of this is a question on the 2nd to last homework that requires you to find the 48 vertex automorphisms of the octohedral graph. If you do it by brute force, you'll never finish. A few friends and I spent a combined total of 12+ hours that way. But if you're a bit more systematic (e.g. finding the stabilizer for a given vertex, then composing some permutations with each other) you can solve the problem in 2 or 3 minutes.
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.
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.
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.
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: http://www.cs.columbia.edu/~gross/things_I_said.html) 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.
Quick note: This class is most definitely a mathematics course. There are basically no concrete applications of the material covered and certainly no programming involved. Prof. Gross is arguably the most idiosyncratic professor you'll ever meet. And that's definitely a good thing. His lifelong love for topology and graph theory (and their intersection) is clearly evident in his lectures, in which he wanders off into reminiscing about his early mathematical career and some tidbits from math history and algebraic topology. This "sidetalk," as he calls it, makes the class more interesting and is, as a result, an integral part of the course. Integral. Gross's lecturing differs from other practitioners of the overhead-projector style because the projector doubles as a slideshow of ever-evolving course notes and a whiteboard in which he goes through examples with the class. This is probably because he has walking problems (he comes into class wearing sneakers and holding a cane) and the fact that Graph Theory is a CVN course. I wasn't really able to appreciate his usage of the projector in Discrete Math because it didn't seem necessary (small examples, mostly numerical manipulation), but once we hit graph enumeration, it became clear why Gross preferred the projector: it's basically impossible to fully draw examples otherwise. The course is by no means an easy course like the pre-req Discrete Math. While the graph theory section of Discrete Math was limited to basically one type of problem ("find a Kuratowski subgraph"), this course requires much greater ingenuity. The homework assignments' problems range from trivial input-numbers-into-formula questions to somewhat difficult proofs, and the tests are filled with mostly the latter. While the homework sometimes feels like a drawing exercise, the tests are filled with original and clever problems. I felt that the breadth of the material covered in this course was especially exciting, though keep in mind that this makes the course go at a very fast pace. But just keep up with Gross, because it's totally worth it.
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.
An interesting class. Covers proofs for lots of very interesting combinatorial methods but only tests their applications, so the class is totally doable for someone without crazy math chops. Gross tells you that he'll teach you to Amaze your Friends with your combinatorial abilities, and he speaks the truth: A lot of the pattern finding and summing is very clever, especially to the ~math illiterate that I am, because, especially towards the end of the class, some of the methods seemed like voodoo. Lectures are useful for the tone of Gross's voice, but generally come straight out of the lecture notes. The fact that he wrote the book means that lectures really don't provide a different perspective on the material, and the pace of the class requires students to have read-ahead to keep up. I attended lecture but, to be honest, it was only because I think gross's side-note anecdotes were amusing. For the most part, the class requires a lot of self-teaching (in my experience).
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 class...you get the point. This is powerful stuff. Learn it from Gross.
Jonathon Gross is a funny guy... he has random moments that will make you laugh, at least the first time he tells the joke (he will point out that he retells jokes... he will even tell you multiple times that he always retells jokes... this man is brilliant but his memory is not what it used to be). If you're paying attention and you get what's going on, you'll be fine. If you're a math major, you'll be fine. However, if you don't, you'll fall back quickly. He goes through the first few chapters quickly, since most everyone has seen that kind of stuff. And then he goes at a slower pace for everything else... but it's still very fast. And if you stop paying attention for a little bit, you'll find yourself wondering what he's talking about, why he's saying that point x cannot be mapped onto point y and what the hell a cellular imbedding is. But, he teaches straight out of the book, which is good and bad (bad cause it's boring, but good cause you never have to take notes). Final note: this class doesn't get into any algorithms, i.e. you won't be able to write any sort of computer program using graphs after taking this class. It lays the groundworks for you to learn this kind of stuff on your own, but that's it.
Gross is an American hero. Wandering into class every day to give a one-hour lecture, straight from his (excellent) textbook, peppered with clever jokes. I don't know how our Computer Science department managed to hire him, it must be before they started hiring the least qualified people they could find. I agree with the reviews below -- if you don't pay attention at the beginning of class, you will die. Otherwise, it's pretty straightforward... but the language gets technical very very quickly, and you'll find yourself flipping into the text every third word if you weren't paying attention. Highly recommended!
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.
This class was one of the best I've ever taken. The lectures were always fun, as Dr. Gross has a great teaching methodology and quirky sense of humor. Class generally consisted of working through the pre-distributed course notes (the majority of the time) and solving several problems (the last 10-15 minutes). He also threw in historical notes and occasionally a crazy story or two about some of the more famous graph theorists/algebraic topologists (many of whom he has worked with directly). The course notes basically re-packaged the material from the book (excellent, by the way, and co-authored by Gross himself) into a lecture-friendly format. My advice would be to read the relevant chapters in the book before class. The six problem sets were generally difficult and time-consuming, but they will drill the material into your head. Perhaps more importantly, the problems will teach you how to think like a computer scientist. Some of the topics in graph theory have few real-world applications, but they train you how to attack and solve complex problems in mathematically rigourous ways (which is much more important than any application). In any case, Dr. Gross and the TAs (Josh Reich and Lawrence Hon) held plenty of office hours and were always very helpful. The tests were difficult, but he said they were designed to have mean of about 60 and were curved accordingly. Also, the tests were open book/note/whatever. My only caveat is that graph theory is a somewhat fragmented subject with its own peculiar dialect. Dr. Gross has an amazing command of the material (and the dialect), so, while his explanations are always excellent, you must undertstand his language or it'll sound like gibberish. Don't slack off in the first few weeks; if you master the early material, you'll be in good shape when the more advanced subjects come in. Overall, I highly recommend this class.
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.
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.)
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-.
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.
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).
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.
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.
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.
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.
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.
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.
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.
Loved by all. Another great CS teacher.