CS354 - Computer Graphics (Spring 2009)

Course: Computer Graphics
CS 354
Unique Numbers: 54215
Instructor: Prof. Donald S. Fussell
ACES 2.120
Phone: 471-9719
fussell@cs.utexas.edu
Office Hours: MW 1:00-2:00
Administrative Assistant: Lindy Aleshire
ACES 5.256
Phone: 232-7891
aleshire@cs.utexas.edu
Teaching Assistant:
Stan Volchenok
stan.volchenok@gmail.com
Office Hours: TTh 11:35am-1:05pm Location: Taylor Basement Lab
Class Meetings: MW 2:00-3:30pm, RAS 218
Class Information: WWW: www.cs.utexas.edu/users/fussell/cs354
E-mail list: https://utlists.utexas.edu/sympa/subscribe/cs354_spring09/
Required Textbooks: Interactive Computer Graphics: A Top-Down Approach with OpenGL, Fifth Edition, by Edward Angel, published by Addison-Wesley, ISBN-10: 0321535863 ISBN-13: 9780321535863. Available at the University Co-Op and elsewhere.
Prerequisites: Students must have completed CS 310K, CS 313K, and CS 315 with a grade of at least C in each.


Course Objectives

This is an introductory course on the major topics in the areas of image synthesis, interactive techniques, geometric modeling, and computer-based animation. The material covered includes

Upon course completion, you should have mastered both the mathematical principles of these techniques and their implementation. Implementation of these techniques will be demonstrated through a series of programming assignments in C++, in many cases using OpenGL. Your mastery of the mathematical fundamentals will be exercised through written homework and exams.

Student Evaluation

Your performance in this class will be evaluated through homework assignments, programming assignments, and two midterm exams. The weights of each of these components is as follows:

Exams are open book and open notes. You may bring a non-programmable calculator and printed notes from the class, no other electronic devices may be used. The exams will take place during class as scheduled. There are no makeup exams unless arranged explicitly in advance with the instructor. This will only be possible for valid non-academic reasons.

Homework assignments will be due at the beginning of lecture on the due date. Programming assignments will be submitted electronically by 11:59 on the due date and will require you to use your departmental Unix account. Turnin time will be the time recorded by the turnin program you will use to turn in the assignments. You may not email your assignments to the teaching staff.

Project submissions will each include a code listing and a written project description, which will include a description of the software architecture of the system and a user's guide. Grading also generally involves interactive demonstrations of the programs by the students. Programs will be graded on correctness, readability, style, and documentation. Program development may be done anywhere, but the version of the assignments that is turned in and demonstrated must be able to be built and executed on the publix Linux machines on which software for this course is supported.

You have a "late account" of 3 days for the term which you can spend any way you choose for your programming assigments. For example, you can turn in three programs one day late each, or one program 3 days late, without penalty. Once you have exhausted your late account, no late assignments will be accepted.

Academic Misconduct Policy

You are free to discuss the course material with your classmates and are encouraged to form study groups for the exams. However, collaboration on homework or programming assignments is not permitted unless explicitly stated by the instructor. Helping a friend understand the intent of a homework or programming assignment specification is permitted. Students who work together too closely (e.g. design their solution together) should be aware that this is a form of cheating called COLLUSION and is subject to academic penalties. Penalties for academic misconduct include a failing grade in this course.

The homework, programs, and exams must be the work of students turning them in. University policy (see Dean of Students' policies on academic integrity) will be followed strictly.

Acts that exceed the bounds defined by the approved collaboration practices will be considered cheating. Such acts include:

We urge everyone in the class to take appropriate measures for protecting one's work. You should protect your files, homework solution sheets, etc. as deemed reasonable.

Studying for tests together is permitted and encouraged. Please come talk to us if you are unsure about how to work together with your friend in a legal, helpful manner. Remember, it is always ok to "work together" with your professor or TA!

Your Responsibilities in This Class

Programming Infrastructure

The programming assignments will require use of the Department of Computer Sciences instructional computing resources. All CS students who meet the prerequisites for CS354 are eligible for a CS departmental Microlab account and undergraduate Unix account. We will be doing projects using OpenGL and C++. User interfaces will be developed using GLUT and/or FLTK to make user interface building easier and to make the inferfaces portable across platforms.

Software needed for your projects is installed on the public Linux machines in Taylor Hall. It has specifically been tested on the "ghibli" machines. To get the list of hostnames for these machines, issue the command "cshosts linuxghibli" on any CS department linux machine. If you have trouble running the software, please report it to either the instructor or the TA. You can feel free to download and install FLTK on your own machines and work there, but you will need to turn in programs that work on the public Linux machines. Instructions for using software for each programming project on the lab machines will be given out with the assignments.

Important links:


Course Material Outline
Course Schedule


Last modified: 02/03/09 by Don Fussell fussell@cs.utexas.edu