Computer Graphics (CS 4300) 2010S

(mouseover each image for a description; click to zoom)

This is the homepage for the 2010 Spring offering of CS 4300 (formerly CS U540), a one-semester undergraduate introduction to computer graphics at the College of Computer and Information Science at Northeastern University.

This course will chart a path through all the major aspects of mainstream computer graphics. You will learn the fundamental mathematics, algorithms, data structures, and programming techniques that are at the core of modern 2D and 3D graphics applications in practice. Such applications include: drawing and design programs, data visualization interfaces, desktop window systems, and games.

We will start with 2D graphics in the first half of the course, and extend to 3D in the second half.

Lectures will focus on mathematical foundations and algorithms in four core areas of computer graphics: modeling (describing geometry and its appearance), rendering (producing images of a model), interaction (navigating in a scene and manipulating objects), and animation (making models move). This information will be complimented with readings from the course text and other selected references. Two in-class exams will be given to test your comprehension of material from the lectures and readings. There will be no final.

Homework assignments will be significant, and will consist largely of software development tasks where you will use your own creativity to apply the methods learned in class in building several interesting 2D and 3D graphics applications. There will also be a significant English writing component to at least one of the homeworks.

The basic parameters of the course are summarized below, followed by links to the major course documents. All of the information on this website is subject to change—hit the “reload” button when viewing each page to be sure you see the newest revision, and not an old version that might have been cached by your browser. The timestamp of the revision you’re viewing is always shown at the bottom of the page.

Instructor: Marsette Vona

Office: 248 WVH (phone 617 373 8728)
Office Hours: 3:00–4:30pm Tuesday and Friday

TA: Tong Pan

Office: 266 WVH enter east door (phone 617 510 8541)
Office Hours: 9:00–11:30am Tuesday and Wednesday


110 WVH 1:35–2:40pm Mon/Wed/Thu


Peter Shirley and Steve Marschner. Fundamentals of Computer Graphics, Third Edition. A. K. Peters Press, 2009. Errata.

We will not be reading the text from cover to cover, or even in any particular order. Instead, we’ll use it more as a reference. Specific sections will be assigned corresponding to each lecture topic. These reading assignments will be announced both in lecture and on the course schedule.


The prerequisites for this course are Fundamentals of Computer Science CS 2510 (formerly CSU213) and Linear Algebra with Applications MTHU371. Essentially, you should know how to design and debug programs in an environment of your choice (though we will only officially support a few specific platforms—if you use something else, we can only offer you our best effort to help you with your code), and you should have some familiarity with basic linear algebra (vectors and matrices), though we will explain as much of the math as possible. Please contact the instructor if you would like to take the course but are unsure if you meet any of these requirements.

Course Documents