[COMS W4701] Artificial Intelligence
Departments: Computer Science
Professors: John Kender, Kathleen McKeown, Alexander Pasik, and Salvatore Stolfo
Syllabi
| Salvatore Stolfo 2010 Spring TR 2:40 PM- 3:55 PM | Download |
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 a testament to the material. However, if you can avoid Pasik, do so.
The three assignments we had for the course were all Lisp programming and took forever since we barely learned Lisp in the two weeks we covered it. I kept feeling like I knew what I wanted my program to do but I didn't know how to make Lisp do what I wanted. It would have been a much better test of whether we were learning AI if he had had us program the algorithms in a language we knew. These assignments also didn't cover any theory, which was really the important part of the course.
4 pretty easy quizzes (except the Lisp one which assumed that you already knew a recursive algorithm for the towers of Hanoi problem) and easy final.
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 covered any material. A simple google search of Artificial Intelligence syllabi from top institutions like Stanford, CMU, MIT, etc, reveals that we covered about 1/3 of the material they did. And that's a generous estimate. I have one word for that: pathetic.
One aspect of Pasik's teaching that many of my classmates found irritating was the fact that he read directly off of his slides. In the past during my undergrad years, and even this past semester, I've had professors that used PowerPoint slides extensively. Sometimes, they even read off of the slides verbatim just like Pasik. This I have no problem with. What annoyed me the most was the dearth of content in those slides and how cryptic most of them were. This can be especially frustrating when some of the material he presents is not covered in the book, and the only source of reference you have is a figure of a rectangle with a few splotches of color that's supposed to represent the effectiveness of parallelism.
Finally, a feature of Pasik's teaching that I found to be ineffective and even counterproductive was his insistence on going over code in class. I think the main problem with this is that code in LISP is not readable. The task of keeping track of what all the different built-in functions in LISP do in addition to the user-defined functions Pasik writes results in students being confused as everything becomes just one huge convoluted mess. I think that the time spent in analyzing LISP code would be better spent if the algorithms were presented in pseudo-code (mostly in ENGLISH) rather than actual code. Since the course is comprised of mostly grad students, converting pseudo-code to LISP code should not be hard once the students actually understand what the program is supposed to do.
Is Pasik a nice guy? I wouldn't know since he has no office hours and is only transiently available before and after class. I stopped emailing him questions shortly after term started since his responses are one-liners and don't really answer your more complicated questions. Maybe it's because he's involved in many other activities that doesn't give him time prepare and do the material justice. I get it, professors are busy people. But there's a line between being a busy person and simply not giving a damn.
Bottom line: if your main objective is to get an easy A, this course is the one for you. If you want to actually learn something, take a different class.
3 Assignments - they take you about a weekend each.
2 midterms - pretty straightforward if you understand the concepts
1 final - very straightforward.
What's not to like about Pasik? He's a good teacher and a friendly guy. He's super patient and all kinds of approachable. If there's ever anything you don't understand he's more than happy to explain it to you. Unfortunately his office hours are practically non-existent, but he's always around for about half an hour before class, and for as long as you need after.
The course was taught in LISP, but if you're not familiar with this language, don't worry. He usually spends some time at the beginning of the semester explaining the basics, and none of the assignments require any really advanced level knowledge of LISP. If you get stuck, you can almost always find what you need with a little Googling.
His lectures are interesting and if you show up consistently and take thorough notes, you may not even need the textbook. Be warned, you will hear lots of stories about him and his family's zany adventures, but he's a good story teller and there's always an AI related moral in the end.
As another person pointed out, there is a lot of discussion about the philosophy of AI, but if you look up, you'll see that the name of this class is not “Artificial Intelligence Programming”, it's just “Artificial Intelligence”. The history and theory of AI are relevant to the course, even if they're not all that relevant to the grade. There will be some readings on this and probably one question on one test somewhere. If you decide to skip it all together it won't kill you, but it is interesting and might even help you out a little on the homeworks.
The assignments are deceptively complex, but they're not very difficult once you figure out what you're supposed to be doing. Give yourself some time. You're not going to bang them out in one night, but you can get them done over the weekend if you don't have much else to do.
The tests are sort of cumulative. It's usually around 3/4 new material and 1/4 old material. Expect a coding question, usually just a variation of something from the homework. He expects you to know all the algorithms by name so be sure you've go that down. Pasik will tell you himself that if you do the homework early you'll be pretty well prepared for the test and this is definitely true.
A few fairly short readings on AI history and philosophy
4 programming assignments. Each can take some time because of the complexity of the assignment
2 midterms, mostly centered around the material in the assignments
1 final, which is just a slightly longer version of the midterms
Prof Pasik has a very good presentation style, but unfortunately the AI material, he covers, lacks body. He uses slides, not more than 10-12, and you would have guessed that only some introductory and intermediate concepts are covered. He spends too much time on the philosophical aspect of AI; important it may be, but I would imagine that one lecture would have been more than enough to convey the message.
Programming assignments are to be done in LISP. And if one has good enough experience in programming, LISP shouldn't be too hard to adapt to. Good thing about LISP is you don't have to learn it all in order to get started. I did enjoy programming in LISP and assignments were engaging but not too difficult.
4 Assignments
2 Midterms and 1 Final Exam
I 100% agree with the reviewer from April 15, 2010, and the later ones.
I really want to emphasize how insufferable the homework assignments are. The assignment descriptions sound straightforward and manageable, at first. It is when you start to work on it that you realize you know WHAT the homework means (that is all the lectures are good for), but not HOW to implement it. Most of the time will be spent figuring out how the program should work, even in a conceptual way, in order to achieve the algorithm that Pasik wants.
This is made harder because (a) You are using Lisp for probably the first time, a language that is not used anywhere outside academia and will never be useful to you again. No other language you have learned or lab you have taken in CS at Columbia will prepare you for understanding Lisp except the concept of recursion (b) You will not learn, during lectures, the Lisp you need to do the homework. After the first couple lectures, Pasik will not continue to teach Lisp and consider everyone a "Lisp expert" (c) You will spend hours reading Lisp primers before you actually work on the program. For this reason (and the fact that you have 3 other CS classes to worry about), the assignments will most likely lead to several all-nighters. Pasik has a 1-point-per hour deduction late policy, which is the most ridiculous policy I've ever come across in a CS class. If a student must resort to submit late, do you really think it will be by a couple hours? For a class like this, 25% deduction per day is much more reasonable.
The lectures are brief (usually they take Pasik 30 min to get through), with a focus on definitions instead of Lisp-based, example-driven concepts. Typically, a lecture will have one or two high-level examples (i.e. a diagram or graph), and one or two, if at all, slides of lisp code that do not relate to the homework in any way and will not be useful for exams.
As for the exams, I really didn't mind them. They are straightforward. However, each question is usually 1 point out of 10 points, so four points off already puts you at 60. Pasik will not tell you what questions will be on the exam. The best method is to read the slides carefully and focus on definitions. Also, there will be a lisp question on each exam that relates to the homework (i.e. a snippet of code from your hw).
4 programming assignments
2 midterms (each 10 pts), 1 final (25 pts)
He's an entertaining and friendly guy. Class is always interesting, and he incorporates more philosophical aspects of AI into the class, besides just focusing on algorithms. There were four programming assignments, the first one was extremely easy, as it was just to teach you LISP. The other four assignments did take some time, but they weren't break-your-back difficult. The tests were all very reasonable and short. If you read the textbook and went to class, you couldn't help but score well.
Honestly I'm surprised at some of the reviews here.
First and foremost, some people seemed to say that he was poor at answering questions. If anything, I'd say the exact opposite! He would always take time to address questions, and would even work them out on the board if he didn't have the answer on the top of his head. He was in *no way* dismissive of questions, and actually was looking for questions from the class more often than we had them.
I can understand that some people might dislike his teaching style if they don't want to engage with him, but really, if you pay attention, you learn a lot and are entertained at the same time.
And by the way, as some people have mentioned, he really does like LISP and recursion.
Overall, I definitely would recommend him, and I think he is deserving of a silver nugget. I think the best thing about him (and this course) is that he inspires interest, because you are exposed to so many new topics.
Three exams, four programming assignments, and textbook readings. That's it. The last assignments are interesting in their own right, but aren't massive undertakings.
This class was an incredible disappointment. Stolfo managed to make interesting material difficult to learn through his insufferable lecture style and frustrating programming assignments. He rants and pontificates, only occasionally delivering actual content. He seems to teach this class to have a captive audience for his jokes, which alternate between offensive and inane. Many are posted on his website, reflecting his general unprofessionalism. I found Stolfo so loathsome that I couldn't bring myself to go to lecture for the last month. When I tried to watch the lectures online (they were all posted because the class is offered to CVN students) I couldn't watch for more than 20 minutes. He started one class sulking because the 15 people who still attended class were not being responsive enough to a series of vague/inane questions. He tries to put on a dramatic and inspiring performance (like Gulati perhaps) but since he utterly lacks charisma the result is grating. For example, he asked the class on numerous occasions, "do you remember when you first touched a stove and learned what hot means? do you remember? do you?" He would keep this up until someone pretended like he or she had a memory of this exact experience. To most, this would seem like a rhetorical question but he wouldn't stop until he received confirmation that this very same scenario had happened to each of us.
The midterm and final were almost entirely composed of trick questions rather than straightforward questions about material that we had actually learned. I think they were supposed to be easy but I didn't understand what they were asking. Since I got around the mean grade on each, it seems like most of the class was similarly bewildered.
Stolfo's approach to teaching Lisp was to reminisce about the early days of computer science when it was just an elite group and make us fix buggy code. While the programming assignments were ultimately the only worthwhile part of the class, I think they could have been less frustrating while still teaching the same important lessons. After being exposed to Lisp for 50+ hours, I felt like I had learned how to conquer it and work around its structure rather than actually feeling comfortable. While Stolfo's introduction to the language was certainly inadequate, Lisp is basically just a frustrating language.
If you can tolerate these jokes (http://www.cs.columbia.edu/~sal/notes/y13.html) or find them amusing then take the class with Stolfo. Otherwise, avoid.
4 programming assignments (3 in Lisp which take forever if you're unfamiliar with the language - I completely disagree with the 6 hour estimate below, 1 in any language), in-class midterm & final composed of random questions that you cannot possibly prepare for
I tried very, very hard to like this class.
Here's my dilemma: when Stolfo teaches this course properly, it's a blast. He's an engaging, funny lecturer, the material is interesting, and the homework is a genuine pleasure to code.
Most of the time, though, he doesn't teach it properly. Stolfo seems to have gotten it into his head that AI ought to be conducted like a Socratic seminar; as a consequence, you will spend most of your time in this class in awkward silence people do their best to avoid making eye contact. To make matters worse, he has a particularly nasty tendency towards extreme vagueness, so his questions tend to be things like "so what is it about this problem?" or even "what was the thing that you learned during the first half of the course?". That may fly CC, but in a computer science class (and particularly one requiring an above-average level of formal rigor) it's hard to imagine a less effective teaching style.
The real problem here is that because nobody answers his questions, the lectures creep ahead very slowly, and class falls further and further behind schedule while trying to get through basic material. Then, he realizes how far behind we've fallen and skips ahead over all the tricky stuff. As a result, we ended up spending a week and a half on BFS and a day on alpha-beta pruning, and two weeks on symbolic logic followed by fifteen minutes about Bayesian inference.
That same vagueness also seems to manifest itself on just about every exam question, which might explain why the average on both midterm and final was below a 60% (and mind you, this is a class made up of half MS and PhD students).
What's really maddening is that on the handful of days he says "Fuck it, I'm just going to lecture today" the class is great. If he could be somehow persuaded to do this all the time I would have no hesitation at all in recommending this class; as things are right now, my feelings are mixed.
Other random thoughts:
The TAs were some of the best I've ever had -- friendly, approachable, and (with the exception of one disastrous mistake that made the midterm quite literally 25 times harder) very knowledgeable.
I came into this class with the rather unique advantage of already knowing Lisp. Regardless of what the syllabus may say, they will teach you no Lisp at all, but you will be expected to know it. If you, like 90% of the class, have never seen it before, you might be well-served by picking up a copy of SICP to read over winter break.
Make a real effort for the gameplay tournament. Five or ten points is nothing to scoff at when everybody fails the midterm (and it's fun).
tl;dr. The short answer is that I don't see any good reason not to take this class over Pasik's, and if Stolfo cleans up his act for next year it may even wind up being your favorite.
Extremely reasonable. Four projects, none of which should take more than six hours to code (and three of which ended up at less than 100 lines). Exams are impossible to prepare for.
Pasik is without a doubt one of the worst professors I have had at Columbia. Though his lectures are entertaining, they gloss over the course material and provide little to no insight into the concepts, test material, or homework assignments. He always ends class early, for such reasons as "I'm going salsa dancing!" When asked a question in class, he often doesn't know the answer and responds with some bs, or says he'll answer it next week with an example. Subsumption, for example, is not hard and something that he should be able to define and provide an example for on the spot, but he can't. His lectures have clearly not been updated in several years, and it shows. It seems like there are typos from the 90's that would take 2 seconds to fix, but doesn't bother to do anything to fix them.
All your homework is in LISP and Pasik barely covers LISP in class. Your knowledge of this language comes completely from independent study, and the homeworks are very time consuming. You would think that he could at least provide some sample LISP programs or god forbid tutorials that he quickly googled, but no, he leaves that up to you. As for the actual homeworks themselves, that are so vague and non-descriptive that you'll spend half the time trying to figure out what you have to do. Days or even hours before the due dates, TA's will post requirements on courseworks of things that you must include in the homework. He does not provide solutions to the homework, so you're screwed in that sense. He reuses the homeworks every single year, without changing them at all. This turns out to be bad because he could make the homework prompt more descriptive than 3 sentences. Be prepared to spend 40+ hours for each of the 3 homework assignments, and start them way early (you do have plenty of time). He probably has never read his own culpa reviews, and doesn't realize that he needs to REALLY update his lectures, homeworks, and tests.
His tests are ridiculous. No amount of studying can prepare you for them. It's not because you don't know the material, it's because you have to predict the answer that he's looking to hear. Even if you're answer is correct, as the TA agreed with me on several occasions, he could not award points because it was not identical to Pasik's horrible solutions. If you know the material and feel prepared, you can still do poorly because you did not mention something in your answer that was not asked for in the question. You will lose points for not writing a novel for each answer.
Pasik does not hold office hours and does not care about any of his students. Don't bother sending him emails or trying to get help from him.
3 programming assignments, very vague and very time-consuming.
2 midterms, 1 final.
Prof Pasik is basically an entertainer rather than a good teacher . His gestures and mannerisms of teaching create humour but at the same time it dilutes the seriousness of the subject . The paper pattern is in no way connected to the teaching in the class. He leaves class about half an hour early in each lecture ; the time duration I thought he could have utilised better by giving more insight about lisp which was alien language to most of the students if not all. Once he even conducted a survey which was his daughters' high school assignment - again a total waste of time . Assignments are not discussed in depth . Avoids answering doubts with cheeky replies . Overall not a good source of knowledge.
Artificial Intelligence theory is ok , but coding the assignments in lisp gives a tough time
I don't know why Pasik has a silver nugget because there is absolutely nothing good about his teaching. It is very clear that he has experience in the field and he is a friendly and intelligent man, but the fact remains: he reads off slides word for word, cannot answer the majority of questions we ask on the spot, and does not care whether or not we learn the material in the slightest.
When we ask questions in class, we get one of the following: "well... that's not important to our discussion right now", "uh... I don't know off the top of my head... but I'll look it up and get back to you next class" (he never did), "
All of the homework assignments are purely LISP programming projects, and when asked one day in class how one writes comments in LISP, he did not know! He had to look it up online while we sat there staring at him and waiting! I cannot believe that he would require us to write massively complex programs in a language that (1) is not taught in the class and (2) he doesn't even remember the syntax for something so basic!
He does not hold office hours, so the only time you can ask him a question is before or after class, but he employs the same techniques he uses in class to brush off your questions (and you couldn't even go to the TAs for help since they had heavy accents and also had difficulty expressing themselves in English)! Even worse, he didn't even come to class on the last day which was supposed to be our final exam review session, but instead had those same TAs run it. We were not notified of this change until one or two days before the class itself. The TAs did an awful job, just pulling up his PowerPoints and letting us stare at the slides which corresponded to our questions for a few minutes (I'm not kidding - this is exactly what they did).
Three homework assignments: LISP coding projects. You had better be comfortable with LISP going into this class, because he doesn't bother to teach it at all. I found the final project impossible even though I started three weeks before the due date!
Two midterms, one final: (haven't taken the final yet, but I expect it is very similar to the midterms) difficult no matter how hard or long you study your lecture notes, his slides, and the book.
The lectures were definitely entertaining, but I can't say I actually learned anything from them. The professor is definitely skilled and experiences, but almost to a point of not caring about our individual class. The professor does not have office hours, and even if you try to schedule a meeting he will simple tell you to stay after class - this is not very conducive for going over material.
Also, the teacher did not show up for the last day of class and instead had the TAs teach a review session. We were not informed of this change until the weekend before the last day of class. Since the teacher doesnt have office hours, we should have known that the second to last class (two weeks before the final) would be the last time we see him. Moreover, the final review was worthless - see notes on the TAs below.
Finally (though I am about to comment on the TAS individually), I have never been more frustrated with a set of TAS. Despite spending a significant amount of time trying to better understand the assignments in office hours, the tas would ask questions like "Are you sure there is an exam next week?" The TAs spoke so little english that we were reduced to playing pictionary.
The assignments were IMPOSSIBLE. I started at least a month early on every assignment and still ended up pulling all nighters the week before it was due. We never went over how to do them in class (and never really learned lisp for that matter)! We should have had more small assignments that were less frustrating and allowed us to better grasp both AI and LISP.
Moreover, the exams were IMPOSSIBLE. First, it would be nice to have some room to write rather than having to cram it onto one page. Next, I felt like I studied everything (and more) that could possibly be on the exams yet still did poorly. It wasnt like I left the exams wishing I had studied a particular concept more - rather the questions were so tricky there was no way you would ever understand what was being asked. After spending weeks studying for these it definitely does not give you a chance to show off what you know.
Pasik is an interesting and fun guy. It does help to be the right kind of student (interactive, awake, asking questions). He usually doesn't have a text book and doesn't do much on the board or with notes. He basically talks to you. Attendance is absolutely essential. If you show up every day and pay attention, you can't help but get an A, because he explains everything. If you skip classes, and you don't already know the material, then you're in trouble.
While I like him as a Professor, he's not the strongest when it comes to math or theory. He's a pretty practical guy. That works for him though, especially in data structures, which is a practical course. His coding skills are very well practiced. If you want your code to be clear, modular, and work the first time, watch him go through code. If he posts code online, take it and put it in your coding base. It's really well written code.
By the way, he loves recursion... really loves it. The main thing I learned from him was how to write concise, elegant, semantically clear, recursive code.
Little things to note:
1. He will not accept anything late. He assigns things extremely far in advance. Get them done.
2. Make sure you really get the material. Since he lectures well, the average scores on the tests tend to be pretty high (at least in my experience). So if you want an A, you need to do well on the tests.
3. The tests are really straight-forward (no surprises), but they might require you to actually know what you're doing (not just get the gist). He will make you write code snippets on the spot on exams.
Data Structures: 5 or 6 programming assignments. All quick and easy. Midterm and Final.
Artificial Intelligence. An easy project, then a hard project, then a really hard project, then a group project. In hindsight, the third project shouldn't have been THAT hard, but you really need to understand lisp by that point in the semester. Midterm and final.
Entertaining and fun, cares about the material and seems genuinely excited to teach people.
Really, really likes Lisp and Recursion.
Doesn't use a textbook for data structures. My only complaint is that given the time (one full semester) he could have gone into a bit more detail about various, more exotic, data structures. But what he does cover, he does very well.
So I recommend him.
6 assignments, Midterm and Final in 3137. 4 Assignments, Midterm and Final in 4701.
A very good class and professor. Taking Artificial Intelligence with Professor Mckeown convinced me to pursue AI and computer science further. Very highly recommended.
1 midterm, 1 final (both reasonable), and a number of programming assignments that you can spend as much time on as you want to.
I took this course in the Spring of 2004 and found it challenging and useful. The course covered the requisite material thoroughly, and offered intriguing (and sometimes quite difficult) programming assignments. Other reviewers complain about the focus on 'boring algorithmic parts' and lack of attention to philosophical implications. This is both ironic and inaccurate on a number of counts. First, the early part of the course was dedicated to a thorough consideration of the difference between human-like and rational behavior; in addition, a number of readings were posted over the term that addressed just these issues. Second, this course is offered in a computer science department; the capacity of computer scientists to have impact on scientific or philosophical problems is founded in the algorithmic details. Glossing over this material would cheat serious students who are willing to do the work. I enjoyed the course and still discuss and apply the material I learned.
Heavy, but consistent with other upper-level courses required for a Ph.D. in computer science.
Definitely agree with the first poster, though for a different class.
He's one of the best professors I've had at Columbia, and has given me a great passion for AI. His lectures are very interesting; even though it was 9am I always went to almost every class (that's very unusual for me); and though I often brought other work to do, I never got any done. Except for the day or two when he'd go over the homework or test, he had my rapt attention every moment of class.
For AI in specific, he not only focused on the computer science of it, but also asked students to read a book called "The Mind's I", and set aside a few days to talk about the more philosophical (and very intriguing) side of AI.
He is a hard teacher though, and it's a hard class. Below the mean all get C's theoretically. However, he does offer enough extra credit to shift the curve up to the high B's if you choose to do it. He never accepts late work, but even I (who chronically turns everything in late) made every deadline.
AI is hard stuff. The 3.5 projects all required a huge amount of work. The third took more time than any other CS project I've done. The tests aren't bad though, and if you go to class you don't have to study much. He also offers 5% (of the class) extra credit on each major project.
Prof. Stolfo knows the subject well, but couldn't deliver it well and control himself. He would beat the same dead horse over and over again until he realizes that he is too far behind and would start rushing through important topics (and as a result, miss important details). He would also ask questions in the final exam from topics that were not covered in the class just because PhD students were taking the final as their comp exams.
Heavy. It takes a lot of time to figure out how LISP works and the assignments were not easy.
Prof McKeown is a nice lady. Let's say that first.
She's a pretty lousy professor, though. It's hard to tell whether she's just bored with the material, or doesn't know how to make it interesting, or just doesn't care. In any event, her classes consist of a series of slides that are pretty much straight from the textbook, and a lecture delivered in monotone. She seems actively disinterested in any of the interesting intellectual, scientific, or philosophical implications of the material, and instead grinds through the most boring algorithmic parts, yet without enough detail or mathematical sophistication to make it worthwhile.
Avoid if possible.
Fair. A few projects that can will take as much work as you give them.
A very nice professor who cares enough to learn everyones name in the relatively large class.
But I don't think she was born to teach. She is very well prepared in that she has everything on powerpoint, but she's not so great at answering questions that aren't in the powerpoint plan. She's also rather bad at coming up with good test questions, asking students to go through every step of an algorithm that is easy for computers, but painfully tedius for humans, and making that worth almost half the midterm. (And giving a full blue book for it).
The subject is fascinating, and if no one else is teaching it, I still highly recommend taking it. Kathleen Mckeown is a great professor if you want a friend and a nice office hours buddy, is knowledgeable and cares, but just isn't a born teacher.
3 or 4 programming assignments, 1 very large one. midterm, final. Most of your time will be spent on the programming, but at least I found that to be the best part. You make some pretty damn cool stuff.
this class was awful! class was rough since there's SO much to write, there are no electronic notes available and although professor kender tells an anecdote about writing and speaking clearly during lecture, he quickly started writing incredibly small on the board. the homeworks are killers and the midterm was really hard. LISP is touted as the language of choice for AI, but having it thrown at us in a couple of weeks was just not helpful. i can recognize LISP code, but i can't tell what it means. apparently professor kender is trying to get a LISP course organized that you can take before AI which would probably fix this huge problem.
5 very very difficult programming assignments (first four homeworks are about half theory half programming, thankfully), after the first 2 in LISP you can program in any language you want, one in class midterm and a final
He is definitely one of the better professors in the CS dept. He has a good sense of humor (a lot of jokes about his mother-in-law), and he's wonderfully friendly. His tests are mad hard, and but his programming projects are okay. You'll probably get lost in some of his lectures, but glancing through the text should clarify a lot of things that he talks about in class. He tries to get the students to get involved during class, asking questions and trying to match faces with names. Overall, his class is worth taking!
4 programming projects (3 in LISP, 1 in whatever language you choose), 1 midterm, 1 final
Prof. Stolfo is a wonderful and knowledgeable teacher, although his wry teaching style can be off-putting at times. He also has a pretty good sense of humor for a CS prof - he ended the first lecture with the comment "Intelligence is like pornography; you know it when you see it." It helps that he co-created the course, so he not only knows the material inside and out but he is also passionate about it. On top of that, he is incredibly friendly and easy to talk to. He is also the only professor I've had who gives you buggy code on purpose (this can be good or bad depending on what kind of CS student you are).
4 programming projects, including 3 in LISP (take the 1-point course first if they still offer it) and an intelligent checkers program in the language of your choice. Moderately difficult midterm and final.
I have to put in my two cents here, because the only review on this guy is very misleading. Everyone I spoke to that took the AI class with this guy, hated life. He acts like he has better things to be doing that teachign the class, and at one point he said "Life is not fair, tough"
He started off great but his quality just went downhil very fast as the semester went on.
Stolfo is probably one of the best professors in the CS department. His lectures are entertaining, informative, and funny. He enjoys teaching and loves giving amusing assignments. He occassionally makes fun of students in class, but is also willing to allow his students to poke fun at him. The workload is medium, and the professor is very easy to talk with.
Directory Data
| Dept/Subj | Directory Course | Professor | Year | Semester | Time | Section |
|---|---|---|---|---|---|---|
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Alexander Pasik | 2012 | Spring | TR / 6:10- 7:25 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Alexander Pasik | 2012 | Fall | TR / 5:40- 6:55 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Salvatore Stolfo | 2011 | Spring | TR / 2:40- 3:55 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Salvatore Stolfo | 2010 | Spring | TR / 2:40- 3:55 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Alexander Pasik | 2010 | Fall | MW / 6:10- 7:25 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Salvatore Stolfo | 2009 | Spring | TR / 2:40- 3:55 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Alexander Pasik | 2009 | Fall | MW / 6:10- 7:25 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Alexander Pasik | 2008 | Fall | MW / 6:10- 7:25 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | 2007 | Fall | MW / 2:40- 3:55 PM | 1 | |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Salvatore Stolfo | 2007 | Spring | TR / 1:10- 2:25 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Kathleen McKeown | 2006 | Fall | TR / 11:00-12:15 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Alexander Pasik | 2005 | Fall | TR / 11:00-12:15 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Salvatore Stolfo | 2005 | Spring | TR / 1:10- 2:25 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Kathleen McKeown | 2004 | Fall | TR / 4:10- 5:25 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Kathleen McKeown | 2004 | Spring | TR / 1:10- 2:25 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Salvatore Stolfo | 2003 | Fall | TR / 11:00-12:15 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | John Kender | 2003 | Spring | TR / 9:10-10:25 AM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Salvatore Stolfo | 2002 | Fall | TR / 11:00-12:15 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Andrew Kosoresow | 2001 | Fall | TR / 11:00-12:15 PM | 1 |
| COMS / COMS | COMS COMS W4701: Artificial Intelligence | Andrew Kosoresow | 2001 | Spring | TR / 2:40- 3:55 PM | 1 |


Gold
Silver