CS 498SL
Fall 2017

CS 498: Virtual Reality


Fall 2017
1404 Siebel Center
Anna Yershova

Professor Teaching Assistants
Anna Yershova
1202 Siebel Center
Office Hours:
After Class

Qiuhua Ding
4107 Siebel Center
Office Hours:
T, Th 11:00 - 12:30pm

Rui An
4107 Siebel Center
Office Hours:
T,Th 6:00 - 7:00pm Sun 3:00 - 5:00pm
Yixiang Zeng
4107 Siebel Center
Office Hours:
Tu, Th: 2:00 - 3:30 PM
Matthew Ong
4107 Siebel Center
Office Hours:
M: 1:30 - 4:30 PM
Tu: 7:00 - 9:00 PM
W, F: 3:00 - 6:00 PM
Mike Peretz
Shan Tulshi
Office Hours:
Kewei Sui
Office Hours:
T,Th: 12:00 - 2:00 PM

Craig Santo
4107 Siebel Center
Office Hours:
Tue: 12:30 - 2:00 PM
Wed: 11:15 AM - 12:30 PM
Thur: 12:30 - 2:00 PM

Ke Lu
4107 Siebel Center
Office Hours:
Tue: 2:00 - 4:00 PM
Fri: 11:00 AM - 1:00 PM

Nathaniel Myren
4107 Siebel Center
Office Hours:
Mon: 10AM-1PM
Wed: 1-3PM
Thurs: 12:30-1:30PM
Fri: 12-3PM

Yihuan Guo
4107 Siebel Center
Office Hours:
Tu, Th: 2:20 - 3:50 PM
Tu, Th: 8:00 - 9:30 PM

Edward Xue
4107 Siebel Center
Office Hours:
Fri: 10am-12pm

Menglin Tian
4107 Siebel Center
Office Hours:
W: 9:00 - 11:00 AM
F: 9:00 - 11:00 AM

Yinchen Xu
4107 Siebel Center
Office Hours:
T, Th: 3:00 - 4:30 PM
F: 3:00 - 5:00 PM

Victor Mouschovias
4107 Siebel Center
Office Hours:
M: 2:00 PM - 3:15 PM
F: 11:30 AM - 2:30 PM


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 to 5 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 8 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: 10/10 /2017, 7:00PM - 8:50PM
    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: 12/13/2017, 7:00PM - 8:50PM
  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% 40%

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!

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 two steps: If you wish to use your illinois.edu email address on piazza, then direct your browser to piazza.com and search for CS 498SL. 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.