CSS 551 · Advanced 3D Computer Graphics

Syllabus, Autumn 2026

course hub · schedule · homework · textbook

The course

How a computer turns a description of a three-dimensional world into a picture, and, increasingly, how it learns that world from pictures. The first half builds the foundation every renderer shares: vectors and the interactive loop, rotations, affine transformations, meshes and texture coordinates, scene graphs, cameras and projection, rasterization, animation and physics, and local illumination with texture sampling, with the film pipeline along the way. A bridge week states the rendering equation and the physically based materials and ray tracing that solve it. The second half is the neural era: networks and embeddings, the space of images, diffusion models, learned scenes (neural radiance fields and Gaussian splatting), and generative 3D and video. About 40 % of the class is on the neural side.

No prior graphics or Unity experience is assumed. Programming maturity in a C-family language and comfort with linear algebra at the level of vectors and matrices are. A 5-credit course is about 15 hours of work a week in all: plan on about 11 outside class.

Class information

MeetingsTuesday 5:45–7:45 PM, synchronous online (live, not recorded); Thursday 5:45–7:45 PM, in person in UW2-305. SLN 13536 · 5 credits
TermFirst meeting Thursday, October 1; last Thursday, December 10 (no class Thursday, November 26, Thanksgiving)
Final examThursday, December 17, 5:45–7:45 PM, in person in UW2-305
InstructorDr. Marcel Gavriliu · mgav@uw.edu (put [CSS 551] in the subject line)
Office hoursThursday 1:30–2:00 PM in UW1-320 (a shared space: ring the bell for access); Saturday 9:00–10:00 AM on Zoom (link on Canvas), shared with CSS 343
GraderAlex Banning (abanning)
Canvasannouncements, submissions, grades, and the Zoom link for Tuesdays; everything else is on this site
Creditno dual credit with CSS 451 taken at UW Bothell

Course text and tools

Grading

The course is worth 1000 points, and a point is always 0.1 % of the grade: your points divided by 10 is your percentage. 80 % of the points are on paper, in person.

ComponentItemsPoints eachCountedPointsWeight
Final exam1360 (45 questions, 8 each)136036 %
Weekly quizzes840 (8 questions, 5 each)best 624024 %
Midterm exam1200 (25 questions, 8 each)120020 %
Homework825all 820020 %
Total1000100 %

Grades are not curved. The percentage maps to grade points on the standard UW decimal scale (the minimum score for each grade point, below); a final score below 60 % is a 0.0.

Grade scale
scoreGPscoreGP
≥ 97.04.0≥ 77.92.3
≥ 95.93.9≥ 76.82.2
≥ 94.83.8≥ 75.72.1
≥ 93.63.7≥ 74.62.0
≥ 92.53.6≥ 73.51.9
≥ 91.43.5≥ 72.31.8
≥ 90.33.4≥ 71.21.7
≥ 89.23.3≥ 70.11.6
≥ 88.03.2≥ 69.01.5
≥ 86.93.1≥ 67.81.4
≥ 85.83.0≥ 66.71.3
≥ 84.72.9≥ 65.61.2
≥ 83.52.8≥ 64.51.1
≥ 82.42.7≥ 63.41.0
≥ 81.32.6≥ 62.20.9
≥ 80.22.5≥ 61.10.8
≥ 79.12.4≥ 60.00.7

How the course runs

Lectures

Two lectures a week: Tuesday online, Thursday in person. Each runs 80 to 90 minutes with the demos driven together (predict the readout, then run it) and ends in discussion: a question is projected, you commit to an answer, argue in pairs, and answer again. The slides, the course text and the demos are on the course hub. There are no recordings.

Weekly quizzes

On paper, in the first 20 minutes of Thursday class, in weeks 3 to 6, 8, 10 and 11, and on Canvas in week 9: eight quizzes of 8 multiple-choice questions, 5 points each. A quiz covers the previous Thursday's lecture, that week's Tuesday lecture, and the homework due the day before, and some questions ask what your homework computed. The history lectures (weeks 1 and 2) are on no quiz; the midterm and the final assess them. Quiz 6 falls in Thanksgiving week, which has no Thursday class: it is a Canvas quiz in the same format (8 questions, 20 minutes, one attempt), open from Thursday, November 26, 12:00 AM to Sunday, November 29, 11:59 PM, taken alone and without notes. The best six count. Quizzes are closed book: no notes, no sheet, no devices. There are no make-up quizzes: the two dropped scores cover absences.

Homework: two tracks

Eight assignments, out Thursday, due the next Wednesday at 11:59 PM, 25 points each. Each states what to build and the numbers a correct build reproduces, and gives a skeleton in each of two tracks; you choose per assignment.

TrackWhat you getWhat you submit
UnityC# scripts with the functions to write stubbedthe project folder, without Library/
WebGLa JavaScript file that runs in the course's homework runner, with the functions stubbedthat file
Python (HW7 and HW8, in place of Unity)a notebook with the functions stubbedthe notebook, run

Homework is graded by running your functions on the published inputs and on hidden ones and comparing the results with the expected numbers, so a correct function earns its points and typed-in answers do not. Submitting: one .zip on Canvas; you can resubmit until the deadline, and the last submission is graded.

Implement and replace. Each assignment names engine helpers that are off limits (for example Transform.LookAt in Unity, Matrix4.lookAt and Quaternion.slerp in three.js). You build the operation from primitives and check it against the engine's version: the engine is the answer key, not the tool.

Exams

Multiple choice, on paper, in person. Midterm (200 points, 25 questions): Thursday, November 12, the first 75 minutes of class, on weeks 1 to 6. Final (360 points, 45 questions): Thursday, December 17, 5:45–7:45 PM, cumulative with weeks 7 to 11 weighted. No make-up exams, earlier or later. Bring a pencil; no devices.

One handwritten cheat sheet per exam. You may bring one sheet of US Letter paper, both sides, written by hand by you: not printed, photocopied, typed, or printed from a tablet. Everyone hands in a sheet with the exam: your cheat sheet, or, if you did not use one, a sheet with your name and the written statement “I did not use a cheat sheet.” No sheet handed in, or a cheat sheet that is not handwritten, costs 50 % of that exam's points. Quizzes allow no sheet.

Policies

Late work and late tokens

Everyone has 2 late tokens for the term. A token extends one homework deadline by 48 hours; declare it in the submission comment. Tokens do not apply to quizzes or exams. Without a token, late work is not accepted, and nothing is accepted after the last day of instruction, Friday, December 11. Submit on Canvas, not by email.

Academic integrity

Homework is individual work: discuss ideas freely, write your own code, and name in the submission comment anyone you worked with. Copied code is misconduct. If misconduct is suspected: (1) the instructor contacts you to discuss it; (2) refusing to engage is reported to the school with documentation; (3) if you are responsible and say so before a referral, you receive zero on the work and are not reported; (4) if you are responsible and do not, the case goes to the school, which can mean failing the course with a recorded violation.

Generative AI

AI tools may be used for learning, and for limited help on homework if you disclose it: cite the tool, summarize your prompts, and note any AI-assisted code in a comment. Using AI for a whole assignment is misconduct, and AI is not allowed during quizzes or exams. If you used none, say so: “I did not use any AI tools for this assignment.” Be ready to explain every line you submit; quiz questions ask about your homework.

Attendance

There are no recordings and no make-up lectures. You are responsible for all material covered in class, online and in person.

Disability accommodations

Contact Disability Resources for Students early, within the first two weeks, and have your DRS counselor contact the instructor. Exam accommodations must be requested through DRS at least 10 business days before each exam.

Grade questions

Bring any grading concern to the instructor within one week of the work being returned; after that, grades are final.

Remark

This syllabus is a plan; changes may be needed during the term and will be announced on Canvas. If this page and Canvas ever differ, this page is correct. See the UW academic calendar for registration and withdrawal deadlines.