COMP 175 Graphics (2019 Spring)

Course Number COMP175
Semester Spring, 2019
Hours MW 3:00-4:15
Schedule I+ Block
Location Lane 100A

Instructor Remco Chang
email remco at cs tufts edu
Office Halligan 221
Office Hours By Appointment

Graduate TA Marianne Procopio
email procopio at
Office SEC Cafe
Office Hours Monday 2:00-3:00pm

Graduate TA Abby Mosca
email amosca01 at
Office SEC Cafe
Office Hours Tuesdays 10:30-11:30

Course Description

Course Description

This course explores the fundamentals of computer graphics, including 3D rendering via ray casting, ray tracing and radiosity, viewing transformations, 3D shape representation, and an introduction to modeling and computer animation. Assignments and projects require a good working knowledge of linear algebra and the C and C++ programming languages.

Prerequisite: COMP 40 (Machine Structure and Assembly-Language Programming). Background in Linear Algebra a plus


Date Topic Assignments Notes
01-16-2018 Intro
01-21-2018 MLK Day
01-23-2019 Lab0 -- Compiling OpenGL
Remco out of town
01-28-2019 OpenGL A1 out
01-30-2019 Lab1 -- Loading a Shape File
02-04-2019 Linear Algebra Recap Remco in Germany
02-06-2019 Lab2 -- User Interactions in FLTK Remco in Germany
02-11-2019 Transform A2 out A1 due
02-13-2019 Transform 2
02-20-2019 CLASS CANCELLED Remco away
02-21-2019 Camera Tufts Monday
02-25-2019 Lab3 -- Solar System
02-27-2019 Lab4 -- Silhouette
03-04-2019 Scene Graph
A3 out A2 due
03-06-2019 Lab6 -- Roller Coaster
03-11-2019 Ray Casting
03-13-2015 Lab7 -- Painting an Object
03-18-2019 Spring Break A3 due
03-20-2019 Spring Break
03-25-2019 Illumination and Intersection Normals A4 out
03-27-2019 Lab8 -- Dragging
04-01-2019 Recursive Ray Tracer - Basics and Texture
04-03-2019 Final Project Discussion
04-08-2019 Recursive Ray Tracer - Advanced Concepts and Data Structure
A5 out A4 due
04-10-2019 Shaders Final Project Out
04-15-2019 Presidents Day
04-17-2019 Lab9 -- Bump Mapping on the GPU
04-22-2019 Lab10 -- WebGL + Shower Door Effect A5 due
04-24-2019 Final Project Check-In
04-29-2019 Reading Period
05-01-2019 Reading Period
05-03-2019 Final Project Presentation
3:30pm-5:30pm Halligan 209
Final Project Due


Note: If you are downloading the demos to a lab machine, you may need to unblock the .zip file before extracting the files. Otherwise, the executable file may not be included in the extraction.

Assignment 1: Shapes (Demo: Windows | Mac) Render 3D Shapes using OpenGL           Handout | Worksheet PDF | Worksheet TeX
Assignment 2: Camera (Demo: Windows | Mac) Create your own camera                     Handout | Worksheet PDF | Worksheet TeX
Assignment 3: SceneView (Demo: Windows | Mac) Render a hierarchical scene                   Handout | Worksheet PDF | Worksheet TeX
Assignment 4: Intersect (Demo: Windows | Mac) Implement a basic ray tracer                 Handout | Worksheet PDF | Worksheet TeX
Assignment 5: Ray (Demo: Windows | Mac ) Implement a recursive ray tracer            Handout | Worksheet PDF | Worksheet TeX

In Class Labs

Find your partner for this week

Lab0 Handout | Files
Lab1 Handout | Files | (mac ply.cpp)
Lab2 Handout | Files
Lab3 Handout | Files
Lab4 Handout | Files
Lab6 Handout | Files
Lab7 Handout | Files
Lab8 Handout | Files
Lab9 Handout | Files
Lab10 Handout | Files


Recommended Book
R1 Fundamentals of Computer Graphics (Third Edition) by Shirley and Marschner


Assignment 1 12%
Assignment 2 12%
Assignment 3 12%
Assignment 4 12%
Assignment 5 12%
Final Project 15%
In Class Labs 25%
Total 100%
Grading: Each assignment is worth 12% of your final grade. Out of the 12%, 2% is for your written algorithm, and 10% for the implementation.

Late Policy: All the assignments due at 11:59pm on Sunday (the night before the Monday lecture). The algorithm worksheets are due at noon on Fridays of the week when the assignment is handed out. Assignments that are turned in late will receive a 0. However, you are allowed one "extension" for the semester. When you use an extension, you will be granted an extra 3 days. The rationale for the late policy is that the assignments are built on top of each other (e.g. you cannot complete assignment 5 without completing assignment 4). So completing each assignment in time is essential to the success of the next assignment. If you have an extraordinary circumstance, you must contact the instructor or the TA as soon as possible and obtain written approval.

In Class Labs
Grading: There are 10 in class labs, each is worth 2.5% of your final grade. Note that Lab0 is not for credit, but obviously getting OpenGL to compile is essetial to the rest of your course work.

Late Policy: All in-class labs must be completed by the start of the next in-class lab (1 week). The lab will be checked in person by the TA or the instructor during class. There is no late policy for in-class labs. You will not receive partial credit for turning in a late lab.

Final Project
Grading: Your final project will be graded in-person during the final exam period.

Late Policy: There is no late policy for the final project. You will receive a 0 if your final project isn't working by the demo day.


Tufts is committed to providing support services and reasonable accommodations to all students with documented disabilities. To request an accommodation, you must register with the Student Accessibility Services at the beginning of the semester. To do so, arrange an appointment with Linda Sullivan, Program Director of Student Accessibility Services at (617) 627-5447.


Some images and slides are based on lectures by Professor Andy van Dam at Brown University and Professor Daniel Keefe at the University of Minnesota.