CS 5721 Computer Graphics

Fall Semester 2007

Instructor: |
Doug Dunham |

Email: |
ddunham@d.umn.edu |

Web Site: |
http://www.d.umn.edu/~ddunham |

Office: | 311 Heller Hall |

Phone: | 726-7510 |

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: |
http://www.d.umn.edu/~ddunham/cs5721s06/ |

Teaching Assistant: |
Bin Lan |

Email: |
lanxx019@d.umn.edu |

Web Site: |
http://www.d.umn.edu/~lanxx019 |

Consulting: |
M 2-3 pm, W 2-3, 4-5 pm in HH 314; |

A detailed list of **Course Outcomes** is at:
http://www.d.umn.edu/cs/asse/outc/CS5721.pdf

**
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.

**
Prerequisites:
**
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,
(http://www.d.umn.edu/equaloo),
phone: (218) 726-6827 or (218) 726-6849,
email: equaloo@d.umn.edu.

**
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,
(http://www.d.umn.edu/access),
phone: (218) 726-8217 or TTY (218) 726-7380,
email: access@d.umn.edu
or contact the Office of Equal Opportunity, 269-273 DAdB,
(http://www.d.umn.edu/equaloo),
phone: (218) 726-6827,
email: equaloo@d.umn.edu.

**
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
http://www.d.umn.edu/assl/conduct/integrity.
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
(
http://www.d.umn.edu/assl/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:
**

**
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:

- doing the reading assignments from the text
- the material covered in the lectures
- obtaining assignments and handouts
- 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.

**
Assignments:
**
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

**Exam Schedule:**

Exam | Points | Date 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:

http://www.d.umn.edu/~ddunham/cs5721s07/grades

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:

- Lab assignments (approximately 200 points, divided more or less evenly between the assignments)
- Midterm Exam (100 points)
- Final Examination (200 points)

- The A- cutoff is 90%
- The B- cutoff is 80%
- The C- cutoff is 70%
- The D cutoff is 60%
- Below 60% is an F