Virtual reality (VR) is one of the hottest emerging technologies in the entertainment industry today. Millions of VR devices have been sold in the U.S. alone, but most software developers have no formal training on the technology. Now VR researchers from the University of California San Diego are hoping to bridge that gap and develop in-demand skills via a new series of courses delivered through the edX online learning platform.
On April 25, edX announced its first 15 Professional Certificate programs, developed by 13 top universities and industry leaders. The programs focus on skills, job competencies and professional development, and they tend to take less time to complete than edX’s MicroMasters mini-degree programs.
The initial roster of Professional Certificate programs includes UC San Diego’s “Virtual Reality App Development” – a three-course series on how VR technology works and how to “design and implement successful interactive VR software apps using industry-standard software tools,” according to the edX announcement.
The VR App Development series was developed by two UC San Diego experts: Qualcomm Institute (QI) research scientist Jurgen Schulze, who is also an adjunct professor in the Computer Science and Engineering (CSE) department; and CSE professor Ravi Ramamoorthi, who also directs the Center for Visual Computing at UC San Diego. The online courses are based on courses that Schulze and Ramamoorthi teach in person in the CSE department.
The self-paced, six-week course also teaches how to create 3D menus and input text to an interactive VR app, as well as how best to avoid common mistakes in writing VR software.
The second course in the Professional Certificate program is an existing course developed and taught by CSE’s Ravi Ramamoorthi. The self-paced “Computer Graphics” course – based on his UC San Diego course, Intro to Computer Graphics (CSE 167) – starts on June 1, 2017, and students will learn how to create images of 3D scenes in both real time and with realistic ray tracing. The course has been offered in the past on edX as a standalone course, and students can take the course for free unless they want to add a Verified Certificate or use it as part of the Professional Certificate program (in which case the course costs $99).
“The course teaches the basics of computer graphics that apply to a wide variety of domains, including movies, games, computer-aided design, virtual reality, virtual simulators, scientific visualization and even imaging products and cameras,” said Ramamoorthi. To do so, students learn to create computer-generated images of 3D scenes, including flybys of objects, and they learn to use real-time graphics programming languages including OpenGL and GLSL that let the developer fly around and manipulate 3D scenes.
For learners who previously completed Ramamoorthi’s standalone online course and received a Verified Certificate, they will be given credit and not have to repeat the course when they enroll in the Professional Certificate program.
The final course in the Professional Certificate program, “Creating Virtual Reality Apps”, gives students the tools and techniques they’ll need to develop their own professional VR apps using the most common software for VR development, Unity 3D. Unity 3D is a powerful, cross-platform and GUI-based 3D engine that provides a user-friendly programming development environment.
Developed and taught by QI’s Schulze, the self-paced course – based on the course Schulze is teaching this spring at UC San Diego on Virtual Reality Technology (CSE 190) – will launch on September 1, 2017. Students will learn how to build a VR engine from the ground up. “This allows students to fully understand the entire rendering pipeline from 3D model to pixels in the VR display,” noted Schulze. “We will also cover motion prediction, 3D stereo, lens distortion, time warp and other optimizations for a fluid, realistic VR experience.” Students who take the course learn how to create 3D scenes with simulated physics and how to run Unity 3D applications in VR on a smartphone.
Students taking the course will also learn how to implement the most important VR interaction concepts – concepts such as selection, manipulation, travel, wayfinding, menus and inputting text in Unity 3D. VR programming skills can be useful in multiple professional careers, whether the developer wants to write VR games, architectural walkthroughs, engineering simulations, 3D data viewing, medical training applications or other programs.