Teaching

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

CS 2110: Object-Oriented Programming and Data Structures

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

CS 2110 is an intermediate-level programming course and an introduction to computer science. Topics include program design and development, debugging and testing, object-oriented programming, proofs of correctness, complexity analysis, recursion, commonly used data structures, graph algorithms, and abstract data types.

CS 6650: Computational Motion

Units: 4 | Grading: Letter or S/U

Covers computational aspects of motion, broadly construed. Topics include the computer representation, modeling, analysis, and simulation of motion, and its relationship to various areas, including computational geometry, mesh generation, physical simulation, computer animation, robotics, biology, computer vision, acoustics, and spatio-temporal databases. Students implement several of the algorithms covered in the course and complete a final project.

CS4620: Introduction to Computer Graphics

Units: 3 | Grading: Letter or S/U

Introduction to the principles of computer graphics in two and three dimensions. Topics include digital images, filtering and antialiasing, 2-D and 3-D affine geometry, ray tracing, perspective and 3-D viewing, the graphics pipeline, curves and surfaces, and human visual perception. Homework assignments require some Java programming. May be taken with or without concurrent enrollment in CS 4621.

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