From Immersive Visualization Lab Wiki
Jump to: navigation, search


CSE165: 3D User Interaction


This course focuses on the design and evaluation of three-dimensional (3D) user interfaces, devices, and interaction techniques. The course consists primarily of lectures and hands-on programming. Students will be expected to implement several 3D interaction techniques as part of this course. This course is intended to lay the foundation for 3D user interaction as it can be applied to novel user interfaces for computer games and consumer electronics, as well as virtual and augmented reality applications. An important aspect of the course are going to be programming assignments involving 3D interaction devices, which are going to be provided to the students in the computer lab. These devices will include the Microsoft Kinect, which allows gesture control, the Razer Hydra, which allows high-precision 3D interactions, and maybe the Leap, which allows for finger gestures. We will use the C++ programming language and the OpenSceneGraph programming API, which builds on OpenGL.

Kinect-for-windows.jpg Hydra.jpg Leap.jpg
Microsoft Kinect Razer Hydra Leap

Course Schedule

Click here for the course schedule.

It lists lecture dates, homework due dates, and recommended reading.


  • 2014-02-22 Homework Assignment #4 is now on-line.
  • 2014-02-10 Homework 3 q&a session this week will be on Wednesday Feb 12 at 2pm (lab 260)
  • 2014-02-08 Homework Assignment #3 is now on-line.
  • 2014-01-25 Homework Assignment #2 is now on-line.
  • 2014-01-22 For homework 1 there's now a downsized campus model on Ted.
  • 2014-01-21 The paper presentations have been scheduled and are listed on the course schedule.
  • 2014-01-16 There is now a web page dedicated to the research paper presentations
  • 2014-01-09 Homework Assignment #1 is now on-line.
  • 2014-01-09 The course schedule is now on-line.
  • 2013-11-19 Welcome to the course web site!


  • Introduction to 3D interaction
  • Application domains
  • Output hardware
  • Input hardware
  • Selection and Manipulation
  • Navigation (Travel and Wayfinding)
  • System Control
  • Symbolic Input
  • 3D user interface design
  • Evaluation of 3D User Interfaces
  • Augmented Reality Interfaces


  • CSE167 (Introduction to Computer Graphics) or equivalent
  • Experience programming in C++
  • Experience with OpenGL graphics programming


  • Instructor: Dr. Jürgen Schulze
  • Instructor's office hour: Tuesdays after class, 3:30-4:30pm, Atkinson Hall, Room 2125
  • Number of Units: 4
  • Section ID: 801101
  • Lectures: Tuesday and Thursday, 2:00pm-3:20pm at WLH 2208
  • First lecture: Tuesday, January 7th, 2014
  • Homework: programming assignments
  • Research paper presentation
  • Designated computer lab for this course: CSE 260, even-numbered PCs have device drivers
  • TA: Matteo Mannino (mtmannin at eng.ucsd.edu), Office hours: Tue+Thu 6:30-9:30pm (CSE lab 260)
  • Tutor: Thinh Nguyen (thn024 at ucsd.edu), Office hours: Thu 3:30-6:30pm (CSE lab 260)


Assignment 1 (group) 20%
Assignment 2 (group) 20%
Assignment 3 (group) 20%
Paper Presentation (individual) 15%
Assignment 4 (group) 25%

You will find your scores on Ted. Please verify after every due date that your score has been recorded correctly.

If your weighted average score across all assignments is 100 points or more, you will get a grade of A+.

Final Project

There will not be a final exam, but the last programming project will be presented to the entire class during our final exam slot on Thursday between 3 and 6pm.


3dui-textbook-200p.jpg Bowman, Kruijff, LaViola, Poupyrev
3D User Interfaces: Theory and Practice
Addison Wesley Longman Publishing Co., Inc. Redwood City, CA, USA 2004
ISBN: 0201758679

Homework Assignments

All homework assignments are due at 1:30pm on the due date and have to be demonstrated to the instructor, TA or tutor in CSE lab 260.