• Blair MacIntyre,
    Office hours:  9:30-10:30 M, 4-5 Tuesday (TSRB 231)
  • No TA

General Infromation

  • Meet Mon/Wed 3:00-4:30 ES&T L1105
  • Textbook: 3D User Interfaces: Theory and Practice, by Bowman, Kruijff, LaViola and Poupyrev.
  • Other books of interest are listed on the references page
  • You are required to read and discuss papers in this class, and implement and discuss technical prototypes.  This class is a graduate class in Computer Science, and assumes the students have technical sophistication.  We will not be teaching and programming environments or SDK’s, but will assume students can learn the necessary tools on their own.


See the announcements area in T-Square!

Course Information


This course is an introduction to virtual environments, including virtual reality, augmented reality and multi-user online virtual worlds. Issues covered will include VR/AR technology, software design, 3D human-computer interaction, and application issues. The course is intended for graduate students in the CS program at Georgia Tech, especially PhD students. The goals of this class are:

  • To examine the computer hardware and software technology that is used to build virtual environments.
  • To learn about 3D human interaction techniques and issues in the context of virtual environments

The exact topics covered each week are listed on the schedule, but may change as we go along, depending on the interests of the class and the direction of discussions.  The general structure of the class (project deadlines, etc.) will follow the schedule, but the topics may evolve.


There are no specific listed prerequisites for this class. As a senior level graduate CS class in the Graphics area, and also the HCI area, you are expected to:

  • Have a solid understanding of 3D graphics. This class focuses on 3D interactive virtual environments. Your projects will use 3D graphics, and many of the papers and concepts relate to 3D systems.
  • Have a basic understanding of HCI and UI design. You will be implementing projects aimed at people, and reading papers containing user studies.
  • Have strong programming skills. The projects may involve significant programming. If you are not comfortable programming or picking up new languages and tools, you may have difficulty.
  • Read and discuss research papers. We will read multiple research papers each week, and discuss them in class. Each student will lead the discussion at least once during the semester.


We will read selections from Bowman et al’s 3D UI book.  We will also read research papers each week.  I will generally post the papers for each week at least one week in advance, and you should read them before the class they are due in.  The class will generally follow the structure of lecture/discussions of major topics on Mondays, and class-led discussions of specific research papers on Wednesdays.

The list of papers/books is long, and is a collection of many of the papers discussed or mentioned the last time the class was taught (in 2008).  You will not read all of these.  Rather, they are there for reference.  If you discover a book or paper you think is interesting, please add a reference to the comments section (along with a sentence or two as to why it’s interesting)!


The grade for the class will be computed as follows:

  • Class participation: 10%
  • Paper discussion: 10%
  • Projects and assignments: 60%
  • Exams: 20%

Late Policy

Late submission will have 25% taken off the grade immediately, and an additional 25% taken off for each additional day.  A day is 24 hours from the specific time the assignment is due (e.g., if something is due at 6am Monday, and it turned in at 6:01am Monday, it is 25% off;  if it’s turned in at 5:59am Tuesday, it’s 25% off but will be 50% off at 6:00am Tuesday).


The major activity of the class is centered around the group project (below), but there will be one or more individual assignments as well worth part of the 60% project grade.

Reports, Assignments and Paper Discussions

We will using a mixture of the blog and t-square for submitting deliverables.  For some deliverables, such as the discussions of papers, we will publish them publicly on the blog. For others, we will use the assignment mechanism of t-square.


The main assessment component of this class will be the semester-long project and the assignments. The project topic will have some flexibility, but will be centered around a multi-user, multi-display experience that includes both a mobile AR and desktop VR component.  You are expected to work in groups of two for the project.  The assignments will be individual. We will post more information on choosing and managing the projects, and how projects will be graded, on a dedicated project page on the blog.

Schedule of In-Class Activities

This course meets on Mondays and Wednesdays. Typically, the instructor will lecture on Mondays, and Wednesdays will be focused on discussing that week’s readings. However, be alert for changes to the schedule.


Attendance at all classes will be necessary for students to succeed in this course. Please show respect for the instructor and the other students by arriving on time and prepared.

Honor Code

All work in this course is to be your own, and the university honor code is in effect. Groups will collaborate on projects, but the other graded aspects of the course are based on individual work.