Intro to Computer Science- Programming in MATLAB

May 2013

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!

May 2013

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, even if you have to go to the crowded Comp. Sci. lounge to utilize them. Other notes: *You don't need the textbook for this class. Just take good class notes or get them from someone else. Blaer also posts all the code he writes on his website. *Also, you don't need any calculus for this course, but any coding experience will help. *Just go to class. It makes everything easier... Blaer always asks if people have questions at the beginning of class. *Blaer also tells funny stories about things like cat whiskers and building robots, another reason to attend class.

Jan 2012

When I registered for MATLAB class, I was inspired by good reviews on Culpa. However, in my experience not all of them turned to be true. If you are really new to programming, there is no way you can get an easy A in this class. Though, you will not fail if you show your effort. Pr. Blaer is relativly an easy grader, but he grades only part of midterm and final, TAs do the rest. So go to his office hours and make sure he remembers your face out of other 100 people. I am in no way saying it to discourage you, I learned a great deal in this class. However, even after putting increadible amount of time and effort, I can't say "I can programm now". Peace of advise, do yourself a favor and find homeworks from previous semesters or keep a friend who knows programming,then you easily will be close to the high average of 84%. I think problem is in description of this course that has no prerequisites and "assume no prior knowledge in programming", you need to know a great deal of Calculus and MUST understand basic programming for this class. Good luck!

Jan 2011

HORRIBLE lecturer (cannot complete a sentence without stuttering and "ehhhh" every other word). Also, he put his one office hour on Tuesday mornings at 8:30-9:30 am. First of all who is gonna wake up that early... not to mention the comp sci building doesn't even open til 9am. So good luck getting help from him in person, and his responses to email were often curt and unhelpful as well. The TAs were alright... nothing amazing and when they made a program to check our programs A LOT of people had to go for regrades that weren't very liberal at all. Most of the grading was done without taking into account how horribly written and ambiguous the problem sets were. Covers recursion and GUIs... which are definitely NOT supposed to be a part of the intro class curriculum. I didn't bother buying the book for the class and ended up with an A-... But that A- was the result of literally 20+ hours each week on the problem sets. And I guess I got REALLY lucky on the midterms and final... Be happy if you can stay average in the class. The class started out with over a hundred students and ended with only 60ish students. In short... try your best to avoid this class at any cost. And if you must take this teacher, don't be afraid to harass the TAs with questions and give yourself PLENTY of time to finish the problem sets!

Jan 2011

This guy may be a genius in programming, but has no concept of how to teach properly. He can't finish one sentence without stuttering, loves to pick on students during lecture to make them feel embarrassed, and gives poor/dismissive responses to students' questions and concerns. Good luck surviving his useless, boring lectures - you'll be staring at the room's clock almost every second, dreadfully hoping and praying that the class gets dismissed early or ends soon enough (which takes like a millennium). Time dilation effect, anybody? You will definitely come out of lectures more confused about the concepts than before - attending them was almost a complete waste of time and do nothing to help with his crazy problem sets, in which you're not even allowed to discuss/brainstorm any ideas with classmates before submission. This would make sense if the homeworks were doable alone, and didn't incorporate higher level comp sci topics like recursion and GUI that no other computer science teacher covers in an intro course (for non-cs majors!!!). Ultimately, this may possibly be the most horrible experience ever at Columbia with a professor (not friendly and gives terse replies to emails). Avoid him at all costs or prepare to suffer like never before. Very mentally draining and the only salvation is when the course finally ends (but not everybody can make it to the finish line unscathed). Don't do this to yourself, unless you're a genius at MATLAB of course; even then, I would still think thrice about choosing Pe'er, for he turns a potentially fun class into a complete torture and disaster due to the lack of organization. It's not healthy!!!

Dec 2010

All you really need to know about this class is that it's awful. The class started off like this: too many (easily over 100) students crammed into a room struggling to stay awake as Pe'er tries to explain simple programming concepts (like binary and the way computers represent integers) in convoluted terms. The homework started out so easy that nobody really seemed to mind. After a few weeks, though, he transitioned to horrendous weekly homework using MATLAB in ways that no one ever intended. Going to class won't help, and asking the TAs won't help. All you can really do is beat your head against your keyboard for hours on end until a mostly-functioning program comes out. Don't even think about asking your classmates for help; late in the course several people were picked out to complete a special assignment as punishment for cheating. How are the exams? For the midterm he gives you 12 trick multiple choice questions about the fine details of MATLAB syntax followed by 3 pieces of code to correct. The code correction is generally straightforward, but good luck knowing how well you did on the rest! The real tragedy here is that Paul Blaer is the other instructor for this course. Avoid any non-Blaer instructors at all costs, at least for this class. You'll save yourself many a headache.

Oct 2010

This class is terrible. If you're in it, you should probably just curl up in the fetal position while listening to Justin Timberlake's "Cry Me a River"--you'll get the same grade that you would have gotten if you had gone to every lecture and slaved your ass off. Unfortunately, while Itshack appears to be a computer science genius, his command of the English language appears to be worse than my command of the Matlab programming language (which thanks to his terrible lecture skills and general lack of teaching abilities, is only slightly better than William Hung's English). He mutters under his breath and seems to be unable to articulate his words beyond mumbles and sighs. Once upon a time, there was a class called Matlab, which was supposed to be for non-computer science majors. However, the material in this rendition of W1005 is comparable to what Stephen Hawkings does for challenge problems.

Dec 2009

I'm no compsci genius, but an A in this class wouldn't have been much more trouble from the A- I got. He's a really good teacher, and even though waking up to get to a 9 am lecture was hard... I learned something every time I went (and didn't fall asleep). He'll walk you through pretty much everything and is really nice if you have questions- he was probably one of the friendliest professors I've ever had. Matlab itself isn't very hard, and there are TONS of resources on the internet to help you if you have trouble... In all I would definitely recommend this professor and this class. As long as you're resourceful and willing to put in a little bit of effort, this class will be a breeze.

Dec 2009

I had never taken a comp sci course before, and let's just say it was rough. Homeworks took me roughly 10-15 hours to complete (boy did I hate the computer labs in Hartley and Mudd after this course), granted I usually did them the weekend before they were due, but it was painful. Professor Blaer moves very quickly in his lectures, flipping back and forth between Editor and Workspace so it was often difficult to write down what he had typed before he switched windows. He would also go back into code and edit what he had originally to create a new example, easy to do on a computer but almost impossible to write down the whole code again with the change (usually very small but really important to his point) by hand before he switched back to the workspace. I went to every lecture but got lost during histograms and plotting and never really recovered until the last homework. I still don't understand the whole image-histograms-plotting thing, which bodes well for the final tomorrow. An unfortunate fact about matlab; not many people take it unless they are comp sci majors or bme kids (or need to fill the comp sci requirement for seas like me), so help around campus is limited. My advice? If you've never taken comp sci before then find yourself a study/homework buddy in either your class or as an upperclassmen who has taken matlab before. Go to lecture. Get used to the idea of spending hours at a time in the computer lab (bring a sweatshirt, it gets cold in mudd). If you get to a point in the homework where you just can't handle it anymore, it's ok to just turn it in (especially if it's past 3am). Ask for help if you've sat in front of the computer for more than an hour without making any progress. Seriously. It's not healthy. Good luck.

Jan 2009

Blaer is amazing! I was convinced that I would hate computer science and that I would probably do poorly in it. Thinking that MATLAB would be a practical way for someone interested in research to fulfill the SEAS programming requirement, I was less than enthusiastic at first about the course. However, Blaer made the course interesting and I loved it- probably my favorite course last semester. I did the work (it wasn't that much) and got an A. I highly recommend taking comp sci with paul blaer--he is engaging, funny, a really nice guy, and a great instructor to boot! I would consider being a cs major after this course (except of course that the fact that I am a sophomore and I took 1005 instead of 1004 makes this an impossibility).

Mar 2008

To be honest I didn't go to class very often but when I went I found his lectures very clear and engaging. The subject matter was relatively easy. I think this is the least rigorous choice for the SEAS computer science requirement. Matlab is incredibly useful so if you know you don't want to pursue computer science then you should take this class.