CSE165W2016

From Immersive Visualization Lab Wiki
Revision as of 22:04, 4 January 2016 by Jschulze (Talk | contribs)

Jump to: navigation, search

Contents

CSE165: 3D User Interaction

Description

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. 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 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 projects. These devices will include the Microsoft Kinect, the Razer Hydra, the Leap Motion, the zSpace, and the Sony Move. We will use either Unity 3D or the C++ programming language and OpenGL, along with physics simulation libraries.

Kinect-for-windows.jpg Hydra.jpg Leap.jpg Zspace.jpg Move.jpg
Microsoft Kinect Razer Hydra Leap zSpace Sony Move

Course Schedule

Click here for the course schedule.

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

Topics

  • 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

Prerequisites

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

Format

  • Instructor: Dr. Jürgen Schulze
  • Instructor's office hour: Tuesdays 10-11am, Atkinson Hall, Room 2125
  • Number of Units: 4
  • Section ID: 861006
  • Lectures: Tuesday and Thursday, 11:00am-12:20pm at WLH 2205
  • Homework Discussion: Every other Monday 6-6:50pm at WLH 2204 (starting January 11th)
  • First lecture: Tuesday, January 5th, 2016
  • Homework: programming assignments
  • Research paper presentation
  • Piazza page: TBD
  • Designated computer lab for this course: CSE 220
  • TA: Ching (Alex) Lee, office hours to be posted on Piazza
  • Tutors: David Nuernberger and TBD, office hours to be posted on Piazza

Grading

Assignment 1 (group) 15%
Assignment 2 (group) 15%
Assignment 3 (group) 15%
Assignment 4 (group) 15%
Assignment 5 (group) 25%
Paper Presentation (individual) 10%
Pop Quizzes 5%

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

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, March 17th between 11:30am and 2:30pm.

Textbook

The textbook is recommended, but not mandatory as the lecture slides will be made available after each lecture and there will not be reading assignments. Occasionally the lecture slides will be available before the lecture, but you can always use last year's slides if they are not - this year's will differ but not dramatically.

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 to be done in teams of two. They are due at 2:00pm on their respective due date (as listed on the course schedule) and have to be demonstrated to the instructor, TA or tutor in CSE lab 220 during grading time (Fridays 2-3:30pm). If someone absolutely cannot present on the due date, they need to arrange for an alternate time for grading by sending email to the instructor. It is sufficient for one of the team members to be present during grading time. All homework projects are due on their due dates, late submissions will not be accepted.

The homework projects can be done in Unity 3D, the [Unreal Engine https://www.unrealengine.com], or in C++ with OpenGL or OpenSceneGraph, and the Bullet physics engine.


Resources