| Week | Date | Event Type | Description | Material | Readings |
|---|---|---|---|---|---|
| Week 1 | Tuesday Mar 31 |
Lecture 1 |
Introduction to VR and AR Course overview and logistics History of VR and AR |
[slides] |
Podcast: Fred Brooks on Ivan Sutherland’s 1965 “Ultimate Display” Speech Paper: Ivan Sutherland “A head-mounted 3D display", 1968 Video: Mark Zuckerberg's Metaverse announcement, 2021 Book: Neil Stephenson "Snow Crash", 1992 |
| Thursday April 2 |
Lecture 2 |
The Graphics Pipeline and OpenGL I: Overview and Transformations Rotation, translation, scaling, modelview matrix, projection matrix |
[slides] |
Course Notes on Transformations Marschner Chap. 6 & 7 |
|
| Friday April 3 |
Lab 1 |
Hello, WebGL! Homework #1 Release |
[lab]
[homework] |
||
| Week 2 | Tuesday April 7 |
Lecture 3 |
The Graphics Pipeline and OpenGL II: Lighting and Shading |
[slides] | Marschner Chap. 10 & 11 |
| Thursday April 9 |
Lecture 4 |
The Graphics Pipeline and OpenGL III: OpenGL Shading Language (GLSL) GLSL vertex and fragment shaders |
[slides] | ||
| Thursday April 9 |
Homework #1 due at 11:59pm | ||||
| Friday April 10 |
Lab 2 |
Lighting and Shading with GLSL Homework #2 Release |
[lab]
[homework] |
||
| Week 3 | Tuesday April 14 |
Lecture 5 |
Human visual system Perception of depth, color, contrast, resolution |
[slides] | |
| Thursday April 16 |
Lecture 6 |
The Graphics Pipeline and OpenGL IV: Stereo Rendering |
[slides] | ||
| Thursday April 16 |
Homework #2 due at 11:59pm | ||||
| Friday April 17 |
Lab 3 |
Stereo Rendering, Depth of Field and Anaglygh Homework #3 Release |
[lab]
[homework] |
||
| Week 4 | Tuesday April 21 |
Lecture 7 |
Head Mounted Display Optics I Magnifier designs Stereo rendering for HMDs Lens distortion correction |
[slides] | |
| Thursday April 23 |
Lecture 8 |
Head Mounted Display Optics II Advanced HMD optics |
[slides] | ||
| Thursday April 23 |
Homework #3 due at 11:59pm | ||||
| Friday April 24 |
Lab 4 |
Build Your Own HMD Homework #4 Release |
[lab]
[homework] |
||
| Week 5 | Tuesday April 28 |
Lecture 9 |
Interial Measurement Units I Gyrometers Accelerometers Magnetometers |
[slides] |
Course Notes on IMUs
LaValle Chap. 9.1 & 9.2 |
| Thursday April 30 |
Lecture 10 |
Interial Measurement Units II Sensor fusion Complementary filter Arduino |
[slides] | ||
| Thursday April 30 |
Homework #4 due at 11:59pm | ||||
| Friday May 1 |
Lab 5 |
Orientation Tracking with IMUs Arduino Programming Homework #5 Release |
[lab]
[homework] |
||
| Friday May 1 |
Final Project - Proposal due 5/3/2024 at 11:59pm |
||||
| Week 6 | Tuesday May 5 |
Lecture 11 |
Pose Tracking I Tracking with light house |
[slides] |
Course Notes on Tracking |
| Thursday May 7 |
Lecture 12 |
Pose Tracking II Advanced positional tracking |
[slides] | ||
| Thursday May 7 |
Homework #5 due at 11:59pm | ||||
| Friday May 8 |
Lab 6 |
Pose Tracking Homework #6 Release |
[lab]
[homework] |
||
| Week 7 | Tuesday May 12 |
Lecture 13 |
Frontiers of VR I Cinematic VR, Spatial Sound, The Vestibular System |
[slides] | |
| Thursday May 14 |
Lecture 14 |
Frontiers of VR II VR Engines and Unity, Latency, Eye Tracking |
[slides] | ||
| Friday May 15 |
Homework #6 due at 11:59pm | ||||
| Friday May 15 |
Lab (optional) | Getting started with Unity |
[lab]
|
||
| Week 8 | Tuesday May 19 |
Midterm | |||
| Thursday May 21 |
Guest lecture: | ||||
| Week 9 | Tuesday May 26 |
No lecture | |||
| Thursday May 28 |
Final Project - demo session 5/28/2026, 10:30am - 12pm, Packard Atrium |
||||
| Tuesday June 2 |
Final Project - report and code due on 6/2/2026, 11:59pm |
Report template |