Fall 2026 · all years

Stanford CS248B, Fall 2026

Fundamentals of Computer Graphics:
Animation and Simulation

Course teaser

This course provides a comprehensive introduction to computer graphics, focusing on fundamental concepts and techniques in Computer Animation and Physics Simulation. Topics include numerical integration, 3D character modeling, keyframe animation, skinning/rigging, inverse kinematics, rigid body dynamics, deformable body simulation, and fluid simulation.

Basic Info

Instructor: Doug James
Time: Tuesday and Thursday 1:30-2:50PM (First class on 9/22)
Location: Packard 101 (in person) and streamed live & recorded using Panopto (see links in Canvas)
Units: 3  ·  Class #: 27841 (Section 01)  ·  Grading: Letter or Credit/No Credit
Course pages: Canvas  ·  Ed
See the course info page for more info on policies and logistics.

Fall 2026 Schedule

This schedule is tentative and likely to change. Lecture topics and dates may be reordered as the quarter goes on. Slides for each class will be made available shortly before class.

Fall 2026 lecture schedule
Date Lecture Out / due
Week 1
9/22 Introduction P0 out
9/24 Particle Systems and ODEs
Week 2
9/29 Resolving Particle Collisions P0 due; P1 out
10/1 Collision Detection I
Week 3
10/6 Collision Detection II P1α due
10/8 Deformable Models I
Week 4
10/13 Deformable Models II P1 due; P2 out
10/15 Deformable Models III
Week 5
10/20 Deformable Collision Processing
10/22 Fluids P2α due
Week 6
10/27 Character Modeling
10/29 Forward and Inverse Kinematics
Week 7
11/3 No class (Democracy Day)
11/5 Interpolation P2 due; P3 out
Week 8
11/10 Orientation
11/12 Rigid Body Simulation
Week 9
11/17 Constrained Rigid Body Systems
11/19 Differentiable Simulation and Animation Control P3 due; P4 out
11/24, 11/26 No class (Thanksgiving recess)
Week 10
12/1 Physics-based Character Animation
12/3 Guest Lecture (TBD)
After classes end
12/12 P4 due

Programming Assignments

Assignment links will be posted here as each one is released. P1 and P2 each have a mid-point check-in, an alpha version due partway through, marked α in the schedule above. P0 is an ungraded warm-up.

Programming assignment dates and grade weights
Assignment Out Alpha due Due Grade
P0: Javascript and OpenProcessing 9/22 9/29 0%
P1: Pinball! 9/29 10/6 10/13 25%
(alpha 10%, final 15%)
P2: Deformable body simulation 10/13 10/22 11/5 30%
(alpha 10%, final 15%, oral 5%)
P3: Make it move! 11/5 11/19 25%
P4: Interactive Animation Control 11/19 12/12 20%