4005-761 Computer Graphics I - Course Syllabus

Last updated 2010/09/05 19:16:26

Update history:

2010/09/05: initial version

Name: Warren R. Carithers
Office: 3617 Golisano (70-3617)
Phone: (585) 475-5393
Email: wrc AT cs.rit.edu

1. Course Overview

1.1. Course Goal

The goal of Computer Graphics I is to provide a broad exposure to the computer graphics field in order to be prepared for follow-on study.

1.2. Course Outcomes

The following are the intended outcomes for this course:

1.3. Course Prerequisites

The prerequisite for this course is either 4003-707, Advanced Programming, or 4003-233, Computer Science 3.

In order to succeed in this course, you should have already passed one of these courses, or its equivalent. Note that it is a prerequisite, not a corequisite; taking it at the same time as this course is not sufficient! Please see me as soon as possible if you haven't had this course!

At a minimum, you should be familiar with traditional data structures (linked lists, trees, etc.), and should have some familiarity with matrix and vector mathematics, geometry, and trigonometry.

2. Books

The required textbook for this course is Computer Graphics with OpenGL, Third Edition, by Donald Hearn & M. Pauline Baker; Prentice-Hall, 2004. Make sure you get the third edition, as there are significant changes from the earlier editions.

The programming assignments for this course must be done in C or C++. OpenGL was designed for use with C and C-like languages; it can be used with C++, but it doesn't take advantage of any of the object-oriented capabilities of C++, and there are a few minor annoyances that you will run into when using OpenGL and its support libraries with C++.

Although one is not required, having a C or C++ textbook or an OpenGL reference is a good idea. Here are some references:

C
Pointers on C, by Kenneth Reek; Addison Wesley.
C: How To Program, by Deitel & Deitel; Prentice-Hall.
 
C++
C++: How To Program, by Deitel & Deitel; Prentice-Hall.
 
OpenGL
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition, OpenGL Architecture Review Board et. al.; Addison Wesley.
OpenGL Reference Manual, OpenGL Architecture Review Board et. al.; Addison Wesley.

3. Grades

Your final grade will be based on two examinations, a research report, and a series of out-of-class assignments. The distribution between these groups is:

  22% first exam
  22% second exam
  10% research report
  10% graded homework
  36% programming assignments

3.1. Exams

Two exams will be scheduled for this course. The first is a two-hour midterm exam; the second, a two-hour exam during finals week. The second exam will not be comprehensive. As a somewhat deeper understanding of the material is expected of graduate students, the graduate and undergraduate versions of the exams may not be the same.

Currently, the best guess as to the dates of these exams are:

Last updated 2010/11/08 13:28:54

3.2. Homework

Homework will be announced in class and posted to the course home page.

3.3. Projects

There will be four programming projects this quarter. They will involve the use of the OpenGL graphics libraries; none will require OpenGL features that aren't supported by the version we have installed on the CS Solaris machines. Some of the projects will consist of multiple parts that are submitted separately; in some cases, the later parts may build upon the earlier parts for that assignment.

Important note: All programming projects will be submitted for grading on the CS Solaris machines, and therefore must work on those systems. If you choose to develop your solutions elsewhere, it is your responsibility to allow sufficient time to iron out any problems that may arise due to incompatibilities between your development system and the CS systems. Programs that ``work on my computer at home'' but don't work on the CS systems don't work.

Along similar lines, the minimum acceptance test for project submissions is that they must compile and link cleanly (i.e., without fatal compilation or linking errors) when submitted with the try command. Emailed project solutions will not be accepted.

3.4. Problem Sets

In addition to the graded assignments described above, a series of ungraded problem sets and their solutions will be posted to the course assignments page. Their purpose is to help you gain additional experience with the concepts and techniques covered in class. Although these will not be collected or graded, I suggest you attempt to work the problems before looking at the answers, to help ensure that you understand the concepts.

3.5. Research Report

Each graduate student is expected to research a topic relative to computer graphics and prepare a 10-15 page report. If you are unsure about what you would like to present, please see me for some general ideas.

4. Academic Conduct

Academic dishonesty will be dealt with in accordance with DCS and RIT policies.

5. Notes