Bryn Mawr College
CMSC 312: Computer Graphics
Fall 2010

 Syllabus and Schedule
 Course Information

Instructor Information
Textbooks and Software  Course Policies
Additional Resources

Syllabus and Schedule

This is a tentative syllabus and schedule.  Topics, reading assignments, and due dates are subject to change.
All homework assignments are due by the end of the day listed.

Wk Date Topic Reading Lab Homework Comments                  
1 8/30 Introduction, history of graphics Angel Chapter 1
C notes
Makefile tutorial
C recap


3D graphics fundamentals, graphics architectures

Graphics architectures (continued), RenderMan

2 9/6

Labor Day!  (No Class)

9/8 OpenGL basics: init, data types, primitives Angel 2&3
gdb tutorials: 1, 2
Intro to OpenGL
Mouse and keyboard
hw1 out
9/10 Event loops and call backs

3 9/13 Geometry intro and review Angel 4
C styles

Coordinate Frames and Homogeneous Coordinates

9/17 Coordinate Frames and Homogeneous Coordinates (continued)

4 9/20 2D and 3D geometry and transformations Angel 4 Transformations in GL

Transformations (continued), Fractal Modeling
Angel 5

9/24 Window to viewport mapping, world coordinates, 2-D view transformation hw1 due; hw2 out

5 9/27 3D view volumes and viewing transformations
(see above slides)
Angel 5
No lab, due to Grace Hopper Conference

C/C++ tips, OpenGL nuances

10/1 Procedural animations

6 10/4 Projections and perspective Angel 5

No lab -- please use the time to finish your projects

Projections and perspective (continued)

10/8 Projections and perspective (continued) hw2 due; hw3 out
OpenGL modeling notes
OpenGL viewing notes
7 10/11
Fall Break! (No Class)

8 10/18 Lights and Materials Angel 6
Lights and materials
Lab 4

Environment Files

Flat, Gouraud and Phone Shading in OpenGL

10/22 Shading (Continued)
hw3 due (Sunday 10/24); hw4 out
9 10/25 Texture, bump, displacement mapping Angel 8.6-8.12 (skip parts on antialiasing)
(Skim 8.1-8.5)
No lab, due to my travels

No class due to travels

10/29 No class due to travels

10 11/1 Texture, Bump Mapping in OpenGL See above
Texture mapping
Lab 5

Rasterization, Clipping, HSR, Anti-aliasing Angel 7.1-7.5

11/5 Rasterization, Clipping, HSR, Anti-aliasing / Review
Angel 7.7-7.12 hw 4 due (Sunday 11/7); hw5 out
11 11/8 Midterm Exam

No Lab Due to Midterm

Ray-tracing Angel 12, 7, 8

11/12 Ray-tracing (continued)
Reflection and refraction
Angel 12, 7, 8
12 11/15 Anti-aliasing and Ray-tracing Angel 12, 7, 8
env effects
Lab 6

Advanced Ray-tracing
Angel 10

11/19 GL transparency and environmental effects

hw5 due (Sunday 11/21); hw6 out
13 11/22 Advanced Ray-tracing (continued) Angel 10


Procedural Shaders / Textures
Angel 11.9

11/26 Happy Thanksgiving!  (No Class)

11/29 Global Illumination Angel 13.5
video capture lab (optional)

Splines and Surfaces
Angel 12.1-12.6

12/3 Splines and Surfaces (continued)
Angel 12.7-12.12

12/6 Splines and Surfaces (continued); Particle Systems
Angel 11.1-11.6

Last Day of Class!  Particle Systems (continued), HDR Imaging
Angel 11.1-11.6

(Optional)  Showcase of videos from SIGGRAPH'10
2-4pm in Park Room 231.  Snacks provided.  Be there!


hw6 due

General Course Information

Description:  An introduction to the fundamental principles of computer graphics: including 3D modeling, rendering and animation. Topics cover: 2D and 3D transformations; rendering techniques; geometric algorithms; 3D object models (surface and volume); visible surface algorithms; shading and mapping; ray tracing; and select others.

CMSC 206, CMSC/MATH 231 and CMSC 246 or permission of instructor.

Lecture Hours: Mondays, Wednesdays & Fridays, 1-2 pm
Room: Park 336

Lab Hours: TBD
Lab room: Park 232


Contact Information and Office Hours

Professor: Eric Eaton
Office:  Park 249
Office Phone:  610-526-5061

E-mail is the best way to reach me, and I make a concerted effort to respond to all e-mails within 24 hours on weekdays and 48 hours on weekends (often, much less!).

Office hours: Mondays 2-4pm and by appointment

Textbooks & Software

Course Policies


Attendance and active participation are expected in every class. Participation includes asking questions, contributing answers, proposing ideas, and providing constructive comments.

As you will discover, I am a proponent of two-way communication and I welcome feedback during the semester about the course. I am available to answer student questions, listen to concerns, and talk about any course-related topic (or otherwise!). Come to office hours! This helps me get to know you. You are welcome to stop by and chat. There are many more exciting topics to talk about that we won't have time to cover in-class.

Whenever you e-mail me, please use a meaningful subject line and include the phrase "CS312" at the beginning of that line. Your e-mail will catch my attention and I will respond quicker if you do this. I make an effort to respond to e-mails within 24 hours on weekdays and 48 hours on weekends.

Although computer science work can be intense and solitary, please stay in touch with me, particularly if you feel stuck on a topic or project and can't figure out how to proceed. Often a quick e-mail, phone call or face-to-face conference can reveal solutions to problems and generate renewed creative and scholarly energy. I strongly recommend beginning homeworks and projects early, since we will be covering a variety of challenging topics in this course.


Your final grade will be composed of :

Homework and Project
Assignments -- 60%
Midterm Exam -- 20%
Final Project -- 15%
Class Participation -- 5%
Incomplete grades will be given only for verifiable medical illness or other such dire circumstances.

Throughout the semester, I will give you feedback as to how the various scores map to letter grades.

Submission and Late Policy

All work must be turned in either in hard-copy or electronic submission, depending on the instructions given in the assignment.  E-mail submissions, when permitted, should request a "delivery receipt" to document time and date of submission.  Extensions will be given only in the case of verifiable medical excuses or other such dire circumstances, if requested in advance.

Late submissions will receive a penalty of 5% for every 24 hours it is past the due date and time.  Submissions received more than one week late will not be accepted. 

If you are dissatisfied with your grade on a homework project, you may resubmit it at any time to try and improve that grade, up to the level of a B+ equivalent.


There will be a midterm exam in this course, and no final exam.  The exam will be closed-book and closed-notes.  It will cover material from lectures, homeworks, and assigned readings (including topics not discussed in class).  So, keep up with those readings!

Study Groups

I want to encourage you to discuss the material and work together to understand it. Here are my thoughts on collaborating with other students:

If you have any questions as to what types of collaborations are allowed, please feel free to ask.

Additional Resources



Chado by Norbert Kern

"Warm Up" by Norbert Kern (2001)



Thanks to Dianna Xu and Marc Olano for making their course materials available.  Many of the course materials for this class have been adapted form those sources.