Columbia University
Department of Computer Science

COMS W4172: 3D User Interfaces and Augmented Reality

Spring 2013, Tu/Th 1:10–2:25pm, 633 SW Mudd

Prof. Steven Feiner 
feiner [AT] cs [DOT] columbia [DOT] edu
212-939-7083

The AR Racing Game is a augmented reality mod of the XNA Racing Game Starter Kit, created with Goblin XNA.

The driver must pass a sequence of waypoints on an optically tracked gameboard, avoiding obstacles.

Syllabus and assignments


Overview

3D user interfaces are already essential to fields as diverse as visualization and video games, and are becoming even more important as the major personal computer and smartphone user interfaces incorporate increasingly powerful 3D technology. COMS W4172 provides an introduction to this exciting way of interacting with computers, with an emphasis on methods for designing and developing effective 3D user interfaces. The course's name acknowledges the major role played in our projects by augmented reality—dynamically overlaying virtual media on our experience of the real world. We will explore:

Your grade will be based on:

The domain for your team project will be up to you. You can see screenshots of past team final projects and a video of our Spring 2012 team final projects.

There will be no final exam, but we hope you'll be having too much fun doing the final project to miss it.

Prerequisites are one of the following:

Please don't hesitate to talk with me to find out if this is the right course for you! Prior familiarity with the 3D math used in COMS W4160  will be helpful, but is not required: the course will include a review of the 3D math needed to understand the material and do the assignments.

Professor

Steve Feiner (feiner [AT] cs [DOT] columbia [DOT] edu) is a Professor of Computer Science and director of the Computer Graphics and User Interfaces Lab. He is interested in most aspects of computer graphics and user interfaces, with special emphasis on interactive 3D user interfaces, augmented reality, wearable and mobile computing, knowledge-based design of graphics and multimedia, virtual environments, computer games, and information visualization (i.e., "fun stuff"). His office is 609 Schapiro CEPSR (212-939-7083), where he will hold office hours Monday and Wednesday 1–2pm (other hours by appointment). If he's not in his office, try his lab across the hall (6LE3 Schapiro CEPSR), where you can find members designing experimental 3D (and 2D) user interfaces. He will usually stay after class for as long as it takes to answer any questions you have.

Teaching Assistants

Mengu Sukan (mengu [AT] cs [DOT] columbia [DOT] edu) is a Ph.D. student in Computer Science, working with Steve as a member of the Computer Graphics and User Interfaces Lab. His research interests include 3D user interfaces, mobile augmented reality, information visualization, intelligent systems, and optimization. He has a M.S. in Computer Science from Columbia University, and a B.S. in Industrial Engineering from the University of Wisconsin at Madison. He will hold office hours Tuesday and Thursday 6–7pm in 6LE3 Schapiro CEPSR (212-939-7101).

Carmine Elvezio (ce2236 [AT] columbia [DOT] edu) has an M.S. in Computer Science from Columbia. He has been working with the Computer Graphics and User Interfaces Lab on several augmented reality research projects. He has experience in multicore and GPU development, as well as low-level code optimization, and holds a B.S. in Computer Science from the Polytechnic Institute of New York University. He will hold office hours Monday and Wednesday 6–7pm in 6LE3 Schapiro CEPSR (212-939-7101)

TA's wiki site

Text

D. Bowman, E. Kruijff, J. LaViola Jr., and I. Poupyrev. 3D User Interfaces: Theory and Practice. Addison-Wesley, Boston, 2005, ISBN 0-201-75867-9 [required].

Computing Environment

For those assignments that involve programming, you will be using our Goblin XNA infrastructure, which supports the development of 3D applications for desktop, hand-held, and head-worn displays, including augmented reality, in which the user's view of the surrounding real world is integrated with overlaid 3D graphics. The version of Goblin XNA that you will be using is built on XNA Game Studio 4.0 in combination with a variety of supporting packages, including the ALVAR vision-based 3D tracking system. This year we will do  some of our development on Nokia Lumia smartphones running Goblin XNA under Windows Phone. More info will be available shortly.

Rules of the Game

You are responsible for all material covered in class and all the assigned reading listed in the syllabus, including any changes or additions announced in class. If you miss a class, please talk to someone who didn't. (Copies of each class's slides will be linked to the syllabus.)

Course material will be found on the web through CourseWorks, and the syllabus and assignments will be linked through http://www.cs.columbia.edu/graphics/courses/csw4172/.

Submission Policy

Each assignment should be submitted electronically through CourseWorks, before the beginning of the class (1:10pm) on the day the assignment is due. If you don't submit an assignment on time, the following lateness policy applies.

Lateness Policy

All assignments are due at 1:10pm on the scheduled due date before, not during or after, class. To make the deadlines more manageable, each student will be allowed four "late days" during the semester for which lateness will not be penalized. However, no late days may be applied to the final project, and only one late day may be applied to the first assignment. Otherwise, your four late days may be used as you see fit.

Anything turned in past the start of class until midnight the next day is one day late. Every (partial) day thereafter that an assignment is late, including weekends and holidays, counts as an additional late day.

Absolutely no late work will be accepted beyond that accounted for by your late days. If you're not done on time, please be sure to turn in whatever you have completed on time to receive partial credit. Now, please go back and read this section over again!

Academic Honesty Policy

This course will follow the Department of Computer Science Policies and Procedures Regarding Academic Honesty. Collaboration on any assignment (except as an approved part of group projects) is, as in all Columbia courses, strictly prohibited. Infractions will be reported to the Department of Computer Science Academic Committee and referred to the Deans.

Syllabus and assignments