Courses in Graphics

(updated for academic year 2011-2012, but not for 2012-2013 or later)


News flashes:
  • 12/1/14 - New Stanford faculty member Gordon Wetzstein will be teaching CS 448I, Computational Imaging and Display, in Winter quarter.
  • 10/6/11 - Computational Photography (formerly CS 448A) has a new number, CS 478
  • 3/31/09 - Starting in 2009-2010, CS 148 will be taught in Autumn, and CS 248 will be taught in Winter, Also, 148 will become a prereq to 248.

    Stanford offers the following courses in graphics:
    (Not all courses are offered every year.)

    CS/EE cross listings:
    (These are now deprecated, and will soon be removed.)

    The following courses are being offered this year (2011-2012).

    Autumn quarter:
    Winter quarter:
    Spring quarter:

    Press here for the Computer Science Department pages in the Stanford Course Bulletin.

    Press here for a listing of courses that are no longer offered.

    Press here to return to the home page.


    CS 48N - The Science of Art

    (formerly CS 99D)

    (Stanford Introductory Seminar)

    The interwoven histories of science and Western art from the Renaissance to the 19th century. Emphasis is on the revolutions in science and mathematics that have inspired parallel revolutions in the visual arts (e.g., Brunelleschi's invention of linear perspective, Newton's discoveries in geometric optics, and the theories of color vision proposed by Goethe, Young, Helmholtz, etc.). The scientific principles behind image making, including a brief survey of digital image synthesis (a.k.a. computer graphics). However, this is not a course in computer graphics. No programming experience is required. Intended primarily for freshmen and sophmores, with preference given to freshmen. Enrollment limited. Satisfies GER:DB-EngrAppSci.

    Units:
    3
    Prerequisites:
    none
    Instructor:
    Marc Levoy
    Televised?
    No
    Next offering:
    2013 or 2014

    Past offerings:

    Look here for some outstanding student projects that we've placed online:


    CS 148 - Introductory Computer Graphics

    Introductory Computer Graphics and Imaging Topics: Image input and output devices such as cameras and displays, graphics hardware and software, input technologies and interactive techniques, typography and page layout, light and color representations, exposure and tone reproduction, image composition and imaging models, digital signal processing, sampling, aliasing and antialiasing, compression, two- and three-dimensional geometry and transformations, modeling techniques including curves and surfaces, reflection models and illumination algorithms, and basic methods of animation. Programming assignments using C++ and OpenGL. GER:DB-EngrAppSci

    Units:
    3
    Prerequisites:
    CS 107 and Math 51
    Quarter (in 2011-2012):
    Autumn
    Time:
    Tue/Thu 2:15-3:30pm in Braun Aud
    Instructor:
    Pat Hanrahan
    Televised?
    No

    Current offering:

    Past offerings:


    CS 164 - Computing with Physical Objects: Algorithms for Shape and Motion

    Algorithms and data structures deadling with the representation and manipulation of physical objects and entities in the computer. Computational structures for shape and motion, shape fitting and matching, triangulations and other spatial subdivisions, and low-dimensional search and optimization. Examples relevant to computer graphics, computer vision, robotics and geometric computation emphasizing algorithmic paradigms applicable to multidimensional data.

    Units:
    3
    Prerequisites:
    CS 103 or 103B, and CS 109 or STATS 116, and CS 106B/X or consent of instructor.
    Quarter (in 2011-2012):
    (not offered)
    Time:
    Mon/Wed 2:15 - 3:30
    Instructor:
    Leonidas Guibas
    Televised?
    No

    Past offerings:


    CS 178 - Digital Photography

    Scientific, artistic, and computing aspects of digital photography. Topics: lenses and optics, light and sensors, optical effects in nature, perspective and depth of field, sampling and noise, the camera as a computing platform, image processing and editing, history of photography, computational photography. Coursework is written assignments, exams, and photography assignments. Enrolled students will be given free access to Photoshop during the course. Counts as a CS elective in the Graphics Track. Also satisfies GER:DB-EngrAppSci.

    Units:
    3
    Prerequisites:
    Introductory calculus. No programming experience required.
    Students must have a digital camera with manual control over shutter speed and aperture.
    Loaner cameras will be available to students who need them (until we run out).
    Quarter (in 2013-2014):
    Spring
    Time:
    Tue/Thu 2:15-3:30pm in Hewlett 201
    Instructor:
    Marc Levoy
    Televised?
    No
    Next offering:
    None

    Current offering:

    Past offerings:

    Best photographs from each of the weekly assignments:


    CS 205A - Mathematical Methods for Computer Vision, Robotics, and Graphics

    Continuous mathematics background necessary for research in robotics, vision, and graphics. Possible topics: linear algebra; the conjugate gradient method; ordinary and partial differential equations; vector and tensor calculus.

    Units:
    3
    Prerequisite:
    106B or 106X; MATH 51; or equivalents.
    Quarter (in 2013-2014):
    Autumn
    Instructor:
    Justin Solomon
    Televised?
    Yes

    Current offering:


    CS 205B - Mathematical Methods for Fluids, Solids and Interfaces

    (cross listed as CME 306)

    Numerical methods for simulation of problems involving solid mechanics and fluid dynamics. Focus is on practical tools needed for simulation, and continuous mathematics involving nonlinear hyperbolic partial differential equations. Possible topics: finite element method, highly deformable elastic bodies, plasticity, fracture, level set method, Burgers’ equation, compressible and incompressible Navier-Stokes equations, smoke, water, fire, and solid-fluid coupling.

    Units:
    3
    Prerequisite:
    205A or equivalent.
    Quarter (in 2011-2012):
    (not offered)

    Past offering:


    CS 248 - Interactive Computer Graphics

    (formerly called Introduction to Computer Graphics)

    Rendering, animation and modeling for interactive computer graphics. Rasterization, graphics pipeline, graphics hardware; texture mapping and its applications; lighting and surface shading; rendering optimization; keyframing; physics simulation. Programming projects and final project. Prerequisite: CS 148.

    Units:
    3-5, at the student's discretion (no change in course requirements).
    Prerequisite:
    CS 148.
    Quarter (in 2011-2012):
    Winter
    Time:
    Mon/Wed 11:00am - 12:15pm
    Instructor:
    Vladlen Koltun
    Televised?
    Yes, but not offered to out-of-Bay-Area students.

    Past offerings:

    Look here for images and animations from the old CS 248 rendering competitions:

    And look here for results of the more recent CS 248 video game competitions:


    CS 268 - Geometric Algorithms

    (formerly CS 368)

    An introduction to the basic techniques used in the design and analysis of efficient geometric algorithms including: convexity, triangulation, sweeping, partitioning, and point location. Voronoi and Delaunay diagrams. Arrangements and convex polytopes. Intersection and visibility problems. Geometric searching and optimization. Random sampling methods. Impact of numerical issues in geometric computation. Example applications to robotic motion planning, visibility preprocessing in graphics, model-based recognition in computer vision, and structural molecular biology.

    Units:
    3
    Prerequisites:
    CS 161
    Quarter (in 2011-2012):
    (not offered)

    Past offerings (of CS268 or CS 368):


    CS 348A - Computer Graphics: Geometric Modeling

    (formerly called Mathematical Methods)

    The mathematical tools needed for the geometrical aspects of computer graphics and especially for modeling smooth shapes. Fundamentals: homogeneous coordinates, transformations, and perspective. Theory of parametric and implicit curve and surface models: polar forms, Bezier arcs and de Casteljau subdivision, continuity constraints, B-splines, tensor product, and triangular patch surfaces. Subdivision surfaces and multiresolution representations of geometry. Representations of solids and conversions among them. Surface reconstruction from scattered data points. Geometry processing on meshes, including simplification.

    Units:
    4. May be taken for 3 units by graduate students (same course requirements).
    Prerequisites:
    Linear algebra. Recommended: 164
    Quarter (in 2012-2013):
    Winter
    Time:
    Mon/Wed 9:30 - 10:45 in Clark S361
    Instructor:
    Leonidas Guibas

    Current Offering:

    Winter 2013 (Guibas)

    Past Offerings:


    CS 348B - Computer Graphics: Image Synthesis Techniques

    Intermediate level, emphasizing sampling, shading, and display aspects of computer graphics. Topics: local and global illumination methods including radiosity and distributed ray tracing, texture generation and rendering, volume rendering, strategies for anti-aliasing and photo-realism, human vision and color science as they relate to computer displays, and high-performance architectures for graphics. Written assignments and programming projects.

    Units:
    4. May be taken for 3 units by graduate students (same course requirements).
    Prerequisite:
    CS 248 or equivalent
    Recommended:
    Fourier analysis or digital signal processing
    Quarter (in 2011-2012):
    Spring
    Time:
    Tue/Thu 9:30 - 10:45
    Instructor:
    Pat Hanrahan
    Televised?
    No
    Past offerings: Look here for images and animations from the yearly CS 348B rendering competitions:

    CS 448 - Topics in Computer Graphics

    Topic changes each quarter. Recent topics: computational photography, data visualization, character animation, virtual worlds, graphics architectures, advanced rendering. Some offerings may be listed in the Stanford online course catalog. For a complete listing of offerings and prerequisites, see below. Course may be repeated for credit.

    Units:
    Depends on the course; usually 3, but sometimes 1-3, 1-4, or 3-4
    Prerequisites:
    Depends on the course
    Televised?
    No
    Offerings in 2011-2012:
    CS 448B - Data Visualization (Heer, Autumn 2011, Tue/Thu 1:35pm - 3:05pm)
    Techniques and algorithms for creating effective visualizations based on principles from graphic design, visual art, perceptual psychology, and cognitive science. Topics: graphical perception, data and image models, visual encoding, graph and tree layout, color, animation, interaction techniques, automated design. Lectures, reading, and project. Prerequisite: one of 147, 148, or equivalent. 3 units.
    (For CS 448A - Computational Photography, see CS 478)

    Past offerings (under the number 348C through 1996-7)

    Look here for images and animations from the CS 348C student projects

    CS 468 - Topics in Geometric Algorithms

    Advanced seminar covering different topics related to geometric computing. Recent offerings: shape matching, proximity and nearest-neighbor problems, visibility and motion planning, and collision detection. Readings from the literature and a presentation or a project required. This course may be taken repeatedly for credit.
    Units:
    3
    Quarters (in 2012-2013):
    Spring
    Time and place:
    Mon/Wed 9:30 - 10:45, 380-381U
    Instructors:
    Adrian Butscher and Justin Solomon
    Televised?
    No

    Current offering:

    Past Offerings:

    CS 478 - Computational Photography

    (formerly CS 448A)

    Sensing strategies and algorithmic techniques that extend traditional digital photography, with a focus on mobile devices. Topics: high-dynamic-range imaging; coded aperture and exposure; panoramic stitching; light-field imaging; image stabilization, processing and enhancement; programmable cameras. Lectures, readings, and project.

    Units:
    3-4
    Prerequisites:
    An introductory course in graphics or vision, or CS 178, good programming skills
    Quarter (in 2011-2012):
    Winter
    Time:
    Mon/Wed 2:30-3:45pm in Gates 392
    Instructors:
    Jongmin Baek, David Jacobs, Kari Pulli
    Televised?
    No
    Next offering:
    Spring 2014

    Past offerings:


    CS 448I - Computational Imaging and Display

    Computational imaging systems have a wide range of applications in consumer electronics, scientific imaging, HCI, medical imaging, microscopy, and remote sensing. We discuss light fields, time-of-flight cameras, multispectral imaging, thermal IR, computational microscopy, compressive imaging, computed tomography, computational light transport, compressive displays, phase space, and other topics at the convergence of applied mathematics, optics, and high-performance computing related to imaging. Hands-on assignments.

    Units:
    3
    Prerequisites:
    basic signal processing (EE 261 or equivalent) and linear systems/algebra (EE 263 or equivalent)
    Quarter (in 2015):
    Winter
    Time and place:
    Tue/Thu 12:35-2:05, HERRINT195 (Herrin Hall Biology)
    Instructor:
    Gordon Wetzstein
    Televised?
    No

    Current offering:

    CS 528 - AI/Graphics/Geometry/Vision/Robotics Seminar

    This colloquium began as a joint offering between what was known as the the Stanford Geometry, Graphics, Robotics, and Vision Seminar (GGRV) and the AI, Vision, and Robotics Colloquium (AIRV). We've consolidated the two seminars. Students can also take this seminar as a course, CS 528. This colloquium is intended to bring established and senior researchers from the fields of AI, geometry, graphics, robotics, and vision together to discuss and explain broad considerations and high-level tasks that the relevant communities are addressing. The talks are intended to create awareness and interest for all of the members of these communities, hopefully bridging the gaps and creating collaborations. All are invited.
    Units:
    1
    Prerequisites:
    none
    Quarters (in 2011-2012):
    (not offered)
    Past offerings:

    Last update: April 23, 2021 12:20:10 AM
    [email protected]