From Immersive Visualization Lab Wiki
Jump to: navigation, search


CSE165: 3D User Interaction


This course teaches the design and evaluation of three-dimensional (3D) user interfaces and interaction techniques. The course consists primarily of lectures and hands-on programming projects. Students will be expected to implement several 3D interaction techniques as part of this course, using state of the art 3D input devices. The 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 reality 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 for the duration of the assignments. These devices will include the Oculus Rift VR HMD with Touch controllers and the Leap Motion gesture tracker. The assignments can be done in C++ with OpenGL, or in a VR authoring toolkit such as Unity 3D, Unreal Engine or Lumberyard. Most students use this course as an opportunity to learn Unity 3D.

Rift.jpg Touch.jpg Leap-on-rift.jpg
Oculus Rift HMD Oculus Touch controllers Leap Motion on Oculus Rift

Course Schedule

Click here for the course schedule.

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


  • 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


  • CSE167 (Introduction to Computer Graphics) or equivalent course or experience
  • Experience programming in C++ and with OpenGL, or experience with Unity 3D, Unreal Engine or Lumberyard


  • Instructor: Dr. Jürgen Schulze
  • Instructor's office hour: Tuesdays 3:30-4:30pm, Atkinson Hall, Room 2125
  • Number of Units: 4
  • Section ID: 961545
  • Lectures: Tuesday and Thursday, 2:00-3:20pm at B210 in EBU3B (student VR lab)
  • Homework Discussion: starts Monday, January 14th
  • First lecture: Tuesday, January 8th, 2019
  • Homework: programming assignments
  • Piazza page: https://piazza.com/ucsd/winter2019/cse165/home
  • Designated computer lab for this course: CSE B210
  • TA: Jimmy Ye
  • Tutors: Weichen Liu, Ziyang Li


Project 1 15%
Project 2a 10%
Project 2b 10%
Project 3 15%
Final Project 25%
Midterm 20%
Video Presentation 5%

You will find your homework and other scores on TritonEd. Please verify a few days after after every due date that your score has been recorded correctly and inform your grader if you find an error.

There will be no assignment or indication of letter grades corresponding to scores on the individual exams and homework projects. The final grade depends on a weighted average of all the scores. The following grading key will be used:

Final Score Letter Grade
100+ A+
95+ A
90+ A-
85+ B+
80+ B
75+ B-
70+ C+
65+ C
60+ C-

For undergraduate students with the P/NP option: A pass (P) grade will be given for an average score of 60 or higher.

For graduate students with the S/U option: A satisfactory (S) grade will be given for an average score of 75 or higher.

Homework Assignments

The following links will become active once the homework projects have been posted on line:

Projects 1, 3 and the final project are projects for teams of two. Projects 2a and 2b are solo projects - team work is not allowed.

All projects must be demonstrated to the course staff on or before the due date. There is a dedicated grading session on Fridays at 3pm in CSE B210. You also need to submit those files essential to recreate your project to TritonEd as well, by the deadline of Friday 3pm.

If you can't finish your project by the due date, you can submit on the following Friday, but your score will be subject to a penalty of 25%.

If you decide to get graded before the due date, you can do this during any of the tutoring hours in the lab, but you only have one attempt at early grading. If you aren't happy with your grade from early grading, you have to wait until the official grading session on the due date to get graded. Note that you will then get graded on your entire project again, not just the part that was missing or incomplete.

Recommended Textbook

The textbook is highly recommended, but not required to do well in class. The lecture slides will be made available after each lecture and there will not be reading assignments. But the textbook can help understand many of the topics in greater depth.

3dui-textbook-v2-200p.jpg LaViola, Kruijff, McMahan, Bowman, Poupyrev
3D User Interfaces: Theory and Practice (2nd Edition)
Addison-Wesley Professional, 2017
ISBN: 978-0134034324

Students with Disabilities

If you have a documented disability, please bring your documentation to me as soon as possible so that I can make suitable accommodations for you. If you believe that you have a disability and desire accommodation, please register with the Office for Students with Disabilities.