I fail to understand the negative reviews about Dr. Traub, although granted I'm reviewing a different class than the others here. I suppose there must be a huge difference between them. I found the lectures to be quite engaging. He makes a strong effort to get students to participate in the class and goes of on interesting tangents. I was rarely bored in class. Many people found the class to be quite easy, but others found it to be difficult. I never saw it plotted, but I suspect there was a bimodal distribution on the exam curves. Unless you are comfortable with non-discrete mathematics, you are likely to struggle in this class. Despite my strong background, there were still a few rare lectures where I had to focus really hard to follow him. Even then, I don't think I really understood the material until doing the homeworks or studying for the exams. My suggested prerequisites: 1. You need to have taken Calc I and at least remember how to differentiate and integrate. 2. Know about differential equations. If you haven't taken it before, read the first two chapters of some introductory book, do a few problems, and that should be good enough. 3. You need some notion of set theory, functional analysis, or some high order math. No need to take those courses, but if you can vaguely follow the wikipedia pages, you are good to go. 4. You better have precalc down or you're going to have a bad time. Discrete math, probability, and graph theory won't help you in this class. Most of the homeworks are quite easy, and can be done in 3hrs or less even if you aren't paying attention. No proof is more complicated than simple algebraic manipulation, and the programs you write are spelled out in the handout (in pseudocode) and easy to reproduce in any reasonable language you chose. I was able to implement many of the algorithms without understanding what I was doing at the time. Oh and don't even think about skipping lectures, much less not paying attention without recording it or something. The homeworks are almost impossible to do without learning from the lecture. But if you do, they turn out to be quite easy. The exams basically test if you did the homework and paid attention in lecture. Some questions were easy enough to insult your intelligence, and others were intentionally harder to prevent a large fraction of students from getting 100%. It's probably the easiest CS class I have taken at Columbia. However, most of the material was quite unfamiliar to me at first (seriously, who studies algorithms for differential equations?) but I felt like a grasped most of it pretty well at the end. I wish the class had a bit more breadth in it, but I'm glad it wasn't like those other CS classes that dump so much material on you that you have to pick and choose what you are going to learn and cross your fingers that the other topics won't appear on the tests. I think Dr. Traub struck a perfect balance of theory and application in the class. Overall, I recommend this class. Seriously, if you have enough self-discipline, learn regular algorithms (4231) on coursera and save your money. The content is the same. Take this class instead because you probably won't get an opportunity to see this material elsewhere and this class is less stressful (yes, I've taken both).
Traub founded the CS department at Columbia and has contributed quite a bit to the field of numerical algorithms. However, he's a bit senile these days. This course was pretty light for a 4000 level CS class. We literally did nothing the first third of the semester. Traub just rambled on about super computers and Moore's Law for 2 weeks. The rest of the semester was ok, covering complexity theory for numerical algorithms, multi-dimensional integration, solving PDEs and solving arbitrary systems of non-linear equations. I learned a bit, but could definitely have learned way more if Traub made the class harder. He assigns 12 HWs - each is either one programming assignment (definitely under 200 lines in any language) or a single problem/proof. He often makes multiple HWs due at the same time which is annoying. Most of the assignments were towards the end of the semester. Some of the Extra Credits involved reading papers and articles and writing short essays on Discrete Fourier Transform or Moore's Law which is really stupid for a CS class. The midterm and final were pretty easy. If you pay attention in class and read your notes, it shouldn't be too hard to get close to a 100. Traub doesn't use a text book or post notes online, so make sure you take diligent notes - it's the only thing you can study from for the tests! Pay close attention to pros/cons of algorithms and definitions. He likes asking at least one or two of those on the exams. He gives out an A+ to anyone who gets over 100% out of 106% in the class overall. The 6% is from the Extra credit assignments that everyone does just like normal HW. Also, a shout out to our awesome TA, Polina. She brought an actual broad sword to class. It was pretty cool. If you're in the Foundations track, you have to take this class. It's a stark departure from other killer classes in the track like ML, Algorithms and Complexity. However, if you're looking for a light CS class and want to learn how to discretize math problems and easily solve what math majors spend entire semesters on, this is the class for you.
The very hilarious review below says it all. I'd bet money that it was written by a TA. Who btw were super helpful with everything the course threw at us, as they knew the real challenge was understanding what Prof. Traub wanted. While Traub is a great man in his field (don't talk to him about it though), and is hilarious and cute, he is not a great lecturer as it is impossible to follow him. And it's not because the material is too hard. Nor because we cover too much.
Scientific Computation I is an elaborate practical joke. You will walk into this class the first day with a healthy respect for Joseph Traub and his towering reputation in the community. After all, you're taking Scientific Computation from the man who invented scientific computation as a serious topic of study. Then you will receive the first homework assignment. You will look at it. You will wonder if there's been some mistake. You will wonder if Prof. Traub accidentally sent his 12-year-old great-great-grandchild's homework to the TAs to copy instead of the real assignment. Why? Because the assignment instructs you to "choose five different scientific problems and their continuous mathematical models." Not understand, not describe, not explain, just "choose". It's not a mistake, the TAs will assure you, and they will remind you not to waste your time looking for the actual equations on which these models are based. Remember that time freshman year when your Calc II class talked about Taylor series? That seventy-five minute lecture was all of SciComp. You'll talk about Taylor series the very first day, but as the days turn into weeks and the weeks into months, you'll wonder when you get to move onto something else. You don't. At last, the final exam will be offered. The TAs will admonish you, as they did before the midterm, that decorating your blue books with animal pictures and dirty limericks may sway them to grade your answers more leniently. You will turn the page over, and feel an odd sense of dÃ©jÃ vu. The questions on the final look familiar. They are, in fact, the very same questions that you went over during your review session a week before -- identical, coefficient for coefficient, variable for variable, word for word. Only one thing is out of place: a question asking for a brief essay on the historical origins of weather prediction. And it is at that moment you'll realize you've been had. This is not a math class, you are not meant to learn anything, there is, in fact, nothing for you to learn -- you're just the punchline of a joke that Joseph Traub likes to tell from time to time.
Try to stay away from this professor. He is really old and doesn't know how to teach. You won't be able to hear his voice and anything you do hear won't be comprehensible. Basically, you don't need the lecture for this class. The subject material is sooo easy. Taylor, Newton, Taylor, Taylor, etc. "Everything derives from Taylor." Really, the material is a joke but he doesn't know how to teach and will confuse the f out of you. I taught myself the whole course. The double extra credit is the stupidest thing I've heard of. (Find errors in newspapers) What does this have to do with anything?? I cannot overstate what a horrible experience this has been with Traub teaching, because I love the material. Its all about approximating functions that can't be fully solved. Its really all very interesting, but Traub's class is a complete waste of time. There are people always sleeping in class, its ridiculous. Most people try to sit in the back so they don't have to look at this guy and be trying to figure out what he's trying to say. His explanations are sooo unclear, the TA was a big help - the TA was even confused about Traub's explanations. There were apparently 3 TAs for this class although only 1 was actually of help. 1 was a complete nuisance and the other was okay but arrogant. All in all, the will probably have to take this class and with Traub so go find somebody's midterms. Oh, by the way. most of the material does NOT come from the book so you need to go to class and somehow try to understand what he's trying to get across. "CAN WE DO BETTER???" or as he writes it, "CWDB" This guy loves to abbreviate things but doesn't say what he's abbreviating, this class is a comedy show. He's also obsessed with Google and the number of search results. Dude, that is an approximation but he takes it way too literally. I once asked him a question (well, actually more than once) and both times he said, "Look it up on wikipedia" hahaha wtf. Oh, and sometimes he will forget to finish his point on a topic and then test you on it. crazy.
I can understand what the course is supposed to be and why it could be a required and important course for CS students (particularly, the part in the course description about an "Introduction to computation on digital computers" and the discussion of chaos), but the course as it is now has little to offer: First off, Traub himself is incomprehensible. However, is absolutely necessary to go to class, otherwise you will have no idea what is going on since he quite often teaches random topics of interest to him that are nowhere to be found in the book (though I cannot guarantee that going will actually solve this problem since many a time I have looked back at my notes for reference only to find that the three or four lines he scribbled on the board lacked context and explanation -- I learned this on the first day and therefore started writing down everything he said as well, but this still did not help). At least twice a day he will ask the class a question only to be faced with a sea of blank stares (and the course was in the middle of the day!) because nobody has a clue what he's talking about. He usually waits for a full minute or two of awkward silence before moving on. One day, we spent the whole hour and fifteen minutes discussing climate change (he honestly covered the entire board with evidence that its happening/evidence that its not happening/evidence it is caused by man/etc.) for no reason! This was a terrible waste of time, but not a single person left, probably for fear that he would stop wasting time and start covering actual material and that then they would be lost. Worst of all, the structure of the course and the depth of the material covered lead you to simply memorize a bunch of equations for the midterm and final and promptly forget it all. Overall, there are one or two nuggets of wisdom to be gained from this course, but the CS department should not make us go through an entire semester of incoherent randomness just for that!
We're now 3 weeks away from the final exam and I still don't really know what the point of this class is. The first day of class we spent half the time discussing how Moore's law is the most important law in computer science. First of all... that's BS. Moore's law is an observation of fact, not a force that drives (though, granted, it did have some effect... but to call it more important than anything Turing did?). Moving on... The man is somewhat insane. It isn't hard to do well, but he is cutting back on the extra credit. From what I hear, there used to be possible to get more than 20% of your grade be extra credit, and anyone who gets over a 100% gets an A+. Now he "only" gives out 16% possible extra credit. 10% of that extra credit is in the form of problems (not hard). 6% is in giving him articles from newspapers that have errors in them. The thing is, he decides how "worthy" the error is. I've sent him plenty of articles this semester, and only one of which was "worthy" of the extra credit. All of them had numerical or factual errors... it's just somewhat ridiculous. The class really is pretty darned easy. The thing is, though, you NEED to go to class and pay attention (even though it is very difficult to do so...), as his exams are based largely off lecture (e.g. what are the benefits to using the Newton method... some of the reasons are very subjective). He also gets a lot of his test problems from the homework (also, if you know someone who took the class, try to get ahold of their midterm... he tends to repeat midterm questions). Speaking of the homework, he gives out about 30+ problems over the course of the semester. All of them are fairly trivial, yet time consuming, and are downright annoying. How many times do I have to program a very trivial algorithm before its obvious that I can code? Apparently about 10 times. Again, I still don't really get the point of this class, not to mention I don't get why it is required. There is nothing this class has taught me that I couldn't have taught myself with a little pre-calc knowledge and the knowledge I got in 1004. A hint for the midterm/final: write down a whiteboard (or something) every function you've learned up until that exam, and each function's pros/cons, and study from that. The things he tests you on are the things the homeworks are on: the same very limited applications of the functions that you see on the homeworks.
OMG WTF. It doesn't matter, as you have to take this class to graduate with a CS major. Traub is crazy! He was probably pretty good in his time, but the lectures were incoherent. I hope you like getting your homework emailed to you in all caps in something like (but not!) LaTeX formatting. What? On the other hand, it's not very hard to do well, and the exams generally recap the homework. Generally.
Enjoyed the class and Traub is pretty good, but 2 thoughts: 1. Class needs to have more programming assignments, that are more challenging. Rather than tell us to use the Newton method to find the root of a particular equation, we should be given a general, possibly multipart problem that we are allowed to solve using all the tools at our disposal at the time. 2. We probably could have moved quite a bit faster in the material covered. Topics such as numerical differentiation and linear algebra were not touched upon. So while Traub himself does a decent job, the class needs to be harder.
Completely miserable teacher, you will learn absolutely nothing in the class. He's not even coherent during lecture (which really doesn't matter, considering the few people who actually show up to lecture aren't even conscious).
Traub's lectures are absolutely incoherent. The class seemed somewhat interesting no paper; however, the interest stops there. Towards the end of the semester, hardly nobody went to class. That's because 1. the material was too easy, 2. his lectures were uninformative. Sometimes, I questioned his competency when he couldn't answer questions related to the subject. He would, instead, "smoothly" ask his brilliant T.A. on how to solve some problems and jokingly hand over the chalk. Haha? Traub has to be top five of the worst 3000+ level professors I've had. I shouldn't care about even writing this review because I'm receiving my dipolma in four hours, but I feel like the world should know. Stay away from him.
It is true he grades very easily, gives very easy exams, and doesn't give much work, and many students seem to like him for that. However, as a teacher, he is either incompetent or apathetic. Usually without notes or any sort of reference, his lectures consist of mumble-jumble and untidy, all-over-the-blackboard scriblings that are more often confusing than not. I could hardly focus in class and, when I did, I had no idea what he was talking about. I would not dare to say this with many other professors, but with Traub, the ineffectiveness of lectures is as least as much his fault as mine. In addition, as one of the senior faculty members, Traub seems to be very into research and to have a lot of administrative duties, which may explain the quality of his teaching. On the plus side, he is a very friendly and relaxed, even somewhat fatherly to us little undergrads. Also, I imagine that, if you are a very dedicated student who reads ahead of class, knows what the lectures will be about, and makes every painstaking effort to stay awake for all 75 minutes, you should be able to understand him. (But then, given that most normal students study from the book on their own, the question will be: if you are so good, why do you have to go to class at all?) So, yes, he is your man for your A's and A+'s, but little else.
This guy should teach more! Since you have to take Sci Comp anyway, you may as well take it with Prof. Traub, because you will enjoy it. He learns the names of students in the class, and he encourages participation without belittling students -- every comment is valid, even the wrong answers. His jokes are actually funny, and for a CS prof that's saying something. Likes to plug his research in quantum computing, so if you're into that this is your guy.