Virtual and Augmented Reality
This course presents an introduction to virtual and augmented reality technologies, with an emphasis on designing and developing interactive virtual and augmented reality experiences. The course will cover the history of the area, fundamental theory, interaction techniques, and specific application areas. Concepts from the contributing fields of computer vision, computer graphics and human computer interaction will be introduced in the context of virtual and augmented reality. Students will be tasked with creating their own virtual or augmented reality application as a course project.
When offered: Fall
Instructor: Harald Haraldsson
Topics in Mixed Reality
This course explores the field of mixed reality through research topics at the intersection of computer vision, computer graphics, human-computer interaction. Topics covered may include but not limited to: 3D interaction techniques, remote collaboration, tracking methods, photometric registration, navigation and more.
When offered: Spring
Instructor: Harald Haraldsson
Introduction to Computer Vision
The goal of computer vision is to compute properties of the three-dimensional world from digital images. Problems in this field include reconstructing the 3D shape of an environment, determining how things are moving, and recognizing people and objects and their activities, all through analysis of images and videos.
This course will provide an introduction to computer vision, with topics including image formation, feature detection, motion estimation, image mosaics, 3D shape reconstruction, object/face detection and recognition, and deep learning.
Applications of these techniques include building 3D maps, creating virtual characters, organizing photo and video databases, human computer interaction, video surveillance, automatic vehicle navigation, robotics, virtual and augmented reality, medical imaging, and mobile computer vision.
When offered: Spring
Instructor: Noah Snavely
Interactive Computer Graphics
Methods for interactive computer graphics, targeting applications including games, visualization, design, and immersive environments. Introduces students to state-of-the-art interactive techniques and programmable shading. Students develop a game engine for their final project using Java and GLSL.
When offered: Spring
Instructor: Steve Marschner
Introduction to Computer Vision
An in-depth introduction to computer vision. The goal of computer vision is to compute properties of our world-the 3D shape of an environment, the motion of objects, the names of people or things-through analysis of digital images or videos. The course covers a range of topics, including 3D reconstruction, image segmentation, object recognition, and vision algorithms fro the Internet, as well as key algorithmic, optimization, and machine learning techniques, such as graph cuts, non-linear least squares, and deep learning. This course emphasizes hands-on experience with computer vision, and several large programming projects.
When offered: Spring
Instructor: Bharath Hariharan
Computer Vision
Humans are extremely good at perceiving the world from visual input alone. This comes so easily to us that we underestimate how difficult perception it is, and how hard it is for machines.
Computer vision is a subfield of AI focused on getting machines to see as humans do. We have been at it for almost half a century now, and while the problem is still far from getting solved, we have made tremendous progress. The past decade has especially been a revolution in the making. This course will cover these ideas, both the classic work based on geometry and physics, as well as the new ones based on convolutional networks and deep learning.
When offered: Fall
Instructor: Bharath Hariharan
Introduction to Computer Graphics
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. This course emphasizes fundamental techniques in graphics, with both written and practical assignments. May be taken with or without concurrent enrollment in CS 4621.
When Offered: Fall
Instructor: Steve Marschner
Applied Machine Learning
Learn and apply key concepts of modeling, analysis and validation from Machine Learning, Data Mining and Signal Processing to analyze and extract meaning from data. Implement algorithms and perform experiments on images, text, audio and mobile sensor measurements. Gain working knowledge of supervised and unsupervised techniques including classification, regression, clustering, feature selection, association rule mining and dimensionality reduction.
When offered: Fall
Instructor: Serge Belongie
Communication in Virtual Worlds
This course deals with the psychological, social, and technical aspects of being embodied in virtual environments. During this course, students will learn how human—and non-human—entities and their actions are represented as virtual bodies. The course is organized around three areas: an overview of how a sense of embodiment is created in virtual reality, an overview of research on virtual embodiment, and current and future applications. Students will experience virtual environments, relate course topics to current events, and experiment with the creation of immersive virtual content.
When offered: Fall
Instructor: Andrea Won
Introduction to Computer Game Design
A project-based course in which programmers and designers collaborate to make a computer game. This course investigates the theory and practice of developing computer games from a blend of technical, aesthetic, and cultural perspectives. Technical aspects of game architecture include software engineering, artificial intelligence, game physics, computer graphics, and networking. Aesthetic and cultural aspects include art and modeling, sound and music, game balance, and player experience.
When offered: Spring
Instructor: Walker White
Advanced Topics in Computer Game Design
Project-based follow-up course to INFO 3152. Students work in a multidisciplinary team to develop a game that incorporates innovative game mechanics. Advanced topics include nontraditional input schemes, advanced storytelling, social gameplay, and "serious" games. There is a special emphasis on developing games that can be submitted to festivals and competitions, or that can be commercialized. Students may take this course as either a programmer or a designer; the prerequisites differ depending upon the selected track. Contact the instructor for more information.
When offered: Spring
Instructor: Walker White
HCI and Design
Human-Computer Interaction (HCI) and design theory and techniques. Methods for designing, prototyping, and evaluating user interfaces. Basics of visual design, graphic design, and interaction design. Understanding human capabilities, interface technology, interface design methods, prototyping tools, and interface evaluation tools and techniques.
When offered: Fall
Instructors: Shiri Azenkot, Nicki Dell