
Syllabus
Administrivia
Time: TTh at 12:00pm  1:20pmPlace: EEB 045
Instructor: Ira KemelmacherShlizerman (kemelmi@cs)
TA's:
 Alon Milchgrub (alonmil@cs)
 Xiangguang (Sherwood) Zheng (zhengxg3@cs)
 Bobby Gebert (bgebert@cs)
 The course has a discussion board, grouped around projects and homeworks.
 The course mailing list is cse457a_wi15@u is populated with yourw @u email addresses. It is used primarily for course announcements.
 The instructor and TA's can be reached all together at cse457staff@cs.
If you want staff help on a project, talk to the TAs during their office hours or email cse457staff@cs.
If you want staff help on the written homeworks, talk to the instructor.
Prerequisites:
 C/C++ at the level of CSE 333
 Data structures at the level of CSE 332
 Linear algebra (Math 308 recommended)
 Some mathematical sophistication
 No prior knowledge of graphics is assumed.
Required text:
The required text for this course is: Edward Angel and Dave Shreiner, Interactive Computer Graphics: A topdown approach with OpenGL, Sixth Edition. 2012. AddisonWesley. Additional readings will be posted next to the lecture notes on the lectures page.Supplemental texts:
 Foley, van Dam, Feiner, Hughes. Computer Graphics Principles and Practice, Second Edition in C. Addison Wesley, 1996.
 Shirley et al, Fundamentals of Computer Graphics, Second Edition. AK Peters, 2005. [Errata]
 Andrew S. Glassner. An Introduction to Ray Tracing. Academic Press, 1989.
 Alan Watt, 3D Computer Graphics, Third Edition, AddisonWesley, 2000. [Errata]
 Woo, Neider, Davis, and Schreiner. OpenGL Programming Guide, Third Edition. AddisonWesley, 1999.
Topics:
 Displays
 Image processing
 Affine transformations
 Hierarchical modeling
 Projections
 Shading
 Ray tracing
 Texture mapping
 Curves
 Particle systems
 Surfaces
 Animation
Grading:
The breakdown is subject to change as a whole and adjustments on a perstudent basis in exceptional cases. This is the general breakdown we'll be using:
Projects will be done in teams of two with room for extra credit as described in the next section. Homeworks are to be completed individually. Though you may discuss the problems with others, your answers must be your own. There is no midterm. The final is closed book.
Projects: 60% Homeworks: 20% Final Exam: 20%
Projects:
There will be four projects. You'll work or in teams of two for the projects. You are encouraged to change partners for each project  each time you work with someone you have not worked with before in the class, you will receive a bell's worth of extra credit. Each project will require you to extend some skeleton project with new features to create a working graphics application.
 Project #1: Impressionist:
 An interactive impressionistic paint system, similar in spirit to Paul Haeberli's The Impressionist.
 Project #2: Modeler:
 A viewer in which to construct a hierarchical articulated model using OpenGL.
 Project #3: Trace:
 A program to create photorealistic raytraced images, complete computation of shadows, reflections, and transparent effects.
 Project #4: Animator:
 An extension of project #2 which includes 2D curves to control joint angles and other parameters of your model and particle systems for physical simulation. Create a 3D animation of your articulated model!
You may talk to other students in the course about concepts for homeworks and projects, but you may not take any code or notes away from those conversations.
Project and Homework Turnin & Late Policy:
Written homework assignments are due at the beginning of lecture on the due date. Projects are due by midnight on the due date. Late assignments are marked down at a rate of 33% per day (not per lecture), meaning that if you fail to turn in an assignment on time it is worth 66% for the first 24 hours after the deadline, 33% for the next 24 hours, and it is worth nothing after that. In addition, no extra credit for bells and whistles will be awarded for any late assignment. Exceptions will be given only in extreme circumstances with prior instructor approval.
