CS 498VR
Spring 2018

CS 498: Virtual Reality


Spring 2018
M W 4-5:15pm
1320 Digital Computer Lab
Lawrence Angrave

Course Staff Contact Info
Lawrence Angrave
2217 Siebel Center
OH: Tues 11:30am - 12:30pm
Yike Wang
OH: Tues, Thurs 11:00am-12:30pm
Rui An
OH: Wednesday, Friday 3:00 pm - 4:30 pm
Katie Mimnaugh
OH: Fridays 11:00 am - 2:00 pm
Matthew Ong
OH: Monday 5:00pm - 7:00pm
Tues, Thurs 12:30pm - 3:30pm
Kailang Fu
OH: Wed 7:00pm-10:00pm,
Fri 7:00-10:00pm
Mike Peretz
peretz2@illinois.edu OH: TBD
Shan Tulshi
OH: Tues, Thurs 2:00 - 3:30pm
Victor Mouschovias
OH: Saturday 12:00-3:30pm
Craig Santo
OH: Friday 2:00-5:00pm
Gary Liu
OH: Fri 7:00-10:00pm
Ke Lu
OH: Mon 2:00-4:00pm,
Fri 3:30-5:00pm,
Sat 8:00-10:00pm
Nathaniel Myren
OH: Mon 2:00-4:00pm
Wed 2:00-3:00pm
Sophia Lin
OH: TR 11:00am-12:30pm, 2:00pm-3:30pm
Edward Xue
Menglin Tian
OH: Wednesday 9:30-11:30am
Yinchen Xu
OH: Tues. Thurs, Fri 3:00-5:00pm
Kewei Sui
OH: Fri 2:30-5:30pm
Jason Situ


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.

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?

Course Topics

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


This is a large, experimental course on a popular topic. We expect students to come with a variety backgrounds and we do not demand they have had particular background courses. It is important for you assess whether you can handle the material. You can start by looking at the textbooks. The two most challenging aspects will be comfort with: 1) basic linear algebra, at least with respect to 3D transformations, and 2) programming on C++ or related languages. If you are not strongly skilled in these aspects, then you might have some burden to catch up. CS 225 and Math 415 would be sufficient, but are not necessary if you have other background or an inclination to learn quickly. Ask us if you are unsure.


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 expect to have 4 assignments over the course of the semester, in addition to a final project. In each of these, students will work in pairs to solve a specific implementation problem in the virtual reality lab in 4107 Siebel Center. The lab is equipped with powerful Falcon Northwest PCs that have dual 27-inch monitors, NVidia GeForce Titan Black graphics cards with 6GB of RAM, and Windows 10 running Visual Studio. The VR equipment includes an Oculus Rift CV1 for every PC, which were kindly donated by Oculus/Facebook. Each assignment could also include a written part, which involves solving mathematical problems.

You may also consider doing development outside of the lab machines; however, to experience and evaluate the solution correctly, it is crucial to run the code at least once on the lab systems. They have been optimized for Oculus Rift CV1 experiences. Without using the 4107 machines, there may be issues that severely degrade performance, leading to a bad VR experience.

Unfortunately, we have only 20 workstations and over 200 students. Therefore, it is important to start early on assignments and try to work in the lab during less popular times. The 4107 lab is generally available any time.

For our assignments class policies, see Assignments page.

Final Projects

The final project involves the implementation and evaluation of a VR system that students are able to choose.


There will be two midterm exams and no final exam. The second midterm will take place around the same time as finals. You will be responsible for all material covered in lectures and assignments.

Exam times are set as follows:

  1. Midterm I: TBD
    If your last name starts with A-L, your exam will be in TBD
    If your last name starts with M-Z, your exam will be in TBD
  2. Midterm II: TBD
  3. Location:
    If your last name starts with A-L, your exam will be in TBD
    If your last name starts with M-Z, your exam will be in TBD

All exams will be closed book and closed notes. No calculators are allowed.


We will use Illinois Compass 2g for online grade posting.

Overall Grading scheme

The various components of the course will be weighted as follows:

  498sl3 (3 credits) 498sl4 (4 credits)
Assignments 20% 20%
Midterm Exam 1 20% 20%
Midterm Exam 2 20% 20%
Final Project 40% 25%
Graduate Project   15%

Regarding the distribution of grades, you can expect the average grade to be significantly higher than that of a standard, required undergraduate class. One of the main reasons is that this is the fourth offering of the course and it is highly experimental. There could be significant confusion and frustration as we work to improve the course for future offerings. By being pioneers, you get more benefit of doubt than usual, resulting in a higher grade average than usual. Please give us feedback to help us improve this class for future students!

TA Office Hours

All TA office hours happen in the VR lab, 4107 Siebel Center

The Class Forum

This is an important component to the course as we work together to solve problems, both in administering the course and in helping each other to complete the assignments. Our interactions outside of class are managed by Piazza, which is a mixture between a wiki and a forum. To join Piazza, follow either one of the following three steps: Sign up at this link, or, if you wish to use your illinois.edu email address on piazza, then direct your browser to piazza.com and search for CS 498VR. You shouldn't need a pass code, just sign up. If you wish to use a non illinois.edu email address on piazza, then send an email from your illinois.edu email account to Teaching Assistant Matthew Ong with the email address you wish to use on piazza, and we will add that email address manually.