Introduction to computer graphics; hardware, algorithms, and software organization for computer graphics; two-dimensional and three-dimensional transformations; fundamentals of vector and raster graphics; programming projects implementing a subset of the above.

Blair MacIntyre
blair@cc.gatech.edu
Office: 239 College of Computing
Office Phone: 894-5224
Office Hours: 11-12 Monday and 3-4 Thursdays (in 239 CoC)

The prerequisites for this course are

In practice, this means I expect that students are

The quarter equivalents to this course are CS 4390 and CS 4391. If you only have CS 4390, this course is the next in sequence.

The syllabus to the course is here.

Here's a link to the git.cc.class.cs4451 newsgroup.

(for you to print before class)

We will try to make the notes that will be used in class available before class. These files will be Adobe Acrobat files, which you should be able to view and print from a web browser that has the Acrobat plugin. The notes will be linked into the syllabus on the line for that days lecture.

Here's a link to the automatically recorded notes from class. To access the notes, your user id is your name (in the format FirstLast) and your password is your student id number. There will be audio, but no video, recorded with the notes.

There is one required text for the class:

I also recommend the following book on OpenGL:

Course notes will be available online, hopefully at least a few hours before each class. These will follow the lectures given in class.

The class will use the web, the class page will be located at
http://www.cc.gatech.edu/classes/AY2000/cs4451_fall

Grading will be based on a combination of programming assignments and tests. The breakdown is approximately the following:

The final exam is optional. If you elect not to take the final, the tests and assignments will be worth an additional 10% each.

All programming assignments must execute on the IRIX workstations in the SGI lab (room 130, CCB). However, we will try to keep the programs as platform independent as possible, allowing them to be written on IRIX, Solaris, Linux or even Windows NT. You should be able to log into any of the Solaris on NT machines in the teaching clusters: all Solaris 7 and Windows NT machines support OpenGL.

You will write 5-6 programs for this course. All programs must be written in C. Documentation/code clarity will count as 20% of the grade for each program. The other 80% of the grade will be based on the program's ability to handle various requirements that will be specified when the assignment is given.

Compiling and executing without errors on the published test data is considered minimal competency for any program. Late programs will be penalized 25% per day late. Weekends count as two days. Programs that are more than 2 days late will not be graded.

You may discuss high-level design strategies and specifications of the assignments with other students in this class, and are welcome to help each other with issues not central to the assignments (ie. OpenGL, Unix or NT problems, etc.). However, your programs and homework are to represent your own work. All coding and detailed design decisions are to be made without consultation with others. If in doubt, ask.

Here are some pointers to information that may be helpful in getting started:

Programming assignments count for 60% of your final grade. Most programming assignments require many hours of coding. Familiarity with C and programming on Unix workstations will be needed to finish the programming assignments. Do not start the night before, you will be late turning in your assignment.

The online version of the assignments have links to them here. We will also post some selected sample solutions from the assignments submitted. In general, we try to select samples that cover the basic assignments and the options.

There will probably be no formal homework that needs to be turned in for this course. If there are, we will have online links to the homework and the solutions here.