Syllabus

Introduction to Computer Graphics
CS 428 - Fall 2010 - Syllabus

Prerequisites

Fluency in Java (i.e. 01:198:112)
Calculus II
Linear Algebra (i.e. 01:640:250)

Objectives

This course aims to provide a broad introduction to the field of Computer Graphics, and to describe the techniques that are commonly used in the graphics industry today (such as in production of special effects, computer animation, video games, and virtual reality).

This course is combination of algorithms, numerical methods, representations and models of the shape and appearance of real-world objects, and methods for their display and manipulation. It involves a lot of programming, and requires a certain degree of mathematical sophistication (in linear algebra, specifically). But it's also a lot of fun. No artistic skill is required, but it does come in handy.

Outline

An introduction to the field of computer graphics: displays, image formation, visual perception, images, transformations (viewing and projection), programmable pipelines (vertex and fragment programs), modeling (primitives, polygon meshes, smooth curves and surfaces, CSG, procedural models), animation (keyframing, procedural), rendering and realism (visibility, lighting, shading, shadows, texturing, ray tracing).

Expected work

Students will design, implement, and use interactive graphical applications (using the OpenGL API in Java). This amounts to three large programming projects, one medium-sized one, and a handful of short exercises. On each of these projects, extra credit is given for the completion of additional features.

Some of the projects require using the programs that are written to produce graphical (and hopefully artistic) output such as an image, a scene, or an animation.

Note to CS graduate students: This course can be taken for "category B" credit, provided you do additional work (some of the extra credit will be designated as mandatory)

Late policy

Projects or homeworks handed in up to 24 hours late are worth 50%. After that, they will not be given any credit (they will still be graded, however). No extra credit is available on assignments handed in late. Of course, exceptions will be made in extreme circumstances (when possible, let us know in advance).

Collaboration and Academic Integrity

All work on the assignments (written or programming) must be your own - there is to be no "group work". However, you are encouraged to discuss the course material with other students. Here are some guiding examples:

GoodBad
Discussing the course material needed to do an assignmentSharing code (or pseudocode)
Demoing your program to other students (and getting feedback)Discussing the design of a project before you've thought it through yourself
Helping someone with a bug when they're stuckGiving away the key idea needed to solve a homework problem or to proceed on a programming project

We endorse and follow the external link: DCIS Academic Integrity Policy. Read it. If we have reason to believe you have not done your own work, we reserve the right to give you a brief oral exam about that assignment, and adjust your grade accordingly. Furthermore, do not seek help from someone not currently in the class. Do not copy material from external resources for your assignments, including code from previous or other classes, code off the web, or code from books other than the readings. (If you feel you need to use external resources, please ask.)

Should you have any questions about this, please ask the instructor or TA.

Exams

There will be one midterm and a final exam. The exams will be based on the material covered in class, and on what is learned from completing the assignments. Only the material that is covered in class will be on the exam (nothing extra is drawn from the textbook).

Grading

  
Projects and short homeworks60%
Midterm20%
Final20%

Text

(There will be a copy of this text on reserve in SERC.)

hearnbaker.jpg

Computer Graphics with OpenGL, 3rd edition
Donald Hearn and M. Pauline Baker,
Pearson Prentice Hall, 2004
ISBN 0-13-015390-7

E-mail

Many of us use spam filters. When sending us email, be sure to include the number 428 somewhere in the subject of the email. This way, it won't be discarded by our spam filters. There will be a mailing list set up through Sakai, as well as a forum for class related discussions.


Home