CS 175 Graphics (2022 Fall)

Course Number COMP175
Semester Fall, 2022
Hours TR 1:30-2:45
Schedule H+ Block
Location SciTech 136

Instructor Remco Chang
email remco at cs tufts edu
Office JCC 374
Office Hours By Appointment

Graduate TA Matthew Russell
email mrussell at cs tufts edu
Office JCC 362
Office Hours Tue 3:00 - 4:00

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
09-06-2022 Intro
09-08-2022 Lab 0 -- Compiling OpenGL
09-13-2022 OpenGL
09-15-2022 Lab1 -- Loading a Shape File
09-20-2022 Linear Algebra Recap A1 out
09-22-2022 Lab2 -- Silhouette
09-27-2022 Transform
09-29-2022 Transform 2
10-04-2022 Camera A2 out A1 due
10-06-2022 Lab3 -- Solar System
10-11-2022 Scene Graph | Animation
10-13-2022 Lab 4 -- Roller Coaster
10-18-2022 NO CLASS Remco Away at VIS
10-20-2022 NO CLASS Remco Away at VIS
10-25-2022 Ray Casting A3 out A2 due
10-27-2022 Lab5 -- Painting an Object
11-01-2022 Illumination and Intersection Normals
11-03-2022 Lab6 -- Dragging A4 demo out
11-08-2022 NO CLASS - Substitute Friday Schedule A3 due In-Person Grading Today
11-10-2022 Recursive Ray Tracer - Basics and Texture A4 out
11-15-2022 Shaders A4 handout
11-17-2022 Lab 7 -- Shaders - Modeling
11-22-2022 Final Project Discussion A4 due Final project starts
11-24-2022 NO CLASS - Thanksgiving
11-29-2022 Shaders II A5 out
12-01-2022 Lab 8 -- Shaders - Normal Mapping
12-06-2022 Final Project Check-In A5 due
12-08-2022 Advanced Topics
12-13-2022 Reading Period
12-19-2022 Final Project Presentation -- 15:30pm-17:30pm Final Project Due


Recommended Book
R1 Fundamentals of Computer Graphics by Shirley and Marschner


Assignment 1 11%
Assignment 2 11%
Assignment 3 11%
Assignment 4 11%
Assignment 5 11%
Final Project 21%
In Class Labs (8 Labs) 24%
Total 100%
Grading: Each assignment is worth 11% of your final grade. Out of the 11%, 2% is for your written algorithm, and 9% for the implementation.

Late Policy: All the assignments due at 11:59pm on Monday (the night before the Tuesday 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. The rationale for strict deadline is that the assignments are built on top of each other (e.g. you cannot complete assignment 4 without completing assignment 3). 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 8 in-class labs, each is worth 3% of your final grade. Note that Lab0 is not for credit, but obviously getting OpenGL to compile is essential for the rest of your course work.

Late Policy: All in-class labs must be completed by the start of the next in-class lab (usually 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. .


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.