Instructor Fall 2018: Dan Szafir

Course Objectives

This course is designed to introduce students to the field of virtual reality (VR) and provide students with hands-on experience developing applications for modern virtual and augmented reality systems. In the course, students learn about the historical development of virtual reality technology and virtual reality as a research field, gain mastery of fundamental principles, algorithms, and design patterns in computer graphics, discover the perceptual science behind mixed reality technologies, and explore libraries and tools for creating VR experiences such as WebGL and Unity. The course presents students with individual assignments and a semesterlong team project to develop a fully-functional application for the Google Cardboard, Gear VR, Oculus Rift, HTC Vive, or Microsoft HoloLens. The course is primarily designed for ATLAS and computer science undergraduate students. However, graduate students interested in virtual and augmented reality technologies and undergraduates from other programs are also encouraged to take the class.
Specific topics will include:

  • The historical development of Virtual Reality
  • Computer graphics and 3D modeling
  • Human-Computer Interaction relating to Virtual Reality
  • Modern Virtual Reality technologies
  • Context and use of Virtual Reality

By the end of the course, students will have gained knowledge and skills to:

  • Understand the fundamental concepts relating to Virtual Reality such as presence, immersion, and engagement
  • Read deeply, understand, and critique academic research papers relating to Virtual Reality
  • Create simple computer generated environments for virtual exploration
  • Program interactive elements for virtual experiences
  • Work successfully with a group of peers from a variety of disciplines on a team project
  • Communicate and present individual and group project work
  • Demonstrate competence with several modern Virtual Reality technologies such as Google Cardboard, Google SketchUp, Unity, the Oculus Rift and the HTC Vive


This course will not have a textbook. All readings will be posted online.

Course Pre-Requisites

This course has a pre-requisite of completing CSCI 2270: Data Structures or its equivalent. In addition, prior design or 3D modeling experience may be helpful but are not required. All students will be learning new skill sets and are expected to be strongly motivated to learn new software.

Course Format

The course will be comprised of lectures, readings, discussions, exercises, assignments, presentations, and projects. All readings will be posted online and discussion will occur the following class. We will have a few programming and modeling assignments to get everyone up to speed. The course will include one midterm exam taken in class. Final projects will occur in teams and will include multiple project pitches.


10% - Consistent attendance and active participation 25% - Programming and modeling exercises, assignments, and presentations 30% - Midterm exam 35% - Final project
10% - Consistent attendance and active participation 25% - Programming and modeling exercises, assignments, and presentations 25% - Midterm exam 30% - Final project 10% - Research Paper