Computer Animation · Computer Science
The workload is very heavy. I spent 30+ hours each week on the assignments, sometimes more. You will need to start each milestone basically the day it comes out in order to have a chance of finishing it and passing the tests of the autograder. I don't think the grading is entirely fair, as one can have a working program that gives a roughly correct animated simulation, but there can be residuals that cause the tests to fail and no partial credit given. I also think the assignments should be extended out to 1-1/2 weeks at minimum to complete, as they are so involved and require so much debugging that you essentially need to work on them every day of the week for multiple hours to have a chance of finishing on time. Every deadline was extended, and we even had an assignment due during the week of Spring Break. The work was unrelenting and there were multiple complaints on the discussion forum. I enjoyed the milestones a lot, so it wasn't a big deal for me personally, but it was definitely stressful and frustrating at times not being able to complete an assignment to my satisfaction because I simply ran out of time.
Heavy. Weekly homework assignments, containing a program and a creative. The programming assignments tended to take me 4-5 days, and the mandatory creative scenes took up the rest of the time until the deadline. Obviously, the more time you spend on the creative scene, the better your assignment grade, so this system favors students who can complete the assignments faster. It is not easy to get an A in this class, but it is possible. Grinspun only gives A+ grades to exceptional students who he believes have gone above and beyond.
I took this course after the Computer Graphics course, which I absolutely loved. I had some expectation that the animation course would similarly involve quite a bit of physics and math, and I wasn't disappointed in this respect. The bulk of the grade comes from assignments broken up into themes and milestones. There is an assignment every week, with the implementation of basic gravitational and spring forces, collision detection, time integration using the explicit and implicit Euler methods, rigid bodies, and finishing up with fluid simulation. We did not get to the final assignment because there was a lot of difficulty getting the preceding ones done in time and the deadlines had to be extended nearly every week. I attended a few of Professor Zheng's lectures, and while I had no complaints with his teaching style, I just didn't find them to be wholly necessary because the handouts that come with each assignment are so thorough, you pretty much just need to read and re-read them to be able to complete the assignments. This is not to say that any of the assignments are easy, however. There are test cases that must be passed, and it's very easy to fail them even when your animation looks correct because of small residuals. Unfortunately, there is also no partial credit, as the assignments are graded by an autograder. You either pass the tests with no residuals or your score su…
One of the best, and also one of the hardest, most time-demanding classes I have ever taken. Grinspun is a very well known and accomplished professor who is passionate about his work, as well as an enthusiastic and organized lecturer. Take this class late in your CS career - the more programming experience you have, the better. Homeworks are difficult, but you are provided with a code base that provides visual debugging tools, as well as a grading script with numerous tests that gives you an accurate idea of the performance (and final grade) of your code. All homeworks come with a PDF explaining the physics concepts behind the code for that week, and although there were some errors, the PDFs were for the most part very helpful, especially if you happened to miss a lecture. (In the case of mistakes in the PDF, extensions were often given) To prepare: learn linear algebra, refresh your knowledge of differential calculus (mandatory), be a strong C++ programmer, and, although it is not listed in the course requirements, I STRONGLY recommend some kind of physics background. While Grinspun does go over this material in class, if you start with at least one college-level physics class under your belt, the lectures and homeworks will be much more comprehensible, and you won't waste time learning elementary physics. Grading: I include this section to discuss some grading policies I dis…
Light at the beginning, but heavier as time goes. Fortunately the assignments have a lot of fun and extremely clear. Each assignment contains some coding job, and designing a demo scene. Usually each assignment will cost you 1~2 days if you want to get an A+. You would become an experienced C++ coder after finishing this course even you don't know how to write a Hello World at the beginning of the term. The grading is partly democratic, say, your classmates will be in charge of evaluating your demo scenes in a double-blind manner, and the remaining part is graded with a robot checking your result. No exam!
DO NOT TAKE THIS CLASS. It singlehandedly made me question taking the Vision/Graphics track as a CS Major. While the content of the class that resides at the intersection of computer science, physics, and applied math sounds very compelling, the structuring of the assignments takes away heavily from that appeal. For one thing, the assignments had hidden skeleton code for some mysterious reason that I honestly still don't understand to this day that makes it harder to understand what each of the functions do. Towards the start of the semester, that in combination with the lack of commenting/documentation made the assignments more of a hassle than they really could've (and should've been). Then, some of the assignments involved reading research papers that were so heavily disjointed from each other to the point of again, making the assignments harder than they could've and should've been. An example that comes to mind is the T2M3 assignment (Theme 2, Milestone 3), where we had to implement an algorithm for particle collision detections that was more efficient than quadratic (O(N^2)) time complexity. For that assignment, only one of the algorithms were fast and accurate enough in actuality to pass the test cases - all of the others (including the ones actually mentioned in the recommended research papers) were obsolete. I spent days implementing one of them, just for it to fail a…
This is the BEST course I've ever taken. Prof. Grinspun is talented, not only on his research, but also on teaching. It seems he can see through your mind, find your weekness and try to fix it with all the material he provides. This course is MUST for students who is in the graphics track or want to enter either the graphics industry or academia after graduation. In addition, I think this course is also a MUST for who want to be a professor in computer science to learn how to be a good lecturer and how to organize your material well in a 1.5-hour presentation. Besides coding and graphics, the course covers a lot in physics, linear algebra and differential geometry. Everything is self-contained so you can start this course even your math is only at high school level.