CS 5963/6360 - Virtual Reality


In this course we will examine hardware, software, and cognitive foundations involved in creating state-of-the-art virtual reality (VR). The purpose of this course is two-fold: (a) to provide students with both a deep understanding of the fundamentals of VR and (b) to gain practical experience with consumer-grade VR systems (such as the Oculus Rift). We will explore the challenges to develop and analyze VR systems that are effective and comfortable, motivated by design goals, and constrained by the real world. We will also explore the relationship of VR to augmented reality (AR) hardware, software, cognition, and design.

Virtual reality (VR) technology transports us to real or synthetic places that may be inaccessible, breathtaking, complex beyond our wildest imagination, or just simple and relaxing. Applications include entertainment, social interaction, virtual travel, remote training, architectural walkthroughs, cultural appreciation, and learning enhancement. Although VR has been around for decades, it always came with a high cost to enter the field because of advanced, expensive equipment and computing resources. Thanks to widespread progress in display, sensing, and computational technology, the newest VR systems are cheap, lightweight, and easy to program. This has caused a flood of excitement as almost anyone can pick up a VR headset and start developing experiences. The purpose of this course is to provide students with both a deep understanding of the fundamentals of VR and to gain practical experience. Because VR tricks our brains by presenting synthetic stimuli to our senses, it is extremely challenging to develop and analyze VR systems that are both effective and comfortable. To get a handle on these issues, this course will fuse together knowledge from a variety of relevant topics, including computer graphics, tracking systems, and perceptual psychology.


In this course, I will cover:

  1. Historical and modern overviews and perspectives on virtual reality.
  2. Fundamentals of sensation, perception, and perceptual training.
  3. The scientific, technical, and engineering aspects of virtual reality systems.
  4. Evaluation of virtual reality from the lens of design.

Expected Learning Outcomes

At the end of CS5963, you will be able to:

  1. Identify, examine, and develop software that reflects fundamental techniques for the design and deployment of VR experiences.
  2. Describe how VR systems work.
  3. Choose, develop, explain, and defend the use of particular designs for VR experiences.
  4. Evaluate the benefits and drawbacks of specific VR techniques on the human body.
  5. Identify and examine state-of-the-art VR design problems and solutions from the industry and academia.

At the end of CS6360, you will be able to do all of the above and in addition:

  1. Summarize, distill, and design a research contribution within academic VR.

Class Details

Term: Fall 2019

Location: M LI Room 2008 (Lecture) / 1009 (Lab)

Date and Time: MW / 04:35PM-05:55PM

Instructor: Rogelio E. Cardona-Rivera






CS 5963. "C-" or better in CS 3500 and Full Major status in (Games or Computer Science or Computer Engineering)

CS 6360. "C-" or better in EAE 6310 or Graduate Standing in Computer Science. (Meets with CS 5963; extra work required for this class.)


This course will primarily be lecture-based, with in-class discussions around material, assignments, and projects and out-of-class assignments, projects, and reflections.


LaValle, Steven M. Virtual Reality. (Self-published), 2016.

Other textbooks that may be referenced (but which are not requred) are:

  • Shirley, Peter, Michael Ashikhmin, and Steve Marschner. Fundamentals of Computer Graphics (3rd ed). A. K. Peters/CRC Press (2009)

  • Thompson, William, Roland Fleming, Sarah Creem-Regehr, Jeanine K. Stefanucci. Visual Perception from a Computer Graphics Perspective (1st ed). A. K. Peters/CRC Press (2012)

Elsewhere on the Web


Merrill Engineering Building, #3153
50 Central Campus Drive
Salt Lake City, UT, 84112, USA