Data Structures and Algorithms · Computer Science
3 fairly time consuming programming projects, but really not that bad considering. Easy exam.
midterm and final (easy if you know the concepts). 6 assignments.
Biweekly assignments consisting of a non-programming part (due in class) and a programming part (due at midnight that day). Assignments actually do take a fair amount of time, if you start them the night before you'll probably end up having a really late night. Midterm and Final.
Good teacher. I enjoyed her class and felt she really strove to help us understand everything. She frequently stayed significant time after class to answer all remaining questions and did so happily. I would recommend her class if you have the option.
10 assignments in pairs (5 written, 5 coding). They are assigned in pairs and have around 2 weeks for each pair. Almost all of them are quite difficult and each pair would probably take between 5-15 hours (at least for me including OH). 1 was dropped at the end for us. The midterm and final had both coding questions and theoretical questions and Blaer is very good at telling you the types of questions that will be on it. However, there is still a lot of content to study.
Five Homework’s (Written/Program) - 40% Midterm - 25% Final - 30% Participation - 5%
4-5 Programming homeworks, midterm and final (both very fair)
Professor Noble is a wonderful teacher. He cares about his students and their opinions so much more than any other professor. At the end of each class, everyone submits questions in writing which he answers at the beginning of the next class. His lectures are very clear and the only bad thing about him is that he mixed up some details on the course material in the second half of the semester. The homeworks are half theory questions and half programming. They are not easy by any means and take up insane amounts of time. The two tests weren't that hard.
Shlomo is a nice guy. Shlomo isn't a particularly terrible lecturer. Shlomo is, however, terrible at evaluating students. His lectures are mediocre, but certainly not the worst I've had at Columbia. They're occasionally wrong, and very often frustratingly ambiguous, but in general I they're not the biggest problem. The biggest problem is that his assignments are a poorly made Ouija board. The number of assignments wasn't what he said at the beginning. The due dates weren't what he said (although I appreciated the Thanksgiving extension!). They were often very ambiguous about fundamental questions, like whether we had to write our own data structures, or whether a GUI was required. I felt the programming assignments were just a filler, and didn't enhance my understanding of data structures at all. The theory problems were better, but grading was unclear and didn't help me learn. Grading wise it seemed like the TAs and Shlomo did the only thing they could do, give everyone lots of points so they wouldn't complain. The midterm was very easy. The final was easier, and at the last minute he decided to make it open book/open note. The textbook we used, Weiss' Data Structures and Algorithm Analysis in Java, was pretty bad. Often they gave meandering, incomplete Java code instead of explaining an algorithm. Sometimes they'd focus heavily on Java specific junk, rather than explaining g…
This is a difficult class. But his teaching style worsen the experience. The book is not very helpful either. If you want to do well, start the assignment early and try to resolve all the compile error issues with the TA in person at least three days before the deadline. Don't bother with emails. They never response on time.