Course Description
This course explores the fundamentals of computer graphics, including 3D rendering via ray casting, ray tracing, 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 Javascript.
Prerequisite: CS 40 (Machine Structure and Assembly-Language Programming). Calc 2. Background in Linear Algebra a plus
Piazza Link: https://piazza.com/class/mf1au5v7ny06dw
Schedule
| Date | Topic | Assignments | Notes | |
| 09-02-2025 | Intro | |||
| 09-04-2025 | Lab 0 -- Running WebGL | |||
| 09-09-2025 | OpenGL / WebGL | |||
| 09-11-2025 | Lab1 -- Loading a Shape File | |||
| 09-16-2025 | Linear Algebra Recap | A1 out | ||
| 09-18-2025 | Lab2 -- Silhouette | |||
| 09-23-2025 | Transform | |||
| 09-25-2025 | Transform 2 | |||
| 09-30-2025 | Camera | A2 out | A1 due | |
| 10-02-2025 | Lab3 -- Solar System | Remco at Wisconsin | ||
| 10-07-2025 | Scene Graph | Animation | Remco at Wisconsin, Last day to drop classes | ||
| 10-09-2025 | QA Session: Transformations | |||
| 10-14-2025 | Ray Casting | A3 out | A2 due | |
| 10-16-2025 | Lab 4: Painting | |||
| 10-21-2025 | CLASS CANCELLED | Remco, Susie, Mingwei at Denver | ||
| 10-23-2025 | Illumination and Intersection Normals | |||
| 10-28-2025 | Shaders | A4 out | ||
| 10-30-2025 | Lab5 -- Shader Bunny | A3 Due | ||
| 11-04-2025 | Mingwei: Final Project Discussion | Remco and Susie at VIS | ||
| 11-06-2025 | Mingwei: Shaders 2 | Remco and Susie at VIS | ||
| 11-11-2025 | NO CLASS | A4 Due | Veteran's Day | |
| 11-13-2025 | Lab6 -- Shader: Normal Mapping | A5 Out | ||
| 11-18-2025 | Recursive Ray Tracer | |||
| 11-20-2025 | Lab7: UI | |||
| 11-26-2025 | NO CLASS | Thanksgiving Week | ||
| 11-28-2025 | NO CLASS | Thanksgiving Week | ||
| 12-02-2025 | Susie: Three.js | |||
| 12-04-2025 | Work on Final Project, Grading A5 and Lab7 | A5 due (Wednesday at midnight) | Remco Jury Duty | |
| 12-11-2025 | Final Project Presentation -- 3:30pm - 5:30pm | Final Project Due | F+ Block | |
Textbooks
| Recommended Book | ||
| R1 | Fundamentals of Computer Graphics by Shirley and Marschner | |
Grading
| 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% |
|
Assignments 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). Exceptions will be noted on the assignment handout. 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 should 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 getting WebGL to run 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. |
Accommodation
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.
Acknowledgement
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.