WPI Computer Science Department

Computer Science Department

CS 4731 Computer Graphics, B Term 2011

Lectures: SL-411, MT-RF, 3:00pm - 3:50pm

Teaching Assistants: William Disanto (wrdisanto@WPI.EDU)
Student Assistant: Jackson Fields (jfields@wpi.edu)

Instructor: Prof. Emmanuel Agu, FL-139, 508-831-5568, emmanuel@cs.wpi.edu
Office Hours: Tuesdays 4 - 5PM; Others by appointment

Required Text: Interactive Computer Graphics (6th edition), Addison Wesley by Angel and Shreiner

Supplemental texts (Optional):

Facilities: You should do your assignments in C/C++ but may choose to develop your code on any Windows Machine with hardware that supports OpenGL shaders. Details will be given in class on how to find out if a given machine is suitable for this class. Note that compiled graphics code tends to be large and may consume more than one megabyte of disk space. Clean up your code and make sure it works before submission Points will be deducted if you do not check that your code works before submission.

Class Websites: The class website is at http://web.cs.wpi.edu/~emmanuel/courses/cs4731/B11/. A myWPI class website has also been set up. Please post your questions on the discussion board to avoid excessive emails and so that everyone can benefit from answers given. You may send email to me if you have questions on matters that concern only you.

Grade Policy: 50% exams (2 exams), 50% assignments (4 projects)

Late Assignment Credit: Late programming assignments will be penalized 15 percent per day (per 24 hours). Assignments later than 4 days late will not be accepted.


  1. Reading is mandatory, working ahead is encouraged.
  2. Exams shall be based on lectures, readings and a bit of project knowledge, so class attendance is strongly encouraged.
  3. Working and discussions in pairs is okay. However, each student must turn in different and unique projects.
  4. Cheating is strictly forbidden
  5. Cheating (a.k.a., academic dishonesty), defined as taking credit for work you did not do or knowledge you do not possess, is strictly forbidden. First offenders will receive a zero grade for the assignment or exam in question and an academic dishonesty report will be filed with the Office of Student Affairs. Repeat offenders will receive an F for the course and the case will be brought before the campus hearing board (see Student Handbook).
  6. Both your executable and source code must be turned in. Your documentation MUST include the structure of your project, what each file contains and instructions for compiling and running the program. Typically, a well-organized README ASCII text file is sufficient. Insufficient documentation will result in a loss of points. Data files should include a comment line at the start giving your name, the assignment for which it is intended, and the most recent date in which the file was changed. Please do NOT turn in hardcopies!! Your README file should be ASCII text so that the TAs can open them on the same machine they will do the grading. Do NOT send in documentation in Microsoft word or Apple MAC files.

WPI CCC Computer Labs

Your assignments will be programmed in OpenGL. Machines that have adequate graphics cards run OpenGL. This class requires access to a machine that supports OpenGL 3.1 or higher. The following WPI CCC Machines have adequate hardware for this class.

Schedule (Tentative)

Week 1 (Oct 24) 
   Topics: overview, graphics intro, basic HW/SW, OpenGL/GLUT & GLSL intro 
    Homework 1 Due Thursday, November 10, 2011, 11:59PM

Week 2 (Oct 31) 
   Topics: GLSL shader introduction, 2D systems, window-to-viewport mapping, interaction & menus, fractals   
Week 3 (Nov 7) 
   Topics: Linear Algebra for Graphics, Transformations, Rendering 3D Models
    Homework 2 Due Thursday, November 17, 2011, 11:59PM
Week 4 (Nov 14) 
   Topics: Transformations, Rotations and Matrix Concatenation, Viewing, Camera Controls
   Midterm Exam: Tue, Nov 22, in-class

Week 5 (Nov 21) 
   Topics: Projection, Orthographic Projection, Perspective Projection, 
    Homework 3 Due Thursday, December 1, 2011, 11:59PM
Week 6 (Nov 28)
   Topics: Lighting & shading, finding normals, Per-pixel lighting, BRDFs, Cook-Torrance BRDF
Week 7 (Dec 5)
   Topics: Hierachical modeling, Shadows, Texturing (including bump mapping), Hidden Surface Removal
    Homework 4 Due Thursday, December 8, 2011, 11:59PM

Week 8 (Dec 12)
   Topics: Clipping, Rasterization (line drawing, polygon filling), antialiasing, Curves
   Final Exam: Thur, Dec 15, in-class

Class Slides
Old Exams

Schedule for office hours

Note: All TA (Will Disanto) and SA (Jackson Fields) office hours will be held in Salisbury Labs Room (SL) 123. SL 123 is a public CCC Computer Lab. If there are conflicts with other scheduled activities, the TA/SA may move his office hour location. Announcements will be made to this effect as necessary.

Monday Tuesday Wednesday Thursday Friday
10:00 - 11AM Will
11AM - 12PM Will
12PM - 1PM Will
1:00 - 2PM Will Will Will
2:00 - 3:00PM Will Jackson Will
3:00 - 4PM Class Class Jackson Class Class
4:00 - 5:00PM Jackson Jackson
5:00 - 6:00PM
6:00 - 7:00PM
7:00 - 8:00PM
8:00 - 9:00PM Jackson
9:00 - 10:00PM Jackson Will Jackson
10:00 - 11:00PM Jackson Will Jackson
11:00PM - 12:00AM Jackson

Main Web Resources

[Feedback] [Search Our Web] [Help & Index]

[Return to the WPI Homepage] [Return to CS Homepage]