What you will learn

  • To design VR applications with Unity 3D
  • How OpenGL works and is used to create realistic looking applications
  • To transform coordinate systems for 3D interactions
  • Hardware components for VR and how they work
  • What makes a VR application successful
  • How to create your own VR app
  • How to use this VR program to develop augmented reality (AR) applications

Program Overview

Virtual reality (VR) is one of the hottest emerging technologies in the entertainment industry today. Millions of VR devices have been sold in the US alone, but most software developers have no formal training on the technology. This Professional Certificate program will teach you what VR devices exist, how VR technology works, and how to write software, often called VR experiences, for it.

You will learn effective 3D interaction techniques to use VR applications, how to write VR applications in WebVR and Unity 3D, and what features make a VR application successful. You will also learn the required mathematics for successful VR applications and how computer graphics are rendered onto a screen.

The final course in this program will allow you to apply the material learned in the previous courses to create your own VR app.

This program will provide you with a strong foundation to develop VR apps in all areas VR is used, including entertainment and gaming. This VR program also provides a solid foundation for people who want to develop augmented reality (AR) applications.

Courses in this program

1
Computer Graphics

Course Details
Learn to create images of 3D scenes in both real-time and with realistic ray tracing in this introductory computer graphics course.

2
How Virtual Reality Works

Course Details
Learn how virtual reality technology works by writing simple VR programs with WebVR.

3
Creating Virtual Reality (VR) Apps

Course Details
Learn the tools and techniques to develop your own professional VR app in Unity 3D.

Meet your instructors

Jurgen P. Schulze

Research Scientist and Adjunct Professor of Computer Science at UC San Diego Jurgen teaches computer graphics and virtual reality at UC San Diego. His research interests include applications for virtual and augmented reality systems, 3D human-computer interaction, and medical data visualization. He holds an M.S. degree from the University of Massachusetts and a Ph.D. from the University of Stuttgart, Germany. He spent two years as a post-doctoral researcher in the Computer Science Department at Brown University.

Ravi Ramamoorthi

Ravi Ramamoorthi is a Professor at the University of California, San Diego. He has taught computer graphics more than 10 times at Stanford, Columbia and UC Berkeley, and has been honored with a number of awards for his research, including the ACM SIGGRAPH Significant New Researcher Award and by the White House with the PECASE (Presidential Early Career Award for Scientists and Engineers). He was a finalist for the inaugural edX Prize for Exceptional Contributions in Online Teaching and Learning.

Program Endorsements

At Qualcomm we are working on the next generation of mobile computing devices. Virtual and augmented reality are an important part of it. We value software developers with a strong foundation in 3D computer graphics programming and an understanding of virtual and augmented reality technology. It is my belief that candidates who successfully completed the edX Professional Certificate for Virtual Reality Application Development will be at an advantage when applying to Qualcomm’s computer graphics groups.

Ning Bi , Senior Director of Technology Computer Vision Systems, Qualcomm Technologies, Inc.

At Sixense Entertainment Inc. we need software developers with strong knowledge in the areas of computer graphics and virtual reality. Applicants who successfully completed the edX Professional Certificate for Virtual Reality Application Development will have a significant advantage.

Amir Rubin , CEO, Sixense Entertainment Inc.

At Qualcomm we are working on the next generation of mobile computing devices. Virtual and augmented reality are an important part of it. We value software developers with a strong foundation in 3D computer graphics programming and an understanding of virtual and augmented reality technology. It is my belief that candidates who successfully completed the edX Professional Certificate for Virtual Reality Application Development will be at an advantage when applying to Qualcomm’s computer graphics groups.

Ning Bi , Senior Director of Technology Computer Vision Systems, Qualcomm Technologies, Inc.

At Sixense Entertainment Inc. we need software developers with strong knowledge in the areas of computer graphics and virtual reality. Applicants who successfully completed the edX Professional Certificate for Virtual Reality Application Development will have a significant advantage.

Amir Rubin , CEO, Sixense Entertainment Inc.

About this course

Build professional VR apps using Unity 3D, a powerful cross-platform 3D engine that provides a user-friendly development environment. In this course, part of the Virtual Reality Professional Certificate program, you will learn how to build a VR engine from the ground up, so you fully understand the entire rendering pipeline from 3D model to pixels in the VR display. We will also cover motion prediction, 3D stereo, lens distortion, time warp and other optimizations for a fluid, realistic VR experience.

You will also learn how to implement the most important VR interaction concepts such as selection, manipulation, travel, wayfinding, menus, and text input in Unity.

Unity is a GUI based programming environment, in which much of the programming can be done through dialog windows. It also supports scripts written in C#, which as we will show will allow for more complex VR functionality.

What you learn about VR programming in this course will help you write VR games, architectural walkthroughs, engineering simulations, 3D data viewers, medical training applications, and many more.

What you’ll learn

  • Develop professional VR apps using Unity 3D
  • Run Unity 3D applications in VR on a smartphone
  • Create a 3D environment from scratch in game engines
  • Select and manipulate objects with various input types
  • Move around a 3D world using unique locomotion methods
  • Create intuitive 3D menus to control applications
  • Design unique methods of 3D interaction
  • Input alphanumeric information, such as text and numbers, in VR
  • Build tools to help users navigate 3D environments
  • Learn key usability goals and pitfalls for Virtual Reality

Prerequisites

  • Basic linear algebra skills in vector and matrix mathematics, as well as coordinate system transformations
  • Basic programming experience in C, C++ or C#

Meet Your Instructors

Jurgen P. Schulze

Research Scientist and Adjunct Professor of Computer Science at UC San Diego Jurgen teaches computer graphics and virtual reality at UC San Diego. His research interests include applications for virtual and augmented reality systems, 3D human-computer interaction, and medical data visualization. He holds an M.S. degree from the University of Massachusetts and a Ph.D. from the University of Stuttgart, Germany. He spent two years as a post-doctoral researcher in the Computer Science Department at Brown University.