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 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 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 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.

CS 205A: Mathematical Methods for Robotics, Vision, and Graphics

Units: 3 | Grading: Letter or Credit/No Credit

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. Prerequisites: 106B or X; MATH 51; or equivalents.

SIGGRAPH 2016 Course: Physically Based Sound for Computer Animation and Virtual Environments

Units: N/A | Grading: N/A

The main goal of this course is to make the principles and methods of physically based sound accessible to a broader computer-graphics audience. The course covers sound-source models for sonifying important phenomena from physics-based animation: rigid bodies, brittle fracture, thin-shells, cloth, deformable collisions and contact, fluids, and fire. Material related to rigid-body sound is covered in greater detail in the first half of the course, which addresses fundamental topics such as modeling modal vibrations and sound radiation from surfaces. Further readings are suggested throughout the course notes. Several recent SIGGRAPH papers also serve as supplemental notes for more advanced topics.

CS 5643: Physically Based Animation for Computer Graphics

Units: 3 | Grading: Letter or Credit/No Credit

Modern computer animation and interactive digital entertainment are making increasingly sophisticated use of tools from scientific and engineering computing. This course introduces students to common physically based modeling techniques for animation of virtual characters, fluids and gases, rigid and deformable solids, and other systems. Aspects of interactive simulation and multi-sensory feedback will also be discussed. A hands-on programming approach will be taken, with an emphasis on small interactive computer programs.

© 2017 Doug L. James All Rights Reserved. | Contact