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.
| Meetings | Tuesday 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 |
|---|---|
| Term | First meeting Thursday, October 1; last Thursday, December 10 (no class Thursday, November 26, Thanksgiving) |
| Final exam | Thursday, December 17, 5:45–7:45 PM, in person in UW2-305 |
| Instructor | Dr. Marcel Gavriliu · mgav@uw.edu (put [CSS 551] in the subject line) |
| Office hours | Thursday 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 |
| Grader | Alex Banning (abanning) |
| Canvas | announcements, submissions, grades, and the Zoom link for Tuesdays; everything else is on this site |
| Credit | no dual credit with CSS 451 taken at UW Bothell |
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.
| Component | Items | Points each | Counted | Points | Weight |
|---|---|---|---|---|---|
| Final exam | 1 | 360 (45 questions, 8 each) | 1 | 360 | 36 % |
| Weekly quizzes | 8 | 40 (8 questions, 5 each) | best 6 | 240 | 24 % |
| Midterm exam | 1 | 200 (25 questions, 8 each) | 1 | 200 | 20 % |
| Homework | 8 | 25 | all 8 | 200 | 20 % |
| Total | 1000 | 100 % |
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.
| score | GP | score | GP |
|---|---|---|---|
| ≥ 97.0 | 4.0 | ≥ 77.9 | 2.3 |
| ≥ 95.9 | 3.9 | ≥ 76.8 | 2.2 |
| ≥ 94.8 | 3.8 | ≥ 75.7 | 2.1 |
| ≥ 93.6 | 3.7 | ≥ 74.6 | 2.0 |
| ≥ 92.5 | 3.6 | ≥ 73.5 | 1.9 |
| ≥ 91.4 | 3.5 | ≥ 72.3 | 1.8 |
| ≥ 90.3 | 3.4 | ≥ 71.2 | 1.7 |
| ≥ 89.2 | 3.3 | ≥ 70.1 | 1.6 |
| ≥ 88.0 | 3.2 | ≥ 69.0 | 1.5 |
| ≥ 86.9 | 3.1 | ≥ 67.8 | 1.4 |
| ≥ 85.8 | 3.0 | ≥ 66.7 | 1.3 |
| ≥ 84.7 | 2.9 | ≥ 65.6 | 1.2 |
| ≥ 83.5 | 2.8 | ≥ 64.5 | 1.1 |
| ≥ 82.4 | 2.7 | ≥ 63.4 | 1.0 |
| ≥ 81.3 | 2.6 | ≥ 62.2 | 0.9 |
| ≥ 80.2 | 2.5 | ≥ 61.1 | 0.8 |
| ≥ 79.1 | 2.4 | ≥ 60.0 | 0.7 |
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.
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.
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.
| Track | What you get | What you submit |
|---|---|---|
| Unity | C# scripts with the functions to write stubbed | the project folder, without Library/ |
| WebGL | a JavaScript file that runs in the course's homework runner, with the functions stubbed | that file |
| Python (HW7 and HW8, in place of Unity) | a notebook with the functions stubbed | the 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.
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.
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.
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.
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.
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.
There are no recordings and no make-up lectures. You are responsible for all material covered in class, online and in person.
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.
Bring any grading concern to the instructor within one week of the work being returned; after that, grades are final.
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.