About this course
Build spatial and immersive applications: 3D tracking and scene understanding, virtual and augmented reality, natural interaction, and spatial UX across XR devices.
Built a cross-device spatial computing application on OpenXR with the Unity XR Interaction Toolkit, implementing hand-tracked interaction, SLAM-based inside-out tracking, plane detection and spatial anchors, and a comfort-tuned locomotion system that meets the device motion-to-photon latency budget.
Expected outcomes
- Explain the optical and perceptual basis of head-mounted displays and stereoscopic rendering
- Represent rigid-body pose with SE(3) transforms and apply them to head and hand tracking
- Build cross-device XR applications against the OpenXR runtime and input model
- Implement spatial mapping and tracking using SLAM and visual-inertial odometry concepts
- Design immersive interaction techniques for selection, manipulation, and locomotion
- Apply human-factors guidelines to reduce cybersickness and respect comfort and latency budgets
- Anchor virtual content to the real world using plane detection and spatial anchors in AR
- Evaluate immersive user experience with presence and usability measures
- Compare VR and AR device capabilities, tracking systems, and rendering constraints
- Design and defend a complete spatial computing application as a team project
Key topics
- VR/AR & OpenXR
- Tracking & spatial mapping (SLAM)
- Natural interaction & UX
- On-device performance
Theoretical foundations
The concepts and results this course rests on.
- the SE(3) rigid-body transform group and quaternion rotation representation
- stereoscopic rendering and the optics and perception of head-mounted displays
- simultaneous localization and mapping and visual-inertial odometry
- epipolar geometry and multiple-view geometry for tracking and reconstruction
- the registration problem and Azuma's defining criteria for augmented reality
- sensory conflict theory and the motion-to-photon latency budget for comfort
- presence and the perceptual factors that sustain immersion
Prerequisites
Course-specific prerequisites:
- Computer Graphics or 3D graphics basics
- Linear algebra
- Computer vision basics
Weekly schedule 13 weeks · lecture + practice
Students use AI assistants and vibe-coding to write and refactor OpenXR session and input code, generate interaction and locomotion scripts, and wire up Unity XR Interaction Toolkit components from natural-language intent. They interact with engine tooling and device SDKs through MCP servers that surface the headset build, the OpenXR runtime, and on-device profilers, asking the model to wire action sets or place spatial anchors and then explain the tracking behavior. AI generates test scenes, scripted pose sequences, and synthetic IMU and tracking data for repeatable comfort and latency experiments. Students use the model to analyze motion-to-photon measurements and user-test results and to reason about cybersickness mitigations, always validating suggestions against on-device behavior.
Student project
Each team builds one immersive VR or AR application across the term against OpenXR on a real headset or AR-capable device. The project grows weekly from a tracked stereo scene to a complete experience with hand interaction, spatial mapping, anchored content, locomotion, and a met comfort and latency budget. The same artifact is presented at the specification, interim, and final milestones.
Requirements
- Build a working system, not a set of disconnected exercises.
- Be original: a new system that solves a real problem, not a re-implementation of a tutorial or course demo.
- Show real depth: real data, real users or realistic load, and engineering trade-offs that are measured rather than assumed.
- Carry one running project from specification to a deployed, defensible result across the whole term.
- Work in a team of three or four and defend the design at each of the three presentations (weeks 5, 8, and 13).
Example projects
Assessment & grading
Grading is project-based, with no written exam. Teams of three or four present one running project three times.
| Component | What it covers | Weight |
|---|---|---|
| Project · Specification | Presentation 1 (week 5): problem, objectives, and architecture | 20% |
| Project · Interim | Presentation 2 (week 8): the working system demonstrated live | 30% |
| Project · Final | Presentation 3 (week 13): end-to-end demo with oral defense | 50% |
Tools & platforms
- OpenXR: Khronos cross-vendor XR runtime and input standard
- Unity XR Interaction Toolkit: high-level XR interaction framework
- Unreal Engine: native OpenXR support for XR applications
- Meta Quest SDK: hand tracking, passthrough, and anchors on Quest
- Microsoft MRTK3: mixed-reality toolkit for HoloLens and OpenXR
- Apple ARKit: world tracking and plane detection on iOS and visionOS
- Google ARCore: motion tracking and environmental understanding on Android
- ORB-SLAM3: open-source visual-inertial SLAM reference
- OpenCV: computer vision for tracking and calibration
- Blender: 3D asset authoring for XR scenes
- RenderDoc: GPU frame debugging for XR render paths
- OVR Metrics Tool: on-device performance and latency profiling
Free online courses
Existing free, video-based courses this course can build on, for self-study or as a teaching basis.
- CourseraVirtual Reality Specialization
- CourseraExtended Reality for Everybody
Primary literature
Seminal works to read for graduate-level depth.
- PaperA head-mounted three dimensional display
- PaperA Survey of Augmented Reality
- PaperParallel Tracking and Mapping for Small AR Workspaces
- PaperORB-SLAM: a Versatile and Accurate Monocular SLAM System
- PaperKinectFusion: Real-Time Dense Surface Mapping and Tracking
- PaperOn-Manifold Preintegration for Real-Time Visual-Inertial Odometry
References
Books and resources link to an online or publisher page.
- DocumentationThe OpenXR Specification 1.1
- Textbook3D User Interfaces: Theory and Practice, 2nd Edition
- TextbookMultiple View Geometry in Computer Vision, 2nd Edition
- DocumentationXR Interaction Toolkit Documentation
- DocumentationMixed Reality Documentation
- DocumentationARKit Documentation
- DocumentationMeta Horizon OS Developer Documentation
- DocumentationARCore Documentation
Role in each concentration
| Concentration | Role |
|---|---|
| Intelligent Software Systems | Elective |
| Networking & Cyber Security | Elective |
| AI & Robotics | Elective |
| AI and Quantum Computing for Finance | Elective |
| Immersive Systems & Game Development | Core · Semester 2 |
| Defense Technologies & Autonomous Systems | Elective |