Computer Graphics I (4003-570-03 / 4005-761-03)

Course Information

Instructor:Sean Strout

Office hours: Monday:4-6, Tuesday: 2-4, Room: 70-3637 GOL-3517
Class times: Monday, Wednesday 6:00 PM - 7:50 PM, Room: GOL-1445


Computer Graphics I is a study of the hardware and software principles of interactive raster graphics. Topics include an introduction to the basic concepts, 2-D and 3-D modeling and transformations, viewing transformations, projections, rendering techniques, graphical software packages and graphics systems. Students will use computer graphics packages and implement fundamental computer graphics algorithms.

Course Goals


Undergrads: third year standing or permission of instructor.

Grads: advanced programming (4005-761) or equivalent. Completion of the CS bridge courses is usually sufficient.

Please see me as soon as possible if you haven't reached this level. If you aren't at least a third-year student, or you have not come through an equivalent preparatory programming sequence, there is a very good chance that you don't have sufficient programming experience to allow you to succeed in this course.


Donald Hearn, M. Pauline Baker, and Warren Carithers, Computer Graphics with OpenGL (4th Edition), Prentice-Hall, 2011, ISBN-10: 0136053580

Dave Shreiner and The Khronos OpenGL ARB Group, OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1, 7th Edition, Addison-Wesely, 2009, ISBN: 0-321-55262-8

Richard S. Wright, Jr., Benjamin Lipchak, Nicholas Haemel, Graham Sellers, OpenGLŪ SuperBible: Comprehensive Tutorial and Reference, 5th Edition, Addison-Wesley, 2010, ISBN: 0-321-71261-7

Randy Rost, Bill Licea-Kane, Dan Ginsburg, John Kissenich, Barthold Lichtenbelt, Hugh Malan, Mike Weiblen,. OpenGL Shading Language, 3rd Edition, Addison Wesley, 2009, ISBN: 978-0321637635

Requirements and Grading

  Undergraduate Graduate
Exams 40% 35%
Assignments 40% 35%
Homework 20% 20%
Grad Report   10%

Homework will be announced in class and posted on the course website. Due dates will also be listed. Generally, students will have 1 week to complete homework assignments. Each homework will be weighted equally on a 10-point scale.

Programming Assignments:
There will be seven programming assignments this quarter. Programming assignments will be posted on the course website. Generally, students will have 1 week to complete programming assignments. Each of the programming assignments will be weighted equally on a 10-point scale.

Grad Report (graduate students only):
Each graduate student is expected to research a topic related to computer graphics and prepare a 10-15 page report. In creating this paper, the student should identify at least five recent (within the last 10 years) papers related to the topic and summarize, compare, and discuss the work in these papers. It is intended that the student choose a topic close to their Graduate capstone project/thesis or if they haven't yet started their capstone, a potential topic that might turn into a capstone project.

Two exams are scheduled for this course:

Both exams will be weighted equally in the calculation of your final grade.

Note to graduate students: A deeper understanding of the material is expected of graduate students. Hence, the graduate and undergraduate versions of the exams may not be the same.

Exam programming option: In lieu or taking the written exams, students will have the option to do an advanced programming project for their midterm and/or their final  It is expected that the code created for the weekly programming assignments will be reused and incorporated into the code for these projects.

The requirements for both "exam programming options" will be posted in the content area of myCourses as the quarter progresses.


Dropboxes will be available on the myCourses website for submission of homework, assignments, exam programming projects, and the grad report. Please pay attention to the due dates.

Policy on Late Submissions

It is extremely important to continue to make progress as the course progresses. As such, late deliverables will be not be allowed. If you foresee any problems with meeting a deadline, please see the instructor well in advance of the deadline to work out alternate arrangements.

Tentative Schedule

Lecture Notes: Slides presented in class will be posted in the content area of myCourses.

All assignments, readings, and homework will be posted on the course website.  Special events such as exam dates will also be posted on the course website. Please stay informed by visiting the course website regularly throughout the quarter.

Week Day Topics Relevant Chapters Special Events
1 Mon. Sept. 3 Introduction
Course Logistics
1, 2, 4, 5  
Wed. Sept. 5 The Story of Computer Graphics (video) 1, 2, 4, 5 Homework 1 assigned
2 Mon. Sept. 10 Elements of CGI
Math Review
6, 8  
Wed. Sept. 12 Implementing Graphics Primitives (lines) 6, 8 Homework 1 due
Homework 2 assigned
Assignment 1 assigned
3 Mon. Sept. 17 Implementing Graphics Primitives (circles) 6, 8  
Wed. Sept. 19 Polygon Fill 6, 8 Homework 2 due
Homework 3 assigned
Assignment 1 due
Assignment 2 assigned
4 Mon. Sept. 24 2D Geometric Transformations
2D Viewing and
3-5, 7-10  
Wed. Sept. 26 2D Graphics Pipeline Review
Introduction to 3D
3-5, 7-10 Homework 3 due
Homework 4 assigned
Assignment 2 due
Assignment 3 assigned
Midterm programming option posted on September 28th
5 Mon. Oct. 1 Basic Geometric Modeling and Tessellation
Midterm review
Discuss midterm programming option
4 Assignment 4 assigned
Wed. Oct. 3     Homework 4 due
Assignment 3 due
Grad Report: Topic due
6 Mon. Oct. 8 Introduction to Shader -Based OpenGL 17, 19  
Wed. Oct. 10 3D Geometric Transformations
3D Viewing
17, 19 Homework 5 assigned
Assignment 4 due
Assignment 5 assigned
Midterm programming option due on October 12th
7 Mon. Oct. 15 Illumination
Color and Color perception
18, 11, 12  
Wed. Oct. 17 Shading
Material Properties
18, 11, 12 Homework 5 due
Homework 6 assigned
Assignment 5 due
Assignment 6 assigned
8 Mon. Oct. 22 Texture Mapping 22  
Wed. Oct. 24 Advanced Geometric Modeling; Curves and Surfaces
Hidden Surface Removal
22 Homework 6 due
Homework 7 assigned
Assignment 6 due
Assignment 7 assigned
9 Mon. Oct. 29 Procedural Computer Graphics 13-16, 23 Final programming option posted on October 29th
Wed. Oct. 31 Introduction to Global Illumination
Introduction to Animation
13-16, 23 Homework 7 due
Assignment 7 due
10 Mon. Nov. 5 Preview of other courses in CS Graphics Cluster
Computer Graphics Research areas
Wed. Nov. 7 Final review
The Pixar Story (video)
21 Grad report due
Final programming option due on November 12th

Academic Honesty

It is a shame that this must be stated at all, but there are always a few students who do not abide by the rules of proper academic conduct. For the record:

Those who behave in a dishonest or unethical manner in computer science courses, or in their dealings with the Computer Science Department, are subject to disciplinary action. In particular, dishonest or unethical behavior in the execution of assigned work in a computer science course will be treated as follows:

  1. For a first offense, the student involved will receive a grade of zero on the assignment. [A stronger penalty may be exacted, if, in the judgment of the instructor, the offense involves a flagrant violation of basic ethical standards.]
  2. For a second offense, in the same or a different course, the student will receive a failing grade for that course.
  3. A third offense will be referred to judicial affairs.

Complete policy details regarding cheating and classroom conduct can be found at the following links

Useful Links