{{FULL_COURSE}} is reputed to have one of the highest workloads in the computer science curriculum. There will be substantial programming assignments in C++ due nearly every week, and each assignment builds on all previous ones. We will cover C++ and the necessary linear algebra very rapidly and expect you to study them on your own as needed to get up to spped. We think 277 is absolutely worth the effort you put into it, but you should factor the workload into your course planning. In particular, we strongly advise against taking it at the same time as another highly project-based programming course.
Piazza enrollment: The {{FULL_COURSE}} piazza board is now open. Click here to sign up. Course announcements will generally be made only on Piazza.

Course Description

Welcome to CIS 277: Interactive Computer Graphics. This course covers the technical aspects of 3D Modeling including viewing transformations, polygon and mesh data structures, keyframe animation, and interactive manipulation. You will write a series program assignments in C++ that build up to a 3D game final project.


{{FULL_COURSE}} assumes a solid programming background in Java and/or C. CIS 240 is very strongly recommended. C++ experience is not required but is very helpful. We also expect you to have a minimal background in linear algebra: you should at least be comfortable with matrix multiplication and determinants.


There is no required textbook for {{FULL_COURSE}}. We will be providing links to a series of helpful online resources, and may recommend some possible textbooks later in the semester.