Computer Science · Columbia University
Professor Hershkop's class is a great class to take if your intention is to make it into grad school. Shit, after taking this class as a postbac, I was accepted to both Columbia and Penn for a Masters in CS, so I guess it worked out. His class will give you the A or A+ you need, presuming he grades you properly and submits appropriate grades. For me, that presumption turned out to be false. The issue involved the professor giving me a B+ when I deserved and had been graded with an A. The reason for this problem was minor - I had been granted a written extension to turn in a final project, I turned the assignment in based on that timeline, and had received a zero by error of the professor. The professor agreed that I deserved an A for the class after grading my final assignment. Despite multiple communication attempts with him and spending over two months on the issue, the professor did not submit a grade change. He acknowledged the grade I had received was an A, but was either too busy/lazy to change it over basically the entire summer. This created deep stress for me, and concerned me, especially because I intended to apply for masters programs the next semester. As a result, I brought my advisor in to help resolve the issue. After she confirmed the appropriate grade with the professor, she waited several weeks for the professor to resolve the issue. He didn't. She fixed the…
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…
DO NOT TAKE THIS CLASS WITH HERSHKOP. I'm not going to bother enumerating the reasons why. There are too many. The bottom line: he's incoherent, his lectures are a waste of time, and he doesn't go over really important concepts. The upside, he's a super chill guy and very nice. This doesn't help when you can't figure out why your code won't compile, and it's ultimately becasue the code he requires you to use (and that he wrote) has a bug in it), or he forgot to tell you that one important details the you need to make your program run on the CLIC machines. The TAs we had were fantastic, which made this class doable in the end. Somehow got an A+, but there is no way I deserved one (I guesss he's really generous with grading). I wouldn't hedge my bets on teh GPA boost, if I were you. Theer was no way to know before I got my grade that it would turn out so well. It honestly could have gone either way, and that's more because I had no idea what was going o in this class because of how unclear he was. I wanted to learn C and C++, and instead we spent 8 weeks on Perl. Just don't waste your time like I did. Take this class with someone who knows how to and wants to teach.
I don't think the previous two reviews are fair, Shlomo is one of the few teachers that I've had who really cares about improving his class and helping students. Although some lectures can be a little bland, I found the homeworks to be pretty interesting and helpful getting to know how to use CS skills in more useful applications than 1004.
Hershkop is a bad teacher. The lectures are too general, too specific, or have nothing to do with the assignments. Too many times the slides are examples from the book. The midterm and exam didn't reflect what we were supposed to be learning in the class. He is a fair to generous grader. Don't take a class with him if you don't have to.
Great teacher, though somewhat boring at times. Teaches you many advanced things, but never tests you on the advanced topics. Flexible and caring, very nice during office hours.
A mixed review. Shlomo can be condescending at times, friendly and joking around at other times. The class is apparently easier than with other professors. Sometimes his jokes are terrible but at least he tries. Involves the class as much as possible but he'll shoot you down if you have the wrong answer, and he'll even manage to make you look stupid if you have the right answer! Probably not the best way to teach a class. Also he's pretty absent minded.
I'm going to cut Shlomo some slack and say that this is a slightly below average, but not god-awful, class. I've had worse (*cough* Dawn Strickland *cough*) professors in the CS department. This class covered all that it should cover. You will gain a functional knowledge of all basic data structures. He also gave us a high level overview of more advanced data structures like AVL and Splay trees, Cuckoo hashing, rainbow tables, min-max heaps, max-flows, etc. The number of topics this class covers makes dealing with Shlomo worth it. You will definitely learn more in this class than in 3134. Shlomo is a poor to average teacher. He often rushes through explanations and sometimes gets facts wrong. His teaching is good enough to understand the subject though. You will learn a good deal about cool data structures and algorithms, though it can be painful putting up with Shlomo. What makes this class a mess is the fact that he is totally disorganized. He initially told us that we would have 7 theory and 5 programming assignments - we ended up with 5 and 3 (which was plenty of HW given the length of each assignment). Homeworks were often vague with lots of errors, though you can clarify doubts on Piazza with TAs. The theory assignments usually took about 3-5 hours and the programming assignments took roughly 7-12 hours if you did all the extra credit and GUI stuff (I have no idea why a…
I am writing this review a semester after I have taken the class... while at the end of taking Advanced Programming with Shlomo I was rather disappointed by the utter waste of time that taking AP with Shlomo is, it had not downed on me yet the ramifications that his class would have on my future studies. At the end of Shlomo's class you will not know C or C++, the most crucial element of AP, and one that you will regret for the rest of your stay at CU! If possible, avoid Shlomo like the plague that he is!
Professor Hershkop is a terrible teacher. He is a nice guy, and seems to like the subject, but he just can't teach. There are always typos on his slides and in his assignments, even in the code he gives us to use on projects. He never adequately answers questions and even though I attended all of the classes, I never learned anything. Reading the book during class would've been a better use of my time. He often taught this intro class as if it were Data Structures and expected us to know what he was talking about. Nice guy, but avoid taking a class with him if at all possible.