Description
The course provides a comprehensive overview of algorithms and software techniques for generating animated movies and
interactive animation programs. This course is aimed at computer science students interested in understanding the underlying
concepts and techniques of computer animation. Through the development of a significant project using industry standard graphics
libraries, students will learn proven techniques of computer animation. Though not extensively mathematical, the course will
expose students to mathematical concepts such as curve representations, numeric interpolation and parameterization where appropriate.
Course Schedule
- Instructor: Stephen Brooks
- Lecture Time:
- Wednesdays & Fridays, 10:05 - 11:25
- Carleton TUPPER BLDG THTR C
- Help in the Learning Center (with TA):
- Tuesdays, 3pm - 4pm
- Thursdays, 1pm - 2pm
- TA Office Hours Online on Brightspace (with TA):
- Professor office hours:
Learning Outcomes
- Implement established animation software methods.
- Become proficient in 3D animation programming.
- Implement introductory geometry and pixel shaders on the GPU.
- Increase your proficiency with a lower level language (C).
- Express your creativity as a programmer.
- Be able to create interactive 3D graphics.
- Explain the rendering pipeline stages.
- Develop interesting projects & assignments with your own customizations.
- Explain the origins of graphics and animation.
- Understand key frame animation.
- Implement interpolated graphics.
- Grasp the mathematical underpinnings of introductory graphics.
- Implement multi-stage affine transformations
- Setup and manipulate orthographic and perspective projections.
Hardware & Software
Programming assignments will be done on the Windows platform in C/C++ using the OpenGL and GLUT libraries.
You are welcome to use C/C++, Glut and OpenGL on your own machine, although Linux and Macs will not be supported in the lectures.
Recommended Text
Prerequisites
- CSCI 2110 (Data Structures and Algorithms)
- CSCI 2122 (Systems Programming)
- MATH 1030 (Matrix Theory and Linear Algebra 1)
Grading
There are three items that will make up the final grade for this course:
- 40% Tests (2)
- 20% Programming Assignments (2)
- 40% Final Project
Academic Honesty
All work you submit must be your own. It is fine to discuss problems, but when it comes time to submit solutions,
the materials you hand in must be done individually, by yourself. Any materials referenced must be attributed.
All suspected instances of academic dishonesty must be reported to the Senate Discipline Committee.
In particular, you should never show another student code that you have written for an assignment in this course,
nor should you write code for another student to use in his/her assignment. Note that this specifically prohibits
working with other students when writing the code for your assignments. As I said above, it is fine to discuss problems,
but the code you submit must be your own, written by you alone.
For further information regarding academic honesty at Dalhousie, please see the University plagiarism website.
Also note that all assignments and projects will be checked for plagiarism using automated software.
Late Submission Policy
Late assignments will be penalized 5% per day (or part thereof). You may not receive credit for work that is more than 3 days late.
The project CANNOT BE HANDED IN LATE (no exceptions).
Return to main page.