Oculus Grandma


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, the cost of entry has previously been high 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.

Course Objectives

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. Some basic questions that motivate the course topics:

  • How does one build a good VR experience?
  • How do VR systems work using current technology?
  • What is wrong with current systems?
  • How does the human body respond to VR?
  • What fundamentals could help you to shape the future?

Topics covered include:

  • Overview and perspective on virtual reality
  • Human sensation and perception
  • Engineering VR systems
  • Perceptual training
  • Building good experiences


We recommend the following courses and skills:

  • CS 225 - prior general programming experience
  • Math 225 or Math 415 - basic linear algebra, especially 3D transforms

Nevertheless, this is a large, experimental course, so we do not expect specific background courses or experience. If you are unsure, use the textbooks and Unity manual as a reference for the level of rigor we expect, or ask course staff.


Lecture is held in 1320 Digital Computer Lab on MW 4-5:15pm


We expect to have 4 assignments over the course of the semester. In each of these, students will work in pairs to solve a specific implementation problem in the virtual reality lab in 4107 Siebel Center.

See the Assignments page for more details.

Final Project

The final project is a semester-long implementation of a VR system. Students choose the topic and theme of the project under TA supervision.

This satisfies the team project requirement for CS majors.

See the project gallery for past student projects.


This class will have three midterm exams and no final exam. The third midterm will be just before finals. Each exam is 50 minutes long and will be held in the CBTF. You will need to make a reservation in the CBTF to take the exam.

  • Midterm 1: Feb. 10 - Feb. 12
  • Optional second chance exam for Midterm 1: Feb. 17 - Feb. 19
  • Midterm 2: Mar. 10 - Mar. 12
  • Optional second chance exam for Midterm 2: Mar. 25 Mar. 26
  • Midterm 3: Apr. 28 - Apr. 30

All exams are closed-everything (no book, notes, calculator, etc.). See the CBTF policies for more detail.You are responsible for all material covered in lectures and assignments.For DRES accommodations see CBTF DRES Students

Second-chance Exams

For the first two mid-term exams, you have the option to take a second chance exam if you wish. The maximum score you can achieve on the second chance exam is 88%. Specifically, if your second chance score is N% your final percentage score will be calculated as 0.88 x 0.N x 100.0. Your second chance score will replace your first score, even if it is lower. The questions on the second chance exam will cover the same topics as the first exam but may not be identical to the questions on the first exam. To take the second chance exam, just make a reservation with CBTF. You do not need to inform course staff that you are doing so.


We will post grades on Compass 2g.

We weight grades as follows:

  3 credits 4 credits
Assignments 20% 20%
Midterm Exam 1 12% 12%
Midterm Exam 2 12% 12%
Midterm Exam 3 16% 16%
Final Project 40% 25%
4th Credit Project   15%

You can expect the cutoffs to be approximately as follows 98 - 100: A+
93 - 98: A 90 - 93: A- 87 - 90: B+ 83 - 87: B 80 - 83: B- 77 - 80: C+ 73 - 77: C 70 - 73: C- 60 - 70: D Below 60: F


Main text, required: Steven M. LaValle, Virtual Reality, 2016.

Optional: George Mather, Foundations of Sensation and Perception: Psychology Press; 2 edition, 2009.

Optional: Peter Shirley, Michael Ashikhmin, and Steve Marschner, Fundamentals of Computer Graphics, A K Peters/CRC Press; 3 edition, 2009.

See the Extra Material page for other, recommended readings.


We will use Piazza for answering questions and administering the course.

Click the header to join/view the forum. You do not need a passcode. If you want to use a non-illinois.edu email address on Piazza, then send an email from your illinois.edu mail account to the course instructor with the email address you want to use, and we will add you manually.

Course Staff

See the schedule for office hours.

  • Professor Eric Shaffer, Siebel 2209
  • Professor Dan Cermak