Stanford CS248, Winter 2021
INTERACTIVE COMPUTER GRAPHICS
Virtual Course Only
This course provides a comprehensive introduction to computer
graphics, focusing on fundamental concepts and techniques, as well as
their cross-cutting relationship to multiple problem domains in
interactive graphics (such as rendering, animation, geometry, image
processing). Topics include: 2D and 3D drawing, sampling,
interpolation, rasterization, image compositing, the GPU graphics
pipeline (and parallel rendering), geometric transformations, curves
and surfaces, geometric data structures, subdivision, meshing, spatial
hierarchies, image processing, compression, time integration,
physically-based animation, and inverse kinematics.
Instructors and CAs
[kayvonf at cs.stanford]
Tuesday, 4-4:30PM PST (after class)
Thursday, 4-5PM PST (after class)
Your fun and helpful CAs:
[haotianz at stanford]
[yihengz at stanford]
[mjyip at stanford]
[jiequanz at stanford]
Office Hours Calendar
CS248 DOES NOT depend upon CS148 as a prereq.
However, we expect you to be a proficient C/C++ programmer to complete the required programming assignments. (We expect you've taken at least CS107). We also assume basic understanding of linear algebra (at least MATH 51) and 3D calculus.
There is no required textbook for CS248, though a variety of books may provide good supplementary material:
Pete Shirley and Steve Marschner with Michael Ashikhmin, Michael Gleicher, Naty Hoffman, Garrett Johnson, Tamara Munzner, Erik Reinhard, Kelvin Sung, William B. Thompson, Peter Willemsen, and Bryan Wyvill
Fundamentals of Computer Graphics. A K Peters, 2009
John F. Hughes, Andries van Dam, Morgan McGuire, David F. Sklar, James D. Foley, Steven K. Feiner, and Kurt Akeley
Computer Graphics: Principles and Practice
Announcements via Piazza
All class announcements will be made via our
class Piazza Page.
Please make sure you sign up for the course on Piazza.
All students will be expected to perform:
- Three programming assignments: 50%
- Participation on written assignments and lecture comments: 8%
- Self-selected final project: 22%
- One exam: 20%
Programming assigments and the final project can be completed in teams of up to two students.
Each student is allotted a total of five late-day points for the semester.
Late-day points are for use on the three programming assignments only. Late-day points work as follows:
- A one-person team can extend a programming assignment deadline by one day using one point.
- A two-person team can extend a programming assignment deadline by one day using two points.
(e.g., one point from each student)
- If a team does not have remaining late day points, late hand-ins will incur a 10% penalty per day
(up to three days per assignment).
- No assignments will be accepted more than three days after the deadline. This is true whether or not the student has late-day points remaining.