Course Syllabus,
CS 5721 Computer Graphics
Fall Semester 2007

Course Data:
Instructor: Doug Dunham
Web Site:
Office:311 Heller Hall
Office Hours: M, W 1-1:50, Tu 2-4, F 12-1, and by appointment
Lectures: M, W, F 3-3:50 p.m. in HH 302
Lab: Monday 7 pm in MWAH 177
Course Web Site:

Teaching Assistant: Bin Lan
Web Site:
Consulting: M 2-3 pm, W 2-3, 4-5 pm in HH 314;

A detailed list of Course Outcomes is at:

Bulletin Description:
Design of programs using 2D and 3D graphics packages. Introduction to modeling and viewing transformations, illumination models, design of hierarchical geometric models, animation. Analysis and implementation of basic graphics algorithms: scan conversion, clipping, visible surface determination, and rendering.

Semester prerequisite: CS 2511, Math 1297 or #, or the equivalent if you are a transfer student.

Course Objectives and Content:
This course provides an introduction to 2- and 3-dimensional computer graphics, including basic algorithms and the mathematics behind the transformations and viewing operations. The following is an outline of the material to be covered in the course. We will start with an introduction to computer graphics, followed by a simple (2D) raster graphics package and its algorithms. Then we will cover geometrical transformations and viewing in 3D, and use them with a 3D graphics package. Finally, we will cover material from solid modeling, the theory of colored light, visible-surface determination, and illumination and shading.

There will be weekly individual programming assignments that illustrate concepts in 2- and 3-dimensional computer graphics. The graphics software libraries that will be used for this course require that the programs be written in C or C++.

Equal Opportunity:
The University of Minnesota is committed to the policy that all persons shall have equal access to its programs, facilities, and employment without regard to race, color, creed, religion, national origin, sex, age, marital status, disability, public assistance status, veteran status, or sexual orientation. As instructor, I am committed to upholding University of Minnesota's equal opportunity policy. I encourage you to talk to me in private about any concerns you have related to equal opportunity in the classroom. To inquire further about the University's policy on equal opportunity, contact the Office of Equal Opportunity, 269-273 DAdB, (, phone: (218) 726-6827 or (218) 726-6849, email:

Students with Disabilities:
If you have any disability (either permanent or temporary) that might affect your ability to perform in this class, please inform me at the start of the quarter. I may adapt methods, materials, or testing so that you can participate equitably. To learn about the services that UMD provides to students with disabilities, contact Disability Services and Resources 258 Kirby Student Center, (, phone: (218) 726-8217 or TTY (218) 726-7380, email: or contact the Office of Equal Opportunity, 269-273 DAdB, (, phone: (218) 726-6827, email:

Student Academic Integrity Policy Academic dishonesty tarnishes UMD's reputation and discredits the accomplishments of students. UMD is committed to providing students every possible opportunity to grow in mind and spirit. This pledge can only be redeemed in an environment of trust, honesty, and fairness. As a result, academic dishonesty is regarded as a serious offense by all members of the academic community. In keeping with this ideal, this course will adhere to UMD's Student Academic Integrity Policy, which can be found at This policy sanctions students engaging in academic dishonesty with penalties up to and including expulsion from the university for repeat offenders.

Student Conduct The instructor will enforce and students are expected to follow the University's Student Conduct Code ( ). Appropriate classroom conduct promotes an environment of academic achievement and integrity. Disruptive classroom behavior that substantially or repeatedly interrupts either the instructor's ability to teach, or student learning, is prohibited. Disruptive behavior includes inappropriate use of technology in the classroom. Examples include ringing cell phones, text-messaging, watching videos, playing computer games, doing email, or surfing the Internet on your computer instead of note-taking or other instructor-sanctioned activities.

Required Text:
Fundamentals of Computer Graphics, 2nd Edition, P. Shirley, A.K. Peters, 2005, ISBN 1-56881-269-8

Recommended Text: The OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2. Fifth Edition. Addison-Wesley Professional, 2005

Course Requirements:
It is not directly required that you attend class, however attendance will be taken at each class meeting and each lab meeting.

Also, you are responsible for reading assigned text material and for material covered in class, including:

  1. doing the reading assignments from the text
  2. the material covered in the lectures
  3. obtaining assignments and handouts
  4. turning in programming assignments and homework

If you are unable to attend a class meeting, it is your responsibility to obtain class notes, assignments, and extra copies of handouts from your study partner. Note: assignments are due at the beginning of class on the due date (unless otherwise specified) -- they will be docked 25% per day if turned in late.

There will be 6 or 7, bi-weekly lab assignments, to be demonstrated and turned in during the lab sessions.

Getting Help with Programming Assignments: There are several things to be noted. First, all lab assignments are to be your own work -- there will be no group labs in this course. That doesn't mean that you can't get any help at all, but you should not copy code from other students. However, if you get stuck on some point in understanding the assignment, or get a bug that you can't figure out, then it is all right to ask your study partner.

Second, when you and your study partner get stuck on a bug that you can't figure out, bring printouts of all your files (.c/.cpp and .h files, and input and output files, if any) and the error messages to the TA or instructor.

When debugging, use the instructor as a last resort after trying all the other resources. The instructor can answer questions involving interpretation of the assignments if the TA doesn't have the answer.

Examinations and Grading:
There will be a midterm exam, worth 100 points and a final exam worth 200 points. These exams are closed book. The final exam will be comprehensive. Exams will not be given early, and makeups must be justified by dire circumstances described to the instructor before the time of the exam.

Exam Schedule:
ExamPointsDate and Time
Midterm Exam 100 points Wednesday, October 24, 3-3:50 p.m. in HH 302
Final Exam 200 points Tuesday, December 18, 2-3:55 pm in HH 302

It is Department of Computer Science policy not to return final exams, however they are kept and you can look at your exam in the instructor's office. The section Final Examination Conflicts on the Final Examination Policy web page explains the UMD policy about having more than two final exams on a single day.

Scores and total points will be maintained by the TA on the TA's web site. At the end of the semester, scores, total points, and grades will be posted on the Grades page of the class web site:
using the last digits of your student id number. If you wish to have your scores posted using a number other than the last digits of your student id, please email your request to the instructor.

Grading Procedures: Final grades are based on total points distributed approximately as follows:

Grades are assigned based on a percentage of the total points. These percentages may be lowered slightly but they will not be raised.
Important note: In the past, students have tended to do better on the lab and homework assignments (average = 90%) than on the midterm (70%) and final (55%) exams. Thus class averages going into the final exam tend to be higher than after the final exam. This leads to the following two pieces of advice: (1) keep your average as high as possible by doing well on the lab/homework assignments, and (2) study carefully for the exams, using the review guides, so that your average isn't brought down by poor exam scores.
The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.
Page URL: /~ddunham/cs5721f07/syllabus.html
Page Author: Doug Dunham
Last Modified: Wednesday, 05-Sep-2007 12:15:50 CDT
Comments to: