Computer Science · Columbia University
Professor Ramamoorthi's lectures were generally fairly dry and could often be hard to follow. His accent isn't really an issue, but he has a way of failing to frame the question that's motivating what he's talking about; you get no sense of what he's building towards. He also doesn't speak very confidently; it's hard to tell whether he's entertaining a possibility for class discussion or actually saying that this is an accepted practice. The lectures tailed off in quality by the end of the course (as did attendance, precipitously); some of the lectures got into mathematical details well beyond the requirements of the course and well beyond what most people in the class could readily understand. As far as slides go: the slides were a fair basis for looking things up on the internet later, but no better. The course was well organized insofar as the assignments go; the course fell down in other respects. The assigned readings in the main textbook (Computer Graphics by Peter Shirley) often had only a tentative relationship to our lectures, and their pedagogical approach was very, very different; it's a good book, but was useless for the class. Other assigned readings included big swaths from the OpenGL red book -- hundreds of pages in all. Fortunately, I think most of us were smart enough to know that one doesn't learn a programming API that way. Another example: the materials and…
Some of you think that only the "bad students" wrote bad reviews for Prof. Ramamoorthi. The fact is, first day of class there were people in the hallway because the class was so overcrowded. By the end of the semester, about ten people showed up to lecture. I guess most of the class consisted of students who were doing badly.
Don't take this class if you're not willing to do work or put the effort in or aren't very competent. I found it great, but others may dislike it due to the high level of understanding it requires. the other reviewers basically said everything else, but the accent is not bad, the lectures are online, and if you need any extra help, it's available. you'll know if you can handle the class after the first homework.
Ravi has an Indian accent, but nothing "freakish" or unbearable (nor are there that many international people in the CS faculty anyway, so I don't know what the phuck the other reviewer was talking about). I didn't do well in this class *at all*, but objectively and honestly I feel that Ravi is definitely one of the better teachers in the CS department. (I'm sorry, but definitely better than Feiner.) First, he really, really knows his stuff; thus he was never unsure about anything and knew exactly what he was going to talk about. He even had review sessions in which over things he knew we would be confused about. Second, he is responsible. The clarity of his lecture notes reflect the effort and time he spent in preparation, as well as the very well-designed homework assignments. Third, although he is strict about extensions and the like, he is crystal- clear about rules and requirements; you have noone to blame but yourself for not doing well. He also made it clear in the first day of class that Graphics would not be easy. It turned out to be challenging but not that difficult in terms of grading, and fun as well. (Off-topic: don't you hate seeing reviews that say "I got a B and I don't know why. He's a bad professor"? I've read a lot on CULPA recently. Those aren't really reviews, just bad students blaming their teachers.)
One word: run. Despite Feiner's poor reviews I would have much rather had him teach this class than Ravi. Granted, this was his first time, but that doesn't excuse his accent, which seems like some freakish combination of every unintellegible voice in the CS dept (and trust me there are many). He supposedly knows a great deal about computer graphics, but you wouldn't know it from his lectures. The TA had to constantly remind him that the students in the class might not know as much as he did - need I say more? And don't even bother going to office hours. Still, he is a helluva lot more lenient about everything (i.e., extensions) than the TA seemed to be.
Very competent and very organized. Young, friendly, and approachable. Clear lecturer. The course is fairly difficult, but fun and interesting (and, as it turned out, graded on a generous curve). First two assignments required some mathematical sophisication and stressed understanding more than brute force. Last two assignments required learning OpenGL. That for me was overwhelming in the beginning, but once I learnt the basics (they're plenty of sample programs online), it started to be really fun and creative. Overall, I highly recommend this class.
The workload in the first half of the term was quite manageable -- the first two assignments took some thinking, but didn't require lots of code. The next two assignments were a lot more coding intensive. Coding-intensive is pretty typical for graphics courses, though, from what I understand. The assignments were all good learning experiences -- I feel they were the best part of the course. We were asked to work in groups of two on all the assignments, though some people worked on their own by the end because of people dropping the course, etc. Coordinating with a partner could be a bit of a hassle, but certainly wasn't as difficult as it is with larger groups.
Very nicely spaced out programming assignments - don't wait till the last minute. the later assignments are less constricting as well. the midterm required a lot of mathematical understanding, but the final was take home and rather straight forward.
OpenGL wasn't that hard for me (but I procrastinated a lot) and I imagine it wouldn't be hard for other people. It has a pretty steep learning curve but once you get the basics it'll be fine. And, again, it's really fun (you get to make your own game for god's sake; what else can you ask for?). First two homeworks (lines and curves) need you to think hard. Last 2 homeworks need you to work hard. Overall, workload is not bad if you START EARLY. For your own good, *START EARLY*
Unbearable if this isn't your only class, unless you happen to know OpenGL going in. Two "concept" homeworks, a final video game project in OpenGL, an in-class midterm and a take-home final.