Computer Science · Columbia University
The course itself isn’t too challenging, but the lectures themselves were pretty boring. Blaer goes off topic A LOT (stories about himself that aren’t relevant to the course), doesn’t start talking about content until about 10-15 minutes into the class, and then we “run out of time” at the end. We were behind on content, meaning the last few lectures felt extremely rushed. We actually ended up not learning some things that were stated on the syllabus. In Intro to Java, he actually coded during class, which was very helpful. But then in Data Structures, he stopped coding in front of the class and instead started showing code and essentially read it to us with some explanation. Other times, he pulled up the PDF of the textbook on the big screen and read it off. Not helpful. He writes using paper/sharpie in class, so there are no slides or posted class materials. This meant reviewing before the exams was a pain, since if you didn’t catch something in your notes, you would have to rewatch the lectures (all lectures are recorded) and fast forward the parts where he talks about himself. Also, something that bugged me was that he always says “Homework is gonna come out tonight,” and it almost never came out the same night, always the next day or in two days. He also said our midterm 2 grades would be out “by tonight or tomorrow” multiple times, but it was delayed over 1.5 weeks. Over…
Blaer's teaching style isn't for everyone, but as someone with a weak CS background, I can say it worked fine for me. Lecture attendance is optional, and everything is uploaded on Courseworks, though I recommend you engage with every lecture closely as while the exam content rarely ventures outside the bounds of the lectures, small things Blaer may say in between big topics can and have appeared on exams. Not to worry though, because if you miss anything Blaer says the Zybook Textbook is a wonderful resource, and if you do actually complete them you'll find yourself ahead of the curve. And he does curve the class, with the average being a B+. The biggest downside of this class are the exams, which may appear relatively simple when you take them, but have tough grading. Overall, Blaer doesn't make this class any harder than it has to be and is a perfectly good choice for an intro professor, and in the event that you find him to be unhelpful, the textbook for the class (and some TA visits) will do just fine.
I had Blaer for 1004 and really enjoyed it, but Data Structures was definitely a step up in terms of both difficulty of understanding and workload. I liked Blaer's teaching and thought he explained concepts very well, but at times I felt the class was too conceptual/theoretical and since Blaer does not write out his notes (so you just have to take notes of him while he is speaking), I found it was difficult to synthesize the information and retain it after class was over. The homeworks were difficult but the TAs were helpful so going to OH helped a lot.
Taken Spring 2021. Humorous and engaging lecturer. Storytime tangents that give insight or are just funny. Textbook: Mark Allen Weiss, Data Structures and Algorithm Analysis in Java, 3rd Edition, Pearson, 2012. ISBN: 9780132576277. Topics Covered: Recursion Algorithm Analysis Linked Lists Stacks, Queues Trees Heaps Sorting Hashing Graphs NP-Completeness Functional Programming ~JW CC'24
Best professor I've run into at Columbia so far. About me: Took AP Comp Sci in High School, had Art of Engineering the previous semester so I knew some rudimentary Matlab. I found his lectures really clear and if you take good notes you shouldn't find anything a surprise in the midterm or final. Also he uploads the things he ran in Matlab at the end of lecture so you see what you kinda covered during the lecture. Definitely go to class. No textbook required: i managed without it. You can also find a lot of the things on the Matlab website. Workload: He has 6 problem sets and drops one. You should not wait until the day before its due because some will take a bit of time. Start early and do a little each day and workload isn't bad at all. Also, he often extends the due date for things which is always a plus for you procrastinators but don't try to rely on that. Exams: He reviews what will be on it and reviews the exam after. Exams go for "breadth rather than depth." Exams weren't too difficult at all. You shouldn't have an awful time. He's also quite friendly and approachable. I found he answers emails in an appropriate amount of time. Overall I recommend this professor!
I'm optimistically assuming that the computer science department has the sense to never let Professor Blaer teach this class again, in which case this review doesn't really serve much of a purpose. However, given the finite probability that computer science continues to show the lack of judgment that they showed in allowing him to teach COMS 1007 this past summer, I feel justified in writing this review. I just got reminded this morning that I took COMS 1007 with Professor Blaer this past summer when I got an email that my grade arrived. The date of the final exam was Thursday August 9th. I had been checking Courseworks weekly since the end of the course, and this is the first time that I saw the grades posted for assignments 3-4. I am currently enrolled in COMS 3137 and have completed the first two assignments prior to receiving my grades for the last two assignments and my final grade from COMS 1007. There is still no grade posted on Courseworks for the final exam, and given that combined with the discrepancy between how well I did in the course and how poorly I felt I did on the final, I'm wondering if he even graded and/or counted the final exam. This might sound like an outlandish accusation, but the classmates who I've talked to are all speculating the same idea. Professor Blaer told us during the final lecture, on Tuesday August 7th, that he was setting the following Mo…
If you've taken COMS1004 before (or know Java) the transition into this class will be much easier than if you don't, so absolutely make sure you have some understanding of Java. That being said, Blaer's class is good as it doesn't make Data Structures any harder than it needs to be; it's certainly not a weeder class. Much like his Intro to Java class, attendance is optional and everything you need is posted online or is explained in depth the textbook, you can effectively treat this like an online class with three in person exams. However be warned that this fact does not make Data Structures as a subject any easier, and most people stumble by not taking the class as seriously as they need to. Attend/watch lectures live and ask pointed questions (or engage with Blaers questions). As while Blaer is a decent lecturer you'll find more value in what he has to say if you probe him for a bit more information. Make honest initial attempts on the homeworks despite their length, and clarify things with the TA's (the ones that are nice). The textbook is accessible online, and while you wont need it half the time if you watch lecture, I recommend using it to bolster your understanding as Blaer begins to blitz through certain topics after the first midterm and complete. This is a very manageable class which will reward you if you put the time in, and compared to the other Data Structure's…
One of the best and most helpful professors I've ever had. His class is not easy, but if you can get through his class you'll make it through cs. He presents the material clearly. Keeps the class engaged with humor while not coming across as a goofball. Do the assignments, don't expect perfection and read the text. Start early you won't finish projects if you start the night before. Recursion, writing compression and encryption algorithms, red/black trees, definitely a gateway to the more heavy duty programming classes. Much harder than the intro to cs classes. If you tap out of cs this is where you'll probably do it. But you shouldn't Prof. Blaer is very helpful. It might not necessarily lead to a high-flying gpa but its a great class to put on the books.
A standard introductory data structures class. Professor Blaer is pretty good, although his proofs could be a little more rigorous. The class felt slow to me, but maybe it was the right speed for an introductory class. The "Honors" nature of this class consisted of learning a little bit of Ocaml, which was interesting. My one complaint is the textbook: Weiss Data Structures and Algorithm Analysis in Java. It is a expensive and terrible book. Both the code and the proofs are lacking. The homeworks were easy, easier than the ones in 1007. The exams were fine.
I took this class having little prior programming experience, having only learned a bit of MATLAB in Art of Engineering. For SEAS and particularly BME students who are required to take this class, having the background in MATLAB from AoE is pretty useful and allows you to slide through the first couple of weeks easily. However, as the class progresses you start discussing Big O notation, structs, object oriented programming, functions like varargin and varargout, and recursion, which were not mentioned in AoE but are really useful to know and require some more time. Later in the course when Blaer talks about histogramming images, you can again use some of the code you wrote in AoE in the homework for this class. Anyway, Blaer is a great professor. He's easily approachable immediately after class or in his office hours. Blaer holds review sessions before the midterm and final, which are really helpful. He tells you what he's going to test over, explains challenging concepts, and in some cases tells you the exact questions. The best advice I can give is to go to class, because Blaer's teaching really clarifies the concepts asked about in the homework. Often you will be able to modify code he wrote in class to solve homework problems. Furthermore, nobody usually goes to TA office hours, but they're really helpful if you're having trouble with a particular problem on the homework,…