CS-321 Computer Graphics
Fall
2006
Dr. Mark Hornick


Description     Syllabus     Policies     Quizzes/Homework     Grading    Lab info


Revision History

This page was last updated on 02/28/2007.

8/25/2006 - Initial version.
9/1/2006 - 2nd draft.
9/7/2006 - Lab 1 posted.
9/13/2006 - Quiz 1 scheduled for 9/14/2006
9/14/2006 - Lab 2 posted.
9/19/2006 - Quiz 2 scheduled for 9/21/2006
9/26/2006 - due date for Lab 2 changed to 11am day of Lab 3
9/27/2006 - Lab 3 posted
10/4/2006 - Lab 4 posted; modified requirements for the files you have to submit
10/18/2006 - Lab 5 posted - all files must be submitted in a zip file format.
11/3/2006 - Lab 6 posted
11/8/2006 - Example output for Lab 6 included on Lab 6 webpage.

 

Class Schedule

Lectures are held each Tuesday, Wednesday, and Friday in CC-43 from 1:00pm to 1:50pm.
Labs are on Thursday in CC-43 from 12:00pm to 2:50pm.

Course Description

This course introduces students to computer applications for the visualization of information. Algorithms, data structures, graphics primitives and graphics standards are discussed in addition to hardware aspects of interactive computer graphics. Topics such as 2-D and 3-D transformations, graphics libraries and clipping algorithms are presented. Laboratory assignments using the Linux operating system, C++ and an industry-standard graphics packages provide opportunities for students to develop interactive graphics algorithms and applications, as well as reinforce C++ development concepts.

Consult the official course description for detailed objectives.

Textbook

Syllabus

Week Day Topics Reading Lab (Thursdays)
1
9/5
     

Lab 1: Linux development

T Course Introduction

Computer Graphics Overview

2-81, 84-88
W Linux Installation walkthrough Virtual Machine Setup
F Computer Graphics Hardware
2
9/12
T Point and Line Drawing 88-96

Quiz 1

Lab 2: C++ Classes

UML Diagram review
C++ Inheritance review
 

Quiz 2
 

W Bresenham's Line Algorithm  
F Bresenham's Circle Algorithm 97-113
3
9/19
T Drawing issues 114-117
W Filling: inside/outside tests 123-129
F Filling algorithms: scanline, edge order, and integer recursion 196-200
4
9/26
T Filling: pixel-based methods
Filling: Bucket fill


Sample code for bucket fill
201-205 Quiz 3

Linux/C++/QT development tools

Lab 3: Introduction to the graphics shell
W

Windowing Systems

172-196
F Drawing attributes

Anti-aliasing

214-221
5
10/3
T gdb (GNU debugger) / ElectricFence 230-240, 787-808

Lab 4: Lines, Buttons, Color, Polygons
 

W Math Review
 
237-255
F Review for Midterm Exam
6
10/10
T Midterm Exam
W Intro to transformations 259-261, 296-305
F 2-D Transformations 344-348, 129-133
7
10/17
T 3-D object representation 402-442 Quiz 4



Lab 5:  Transformations in 2 dimensions


Quiz 5
W 2-D Viewing Transformations  
F 2-D Exercise 261-283
8
10/24
T 3-D objects: Bezier Curves 348-356
W 3-D transformations

rotation viewer super demo program
 
F Auto-centering derivation 356-383
9
10/31
T 3-D Viewing Transformations Homework Lab 6: Transformations in 3 dimensions












Quiz 6
W 3-D Viewing continued 315-330

331-337

F Perspective Transformations,
Perspective Matrix
528-540
10
11/7
T Hidden surface removal

Illumination and Shading

556-581
W Color perception 712-730
F Final Review  
11
11/14
Final Exam
Monday 2pm-4pm
CC-43

Quizzes & Homework

Quizzes or Homework will be given or assigned each week.

You are encouraged to work with your classmates on homework, so that you can more fully understand the problem and discuss approaches to solution. However, you should work out the solutions to problems individually. Homework problems will be kept short, and will be due the next class period after which they are assigned. No homework will be accepted after the solution is posted.

Quizzes, when given instead of homework, will be given at the beginning of the Lab session. No quiz will be given the week of the midterm. No make-up quizzes will be given.

Course policies

The following course policies apply to this course.

Grading algorithm

Note that this algorithm indicates how a grade will be determined for students who have successfully demonstrated mastery of the course objectives. An acceptable level of success in meeting all course objectives is a prerequisite for a passing grade in the course.

Labs 50%
Quizzes/Homework 15%
Midterm 15%
Final 20%

About Labs

Note that the labs constitute half of your overall grade - a reflection of their importance in this course. Plan to devote a considerable effort in order to complete these labs successfully and professionally. As far as effort goes, you may want to examine the following timelog summary of last year's labs in order to get an idea of the time required to complete them (note that the times are expressed in hours):