Teaching
CS 44N: Great Ideas in Graphics
Units: 3 | Grading: S/NC
A hands-on interactive and fun exploration of great ideas from computer graphics. Motivated by graphics concepts, mathematical foundations and computer algorithms, students will explore an eccentric selection of "great ideas" through short weekly programming projects. Project topics will be selected from a diverse array of computer graphics concepts and historical elements.
CS 248B: Fundamentals of Computer Graphics: Animation and Simulation
Units: 3 | Grading: Letter or Credit/No Credit
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.
CS 348C: Computer Graphics: Animation and Simulation
Units: 3 | Grading: Letter or Credit/No Credit
Core mathematics and methods for computer animation and motion simulation. Traditional animation techniques. Physics-based simulation methods for modeling shape and motion: particle systems, constraints, rigid bodies, deformable models, collisions and contact, fluids, and fracture. Animating natural phenomena. Methods for animating virtual characters and crowds. Additional topics selected from data-driven animation methods, realism and perception, animation systems, motion control, real-time and interactive methods, and multi-sensory feedback.
CS 348B: Image Synthesis Techniques
Units: 3-4 | Grading: Letter or Credit/No Credit
High-quality rendering is ubiquitous today, with applications ranging from entertainment to product design and architecture. The goal of this course is to provide a deep understanding of the fundamental mathematical and physical principles that are the basis of modern physically based rendering while also introducing the design principles and engineering trade-offs involved in designing and implementing high-performance rendering systems. (We also talk about rendering black holes and dog fur.)
CS 248: Interactive Computer Graphics
Units: 3-4 | Grading: Letter or Credit/No Credit
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.
CS 448Z: Physically Based Animation and Sound
Units: 3-4 | Grading: Letter or Credit/No Credit
Intermediate level, emphasizing physically based simulation techniques for computer animation and synchronized sound synthesis. Topics vary from year to year, but include integrated approaches to visual and auditory simulation of rigid bodies, deformable solids, collision detection and contact resolution, fracture, fluids and gases, and virtual characters. Written assignments and programming projects.
CS 448P: Hacking the Pandemic
Units: 3 | Grading: S/NC
This timely project-based course provides a venue for students to apply their skills in computing and other areas to help people cope with the Coronavirus Disease 2019 (CoViD-19) pandemic. In addition to brief lectures, guest speakers, and moderated discussions and brainstorming sessions, the course will primarily consist of self-organized team projects where students find creative ways to contribute by leveraging any and all computational tools at our disposal (e.g., algorithms, app development, HCI, remote interaction and communication, data visualization, modeling and simulation, fabrication and 3d printing, design, computer games, VR, computer systems and networking, AI, statistics, bioinformatics, etc.).
CS 448M Making Making Machines for Makers
Units: 3 | Grading: Letter or Credit/No Credit
An introductory, project-based exploration of systems and processes for making things using computer-aided design and manufacturing, and an introduction to machines and machine tools. Emphasis will be placed on building novel machines and related software for use by “makers”. Course projects will encourage students to understand, build and modify/hack a sequence of machines: (1) an embroidery machine for custom textiles, (2) a paper cutting machine (with drag knife) for ornamental design, and (3) an XY plotter with Arduino controller. Through these projects students explore both (i) principles of operation (mechanical, stepper motors and servos, electrical control, computer software), and (ii) computer algorithms (trajectory, tool path, design). Current trends in interactive machines will be surveyed. The course will culminate in a final student-selected project.
CS 146: Introduction to Game Design and Development
Units: 3 | Grading: Letter or Credit/No Credit
This project-based course provides an introduction to game design covering topics like 2D/3D Art, Audio, User Interfaces, Production, Narrative Design, Marketing, and Publishing. Speakers from the profession will provide relevant context during a weekly seminar. Weekly assignments include in-depth materials and require students to independently create small video games. Classroom meetings will be used to foster student project discussions, and deepen understanding of material. The course culminates with students forming project teams to create a final video game. Assignments will be completed within the Unity game development engine; prior Unity experience is not required. Given class size limitations, an online survey will be distributed before class starts and students will be selected so to achieve a diverse class composition. Prerequisite: CS 106A or equivalent programming experience
CS 544: Interactive Media and Games
Units: 1 | Grading: Credit/No Credit (Repeatable for credit)
Interactive media and games increasingly pervade and shape our society. In addition to their dominant roles in entertainment, video games play growing roles in education, arts, and science. This seminar series brings together a diverse set of experts to provide interdisciplinary perspectives on these media regarding their history, technologies, scholarly research, industry, artistic value, and potential future.