CSCI 550 Course Material

CSCI 550 (Fall 2011)

Introduction to Computer Graphics

Course Description

This is an introductory computer graphics course, suitable for entry-level graduate students. It may also be taken by undergraduate students with strong interest and somebackground in computer graphics. The course offers an introduction to the field of computer graphics, with emphasis on principles, algorithms and graphics programming techniques. Course objectives include: (a) understand concepts, algorithms, and design principles underlying modern 3D computer graphics; (b) develop 3D graphics algorithm design and implementation skills; and (c) gain practical experience in 3D graphics programming.

Class Information

Time: Tuesday, 3:00pm -- 5:30pm
Room: SL 055
Instructor: Dr. Shiaofen Fang
office: SL 280
phone: 274-9731
email: sfang@cs.iupui.edu
Office hours: Tuesday, 1:30pm -- 3:00pm, and by appointment
Course web site: http://www.cs.iupui.edu/~sfang/cs550/cs550.html

Teaching Assistant

Jason McLaughlin (jm45@umail.iu.edu)

Office hours: Thursday 1:00pm -- 2:30pm, SL 239 and by appointment

Required Text Book

Computer Graphics Using OpenGL, by F.S. Hill, Jr. and Stephen M. Kelley, 3rd edition, Prentice Hall, 2007.

References

OpenGL Programming Guide, by Dave Shreiner, Mason Woo, Jackie Neider, and Tom Davis, Addison Wesley, 4th Edition, 2004.

Computer Graphics with OpenGL, by D. Hearn and Pauline Baker, Prentice Hall, 3rd edition, 2004.

Prerequisite

C or C++; Linear Algebra, Data Structures.

Assignments

There will be a number of homework assignments. Each assignment includes a set of non-programming problems and a programming project. No late-submission will be accepted.

Facilities

Windows systems will be used for all your class projects. PCs running Windows 7 are available in SL 251 Lab for this course

All programs will be written in C or C++ using OpenGL and Glut APIs.

Web resources

OpenGL: http://www.opengl.org

GLUT: http://www.opengl.org/resources/libraries/glut/

Grading Policy

Non-programming assignments: 25%
Project assignments: 50%
Final Exam : 25%

Class Schedule

week 1 :
Aug. 23 (Tu): introduction, display devices, graphics pipeline. (Ch.1)
Course Notes: Part 1

week 2 :
Aug. 30 (Tu): OpenGL programming.

week 3 :
Sept.6 (Tu): interface programming using GLUT. drawing graphics primitives. (Ch.2)
First Assignment

week 4:
Sept. 13 (Tu): windows, canvas, clipping. (Ch.3)
Course Notes: Part 2

week 5:
Sept. 20 (Tu): geometric computation. (Ch.4)

week 6:
Sept. 27 (Tu): transformations and viewing (Ch.5)
First Assignment due
Second Assignment Starts
Course Notes: Part 3

week 7:
Oct. 4 (Tu): transformations and viewing. (Ch.5)

week 8:
Oct 11 (Tu): polygon mesh and shape modeling. (Ch.6)

week 9:
Oct 18 (Tu): Fall Break (no class)

week 10:
Oct. 25 (Tu): 3D viewing, cameras, and projections. (Ch.7)
2nd Assignment due
Course Notes: Part 4
3rd Assignment

week 11:
Nov. 1 (Tu): Shading. (Ch.8)

week 12:
Nov. 8 (Tu): hidden surface removal, spatial data structures (Ch.8)

week 13:
Nov 15 (Tu): transparency and blending, texture mapping. (Ch. 8)
Course Notes: Part 5

week 14:
Nov. 22 (Tu): global illumination models, Raytracing (Ch.12)
3rd Assignment due
Course Notes: Part 6

week 15:
Nov. 29 (Tu): Raster algorithms, fractals (Ch.9)
Course Notes: Part 7

week 16:
Dec. 6 (Tu): Review

Final Exam: Tuesday, Dec. 13, 3:30pm - 5:30pm (SL 055)