Ecological animation, developed by former student M.Czarnek

CS 527 @ UIC
Computer Animation

Fall 2017
Instructor: G.Elisabeta Marai (gmarai@uic.edu)
Wed 4-6:30pm
ERF 2068, EVL CyberCommons




Class Information

Collaboration Policy


Piazza Q&A


Content: CS527 surveys computer algorithms and programming techniques for specifying and generating 3D motion of objects in modeling and simulation, videogames, and scientific visualization. The main audience is beginning graduate students in Computer Science with an interest in modeling and simulation, and graduate students who are interested in electronic visualization or in EVL's program in videogame design (ranked as one of the top 25 graduate programs in game design by the Princeton Review 2016). Students learn how to create motion in multiple ways: from code to simulate cloth or grass behavior or to generate flocking behavior for large groups of individuals, to motion capture of human motion. The students also present and discuss current research papers, and learn how to use the state-of-the-art technology at EVL, from large and regular displays to touch tables.

Prerequisites: Programming experience (C++ or Java). Computer graphics (aka cs488) experience is welcome, but not required.

This course is not intended for animators using off-the-shelf animation software (except to the extent that it might help in understanding the underlying computattions required for a particular technique).

Structure: The class consists of lectures, guest-lectures, a few assignments, readings, discussions, and a final project.

Grading policy: the grade for this class will be computed based on:

  • Three Programming Assignments (45%: Particles, Interpolation, Flocking)
  • Final Project 30%
  • In-class paper presentation 10%
  • Class Participation 15%

In this course we will be using Piazza for class discussion. The quicker you begin asking questions on Piazza (rather than via emails), the quicker you'll benefit from the collective knowledge of your classmates and instructors. We encourage you to ask questions when you're struggling to understand a concept--you can even do so anonymously. If you are registered for this course, we have already sent you an invitation to Piazza.

The class schedule, the assigned readings, and the course assignments are (and will continue to be) posted through the class syllabus and through Piazza.


By the end of this class, students will be able to:

  • create and represent motion

  • use techniques for computer animation such as keyframing, procedural methods, motion capture, and simulation

  • understand and use principles of geometric modeling and simulation

  • design and implement a reasonably sophisticated computer animation of natural phenomena (smoke, cloth etc) or of organic motion (plant, human or animal)

  • communicate orally effectively

  • give and receive feedback effectively