This is the homepage for the 2011S offering of CS4300, 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.

**Email**: vona@ccs.neu.edu

**Office**: 248 WVH

**Office Hours**: 1–2:30pm Mondays, 3:00–4:30pm Tuesdays

**Email**: dkanou@ccs.neu.edu

**Office**: 214 WVH

**Office Hours**: 5–6pm Mondays and Tuesdays

110 WVH 9:15–10:20am 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 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.

- Outline — what we will cover in this course
- Schedule — weekly listing of lectures, assignments, and exams
- Policies — grading, completing homeworks, taking exams
- Platforms — info on supported programming platforms for this course
- Assignments — homework assignments
- Lectures — lecture notes
- References — extra materials: references to useful books, websites, etc.
- Example Problems — example problems for the exams
- Sample Code — some example code