U of U iPhone

CS5600 - Introduction to Computer Graphics

Instruction

Instructor: Matt Stoker

Instructor Office Hours: Tuesday and Thursday 11AM to 1PM in Linux CADE Lab

Teaching Assistant: Ben Jones

Teaching Assistant Hours: Monday and Wednesday 1PM to 3PM in Linux CADE Lab

Course Contact

Website: http://www.eng.utah.edu/~cs5600/

Administrative: matt.stoker at gmail.com (please mail homework questions to the class TA)

Class TA: benjones at cs.utah.edu

Course Overview

Understanding the algorithms and techniques used to create computer graphics is essential to any well-rounded computer programmer. The field of computer graphics is a very large one with a lot of history. While it won't be able to address every part of the field, the course will attempt to present material from the most important subsets. This will include color science, images and rasters, affine transform mathematics, polygon rendering, texture mapping, and ray tracing.

Graphics research, particularly 3D polygon rasterization, has influenced primarily the game and entertainment industries, but has also created innovation in other industries like medical, real estate, even natural resource discovery. Many of the algorithms and techniques presented in this class were invented at the UofU. Visit the 3rd floor of the MEB to get a sense of the field as it grew from the 60's and 70's.

Prerequisites

Object Oriented Programming, C/C++ Programming, Linear Algebra

Grading

60% - Programming Homework

15% - Written Assignments

25% - Exams

Late Policy

Each student receives 3 days of late time to distribute across all of the assignments in the semester, in 1 day increments, to handle unforeseen difficulties. Please alert the teaching staff in the case of extreme difficulties such as injury.

Text

The OpenGL Red Book: OpenGL Programming Guide 3.x (the current version the bookstore has)

The Marriott Library has an online copy. You'll need to be on campus (having a campus IP address) or use VPN to have access to the book. OpenGL Redbook Online

Academic Honesty

Cooperation among students to better understand course material is highly encouraged, as it is an effective learning tool and essential to real-world development team success. High-level discussion of programming techniques and problem solutions is the best way to help or be helped by your fellow students.

Cheating in the context of this course is generally, but not limited to, sharing and copying of code from other students or the Internet. Any code making up your solution should be written and understood by you. Small quantities of template code will at times be provided by the instructor. You can use this code in submissions but should still be able to fully explain the function of all template code you use. Refer to, but do not copy code from, the examples given in class.

The University of Utah is extremely strict in it's cheating policies. We will be cross checking your code submissions. Any student caught cheating will automatically be given an E in the course and reported to the University Student Behavior Committee.

Students With Disabilities

The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities. Accommodations will gladly be provided for the known disabilities of students in the class. If you will need accommodations during this course, reasonable prior notice needs to be given to the Center for Disability Services, 162 Olpin Union Building, 581-5020 (Voice and TDD). CDS will work with you and the instructor to make arrangements for accommodations.

All written information in this course can be made available in alternative format with prior notification to the Center for Disability Services.