Computer Science · Columbia University
I took Data Structures in Fall 2013 with Professor Pasik and it was one of the worst decisions I could have made. He starts off the class by letting the students know that he codes differently than most professors and has his own styles. This "style" is pretty much squeezing your entire program into one line of code for no reason. We had quizzes that consisted of regurgitating exactly what was on his slides for class. The worst part was that there was no textbook to supplement the lecture. He very much minimized how horrible his teaching style was by saying that if you attend class you would get an A. This class is only for people who like to teach themselves through other classes textbooks or magically understand this secret coding style that he has created.
Extremely arrogant, with the worst and rudest TAs (with the exception of Ashish Chhabria, who was very helpful and understanding), but a very effective teacher. The class was very well organized, each class covering a series of slides. The slides are also extremely clear, with very good examples, although there are many small bugs in Pasik's code that you may find while reviewing for tests, which is confusing. Definitely go to class - you learn so much so quickly with Professor Pasik, as much as you may despise being in his presence. He also offers a lot of extra credit, so this class is an easy A/A+. All in all, take this course even though Pasik's personality is awful.
This was probably the most fascinating course, which is saying a lot given that Pasik is the professor. Learned a lot but only because this is material that I hadn't been exposed to in other classes and I could have learned 3 times as much had Pasik not ended class half an hour early (on average) every class and skipped 8 classes for review sessions/midterms. Additionally, it should not have been required to learn LISP which wasted an additional 2 weeks at the beginning where we didn't learn any AI. He also cancelled a class at the end because he didn't have anything else to teach us. Overall, if you consider that he only used about 2/3 of the allotted class time, we had about 10 lectures on AI for the whole semester. How do courses at CMU, Stanford, MIT and Cornell manage to do fill a whole semester? As stated in other reviews, all of his lectures are taken totally out of the book, except the knowledge representation lectures. In these lectures, rather than covering the interesting material on epistemic logic that the book had, he spent the entire time on algorithms for expert systems which haven't really been used since the 90s. He also arbitrarily set his curve to a B-/C+ which would be fine except no other professor in the department does that. Basically Artificial Intelligence is an extremely interesting field and the fact that I am still interested in it despite Pasik is…
At first, he might come off as a very strict and hard to approach professor. But once you talk to him, he is very very open and remembers your name. His C coding practices caused me to have a new found repsect for the language C. if you attend classes, you will do well because he is a kind of professor who you can osmosis all the facts and not even study for the final and do well although it might be hard. I know there are two types of student. Student who listens and don't take notes and try to learn everything at the first time VS Student who take notes and don't really intently listen during the class and review the notes and books. first one will do superbly and have fun in his class. second one will hate the class and dthink it is ridiculous. he has no textbook. his words are better than textbook's short definitions of algorithms or bullet pointed algorithms. ultimately, if you are ready to attend classes and focus hard for 1:15 then you will succeed.
I have to say, I'm really not sure where the previous posters are coming from. Maybe Pasik liked the material in the other classes better which would be highly understandable. I'll admit, Prof. Pasik taught concepts well. He definitely oversimplified a lot of material though (recursion, abstract classes etc). There was no real textbook for the class. Everything was essentially from lecture but only 1/3 of the class went anyway. You only had 2 case studies: A rational number calculator, for which Pasik made his own random classes rather than using standard Java classes like Number, and Scopa, an Italian/Sicilian card game. Everything was based off of those two (and I mean everything.) Word of warning: he doesn't accept code that doesn't compile on CUNIX nor does he take late homework assignments (Each was 15% of your grade so don't save it to the last night). Also, don't think that AP Java AB will help you. Some concepts may be easier but watch out for his random implementations while you scratch your head because you know there is an infinitely more efficient algorithm out there. You have to use his code.
I haven't written any CULPA reviews prior to this, but I feel compelled to do so now, because I am really quite surprised by how negative the two previous reviews are. I really liked Professor Pasik and didn't think he was at all arrogant. Yes, it may have been kind of inconvenient that he didn't have any formal office hours, but he was always receptive to questions during class and was also available before/after class. While going through code during most classes can get a bit dry after a while, some of his lectures/stories about AI at the end of the semester were really great. (And there were a few other interesting anecdotes he told throughout the semester.) As the previous review mentions, it can be somewhat difficult to study for the exams; however. that isn't really a problem, but rather reflects the fact that as long as you have a decent conceptual understanding of the material and understand the code that is shown in class, you should be okay. Regarding Pasik's coding style, I don't think there's any reason to make too big of a fuss--it may be slightly different in certain aspects from how other people would code, but it really doesn't make things any more difficult.
The best professor I've had at Columbia, hands down. He not only knows his stuff, but is enthusiastic about teaching the material and has an excellent ability to get that knowledge across to students in his lectures. He's extremely organized, always showing up for exams with a detailed plan of exactly what he wanted to do, but never afraid to deviate slightly to answer a student's question. (The only exceptions were the two exam review classes, when he stated up front that he would show up with no plan, and spend the time answering whatever questions people had.) There was no book for the course, but he walked us through the methods of constructing and traversing data structures, and really worked on explaining the rationale behind the use of different ones. If you come to class and follow what he's going through, you'll be fine. He's always open to answer questions, and will be happy to explain why he does things in certain ways before going on. Just a note: show up on time for class! This course met at 9:10 on the 7th floor of Hamilton. Yes, I know that feels early, especially for CS majors. Yes, I know it's a pain in the ass to get to the 7th floor of Hamilton without getting to the building at least a few minutes early. Make the effort to do so. Professor Pasik was always in class at least 10-15 minutes before it was scheduled to begin, and was happy to answer questions ab…
If tl;dr, just scroll to bottom. Of the three CS classes I've taken so far at Columbia, this was hands down the worst of all of them. Prior to enrolling in the class, I read the reviews here on CULPA and figured that the people complaining about Pasik's teaching style and glossing over LISP and other concepts were simply whiners. It took me 3 lectures to completely reverse my initial opinion. Let me preface this review by saying that I'm not disgruntled because I did poorly in the class (even without the extra credit, I would've gotten an A). I'm bitter about enrolling in this class because it was nothing short of a waste of time and money. Over the course of the semester, I've come to realize that Pasik really doesn't put in that much effort into teaching. Here's why: of the 28 days that the class was scheduled to meet, 8 of them were committed to other activities (6 reviews, 2 exams). Of these review sessions, Pasik shows up to exactly one. While I thought the review session that he conducted was actually the best among all of them (probably because the subsequent reviews were horrific), he prepared no material and basically held an hour-long Q&A section. Moreover, he canceled one additional class, and ended at least 5 classes 20+ minutes early. So all-in-all, instead of using 28 days to teach, he effectively taught for roughly 18. The result of this is that we barely covere…
Excellent lecturer with exceptional preparation. He has an extremely old-school, no-nonsense approach to coding, and every word he speaks is something new you're learning. He is, however, the biggest hardass with whom I've ever taken a class at Columbia. There was absolutely no leeway on assignment deadlines, and to attend office hours with him, you'd have to schedule a time for him to come to campus on a Friday from his midtown office. Intimidating, unapproachable, and unforgiving. If you're confident in your C skills, and want to raise your CS and programming skills to the next level, take his class. If you're not very confident in your C skills, his class could be a nightmare.
If there was ever a man who enjoyed teaching object oriented java, it would be Prof Pasik. Him frustrated is just him smiling more and getting happier. Without seeing his website, it was difficult to tell if he had a curriculum planned out for this class. Lectures past the first few consisted of him explaining example code off of his laptop and the projector. You probably won't see what's on the screen if you aren't sitting front and center and have 20/20 vision (though he posts the code online as well). It's disconcerting to hear him say you aren't supposed to learn something in this class but he's going to teach it to you because your assignment directly relates to it. Goals-wise, the assignments are a bit too open-ended for a low level class like this. The exams are straight forward but tend to have an air of scariness to them (mostly because you aren't sure if your answer will fit his requirements since he likes to tell you not to worry). His class essentially is about putting in effort. He gives bonus points which are not counted into the curve so anyone who actually does the extra work will get the "better" curve.