CS354 - Computer Graphics (Fall 2016)

Course: Computer Graphics
CS 354
Unique Number: 51535
Instructor: Prof. Donald S. Fussell
GDC 5.510
Phone: 471-9719
Office Hours: TTh 10:00-11:00am
Teaching Assistant:
Randy Smith
Office Hours: TBD
Location: TBD
Class Meetings: TTh 11:00-12:30pm, GDC 5.302
Class Information: Webpage: www.cs.utexas.edu/users/fussell/courses/cs354
Piazza: https://piazza.com/utexas/spring2015/cs354/home
Recommended Textbook: Interactive Computer Graphics: A Top-Down Approach with WebGL, 7/E, by Edward Angel and Dave Shreiner, ISBN-10: 0133574849 ISBN-13: 9780133574845.
Prerequisites: The following courses with a grade of at least C-: Computer Science 429 or 429H; Computer Science 105 (Topic: Computer Programming: C++), 371P, 373, or 378 (Topic: Generic Programming in the STL); Mathematics 408D, 408M, or 427L; and Mathematics 340L, 341, or Statistics and Data Sciences 329C (or Statistics and Scientific Computation 329C).

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, in class quizzes, 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, in particular no Internet access is allowed. 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 Linux 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 if needed as determined by the TA. 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 but are not limited to a failing grade in this course.

The homework, programs, and exams must be the work of students turning them in. You are responsible for familiarity with the University policy (see Dean of Students' policies on academic integrity) on academic integrity, which we will follow 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 lab account. We will be doing projects using OpenGL and C++. User interfaces will be developed using GLUT 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 the GDC labs. 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 the support software we are using 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.

You will turn in assignments using Canvas according to the guidelines provided by the TA.

Important links:

Course Material Outline
Course Schedule

Last modified: 08/25/16 by Don Fussell fussell@cs.utexas.edu