CS 148 fulfills the General Education Requirements (GER) as a Ways of Thinking/Ways of Doing (WAYS) course in the Creative Expression (WAY-CE) area. To satisfy this category, students need to enroll under the Letter Grade grading option; the WAY-CE requirement is not met by the Credit/No Credit option.
Course Announcements
Summer 2023 | Welcome to the CS 148 Summer 2023 Website!
Students should make sure they have access to the class Ed page for future announcements. |
Basic Information
- Course Instructors: Kevin Li (kevli *at* cs.stanford.edu), Sarah Jobalia (sjobalia *at* stanford.edu).
- Course Assistants: Muhammad Khattak, Trevor Carrell.
- In-person lectures are Tuesdays and Thursdays, 12:00pm to 1:15pm, in Gates B1.
- Lecture recordings will also be available for SCPD on Canvas (log in with Stanford email).
- Grading: 50% assignments, 10% weekly quizzes, 40% final project. There will be no final exam, though there will be a final project presentation.
- In-person attendance is optional, but recommended; recordings of the lectures will be available on Canvas.
- Office Hours: Refer to Canvas for the schedule.
- For any questions about the course, please contact the staff on Ed!
Summary
This is the introductory, prerequisite course in the computer graphics sequence that introduces students to the technical concepts behind creating computer generated images. Through this course, students will gain a firm working knowledge of the underlying mathematical concepts of synthetic imagery (including triangles, meshes, normals, interpolation, world spaces, texture mapping, etc.) Students will also explore the fundamentals of light and color and how they interact with the environment through lighting, shading, and material models varying in realism and complexity. Ultimately, students will come to an understanding of rasterization and ray tracing technology for creating visually-compelling synthetic images, and briefly examine how they extend to simulation and animation. Students will additionally be exposed to a high-level survey of topics in computer graphics, such as acceleration structures, anti-aliasing, and depth of field. Starter code will be provided to guide students through development and give them familiarity with industry-level tools. The class will conclude with a final project in which students pursue in-depth a specific topic of interest.
Prerequisites:
- Must be fluent in Python.
- We will assume fundamental knowledge of the following mathematical topics:
- Vectors, vector operations, and vector spaces
- Matrices
- Basic linear algebra such as solving a system of linear equations