CSE 167: Introduction to Graphics

Winter 2003


Farhana Bandukwala, Ph.D. (farhana@alumni.carnegiemellon.edu)

Teaching Assistants

Ninad Dewal (ninad@ucsd.edu)

Kuo-Wen Lo (kulo@cs.ucsd.edu)


MWF 3:00pm - 3:50pm

Warren Lecture Hall (WLH), Room 2204

Office Hours
Bandukwala Tues 3:30pm - 4:30pm AP&M 3832
Dewal Mon 1:00pm - 3:00pm Graphics Lab
Lo Wed 1:00pm - 3:00pm Graphics Lab
Fang Liu (Tutor) Tues 4:00pm - 6:00pm Graphics Lab
Thurs 1:00pm - 3:00pm Graphics Lab
Graphics Lab

AP&M 2444

Class Mailing List

subscribe cse167 my_email@something



Woo, Neider, Davis, Shreiner.  OpenGL Programming Guide, Third Edition: The Official Guide to Learning OpenGL, Version 1.2, ISBN 0-201-60458-2 ($54.99 @ Amazon and Barnes and Noble)

Not Required (but Strongly Recommended)

Angel, Edward.  Interactive Computer Graphics: A Top-Down Approach with OpenGL, ISBN 0-201-77343-0

Course Objectives

An introduction to the fundamental concepts in Computer Graphics. The theory is explored by implementing the concepts using OpenGL ( an advanced graphics library).  The topics discussed include raster graphics,  2D & 3D transformations, curves & surfaces, illumination, hidden surface removal, and animation.


Course Organization

The course is organized as a series of lectures by the instructor, reading, assignments, and exams:


The course has four assignments.  Each assignment will consist of two parts -- a programming project as well as a short report explaining the algorithm and the design of the software, and any other implementation issues required to understand the code  Each assignment is to be worked on individually.  Unless specified otherwise, each assignment is to be submitted by the beginning of class on its due date.

Each assignment will provide opportunities for extra credit.  It is encouraged that you do the extra credit to grasp the material at a deeper level.


The course has two exams, a midterm and a final. The midterm will cover the first half of the class, and the final will cover the material for the entire quarter, concentrating on the topics after the midterm.  Look at the table below for the dates of the exams.

Midterm Solution

Final Review Questions... (Solutions, Coming Soon)


Your grade for the course will be based on your performance on the assignments, midterm exam, and final exam.  The corresponding weights for the three are shown below:

Assignments Total: 250 points
Midterm:   75 points
Final:   75 points
Total: 400 points

Extra Credit will be available on the assignments; make use of it.


Cheating is not permitted.  If you are found guilty of cheating, severe consequences will result.  If you find yourself in a situation where you are tempted to cheat, please think twice before doing so.  In fact, you are better off e-mailing the professor and explaining the circumstances that are preventing you from doing the assignments/exams on your own.  Doing so will make all of our lives much easier, especially yours.

Be sure to read the academic honesty guidelines outlined by Charles Elkan for CSE 130.  These guidelines also apply to this course.

Course Schedule

The following table outlines the schedule for the course. It will be updated as the quarter progresses.



Date Lecture Readings Assignment
    Introduction to Basic Raster Graphics    
1 1/ 6 Intro to graphics    
2 1/ 8 Concepts of raster graphics    
3 1/ 10 Graphics system   Assignment 1: Out
    Geometry and Transformations    
4 1/ 13 2D Geometry & Transformations    
5 1/ 15 OpenGL Objects and Transformation    
6 1/ 17 User Interfaces    
-- 1/ 20 Martin Luther King Holiday (no class)    
7 1/ 22 Parametric Polynomials   Assignment 1: Due (3pm)
8 1/ 24 Types of cubics   Assignment 2: Out
8b 1/ 27 Rendering Beziers    
    Three-dimensional Rendering    
9 1/ 29 Three dimensional objects and transformations    
10 1/ 31 Projections    
        Assignment 2: Due (3pm)
11 2/ 10 Surfaces   Assignment 3: Out
-- 2/ 12 Review for Midterm    
-- 2/ 14 Midterm Exam (in class)    
-- 2/ 17 Presidents' Holiday (no class)    
12   Rendering in Open GL    
13 2/ 19 Light sources    
14 2/ 21 Surface Shading    
15 2/ 24 Illumination and Shading in OpenGL    
17 2/ 28 (Demos + Midterm grades handed back)   Assignment 3: Due (3pm)
    Object Hierarchy    
18 3/ 3 Scene Graphs and Trees in OpenGL   Assignment 4: Out
16 3/ 5 Object Hierarchies    
19 3/ 7 Putting it all Together    
    Hidden Surface Removal    
17 3/ 10 Object Space Algorithms     
20 3/ 12 Basic concepts and Languages    
22 3/ 14 Animation tricks in Open GL    
    Graphics Pipeline    
23 3/ 14 Standard graphics pipeline revisited    
-- 3/ 17     Assignment 4: Due (TBA)
-- 3/ 21 Final Exam (Friday, 3:00pm - 6:00pm, WLH 2204)    


Resources / Supplemental Reading

Visual C++ w/ OpenGL Tutorial Explains how to set up Visual C++ to compile/build programs calling OpenGL functions.  If you are working off your home PC, be sure to download to download the GLUT libraries just below in order for your programs to work!
GLUT libraries (for Home PCs) Click on this link to download the (.zip) file.  Unzip the file and follow these directions!
www.opengl.org   Contains lots of information and documentation on functionality provided in the code libraries and the GLUT toolkit.


Maintained by: Ninad Dewal

Original layout by: voelker@cs.ucsd.edu