CS 8721 (Spring 2007) - Advanced Computer Graphics/Human Computer Interaction: The Reality of Virtual Reality

Course Syllabus

Location: HH 306
Time: 3:00-4:40pm M/W
Instructor: Pete Willemsen
Office Hours: 10:00am-12:00pm T/Th

Class WebDrop

Recent Updates and Information...
Important notices, dates, and other information will be posted here.

Slides can now be accessed through the resource index.

Course Description

This course will introduce students to the software algorithms, hardware components, and concepts necessary for building and evaluating virtual environments for effective human-computer interaction. Students will investigate the visual, auditory, haptic, and mechanical aspects that make virtual reality possible. To complement the technology that is required for interaction with virtual environments, students will also be exposed to the psychology and perceptual components that are used to evaluate, understand, and construct effective human-computer interaction with a virtual environment. Students will read and discuss current research papers, implement various software algorithms essential for interaction, and build and evaluate a virtual environment application.

Course Goals

The goal of the course is to provide graduate students with a solid understanding for what it takes to build effective human-computer interaction in virtual environments. To achieve this goal, students will be introduced to the technology behind virtual environments, focusing on visual, auditory, haptic, and mechanical issues necessary for virtual environments. The technology component will be leveraged with a perceptual component focusing on how the technology affects human performance in virtual spaces.

Students will read approximately 2-3 research papers each week and be expected to participate in class discussions relating to the research. Students may also be required to read from the text book (if one is used) to supplement any necessary material. To facilitate course discussion, students will compose a thought paper for each reading that summarizes the concepts in the readings bringing up interesting points for discussion, as well as questions about the readings. Students will also be required to work on programming assignments related to the course.

Readings

A standard text book is not required for this course. We will rely on lectures and assigned readings to develop our understanding of human computer interaction in virtual environments.

Class Requirements

There will be several programming assignments in the course along with a project, a mid-term, a final exam, and much class participation.

1. Programming Assignments (20%) - There will be around 3-5 assignments given over the first half of the semester. Programming assignments should be coded in C++ and submitted to the online webdrop. All programming assignments are meant to be done by each person in the class. You must do your own work on these assignments and do not collaborate with other people in the class or outside of it. Also note that if you turn in code that is not your own (e.g. taken from a book, copied from someone else, used from an online source, or written by someone other than yourself), you WILL receive a zero on the assignment and may be subject to harsher University rules and regulations. I will be using Moss (and other online systems) for detecting software plagiarism. You have been warned.

2. Project (25%) - A final project will be assigned and may be a group project (groups of 2 or 3 at most). The final project is a large programming assignment and will allow you to explore a large range of human computer interaction issues in virtual environments. You and your group will demonstrate and discuss your project at the end of the semester and also turn in a final report. The final report will discuss the problem, the solution you implemented, how well the solution you implemented solves the problem, and how the work relates to similar research efforts. As with the programming assignments, you absolutely MUST do your own work. Any cheating or plagiarism will result in an immediate zero on the project with potential university intervention.

3. Mid-term Exam (20%) - The mid-term exam will cover the material from the first half of the course. The mid-term exam is tentatively set for March 7, 2006.

4. Final Exam (20%) - The final exam will cover the material from the second half of the course, but will also be comprehsive and cover issues from the first half of the semester. There are no excuses for missing the final!

5. Class Discussion (15%) - Each week, we will read 1-2 papers. These papers will be discussed in class on the following Monday. Prior to class discussion on Monday, a thought paper (for each reading) will need to be turned in that discusses the concepts and interesting points in the reading. Do not simply reiterate the points of the paper. I expect that thought papers will summarize the reading and results, critique the work, and bring up interesting ideas or questions for discussion.

Policies

Missed Classes
Students are responsible for what goes on in class, including lecture material, handouts, and turning in assignments. If you are unable to attend class it is your responsibility to obtain copies of class notes and any materials distributed in class. You may turn in copies of assignments early.

Missed Exams
No exam will be given early. Exams can be made up only in the case of emergencies such as severe illness or death in the immediate family. You must contact the instructor at least 24 hours in advance in order to arrange a makeup.

Assignments
All assignments will be due in the web drop on or before the due date. Late assignments will be given a ZERO. To turn in an assignment, submit files via the class web drop (ASCII text, PDF, or Word documents will be accepted). A link to the webdrop is located at the top of this document.

Cheating
Programming and homework assignments absolutely must be your own work. You may discuss general, high-level, or conceptual issues with other students, but should not discuss actual code with others. Cheating is considered to be sharing code either by copying, retyping, looking at, or supplying a copy of a file. This includes grabbing code off the web!! I do expect you to be honest and I will respect you as a colleague until I am proven to be wrong. If you are having problems with an assignment, please come and see me or send me email. Do not copy other people's work!

Incompletes
I do not give incompletes, except for very serious, provable medical reasons.

Equal Opportunity
As instructor I shall make every attempt to treat all students equally, without regard to race, religion, color, sex, handicap, age, veteran status, or sexual orientation. I encourage you to talk to me about your concerns of equal opportunity in the classroom. To inquire further about the University's policy on equal opportunity, contact the Office of Equal Opportunity (6827), 269-273 DAdB.

Students With Disabilities
If you have any disability (either permanent or temporary) that might affect your ability to perform in this class, please inform me at the start of the semester. I may adapt methods, materials, or testing so that you can participate equitably. To learn about the services that UMD provides to students with disabilities, contact the Access Center (8727), 138 Kirby Plaza, or the Office of Equal Opportunity (8217), 269-273 DAdB.

Course Calendar

week date topic info readings hw
1 1/17
Intro to VR, VR History
2 1/22
What is VR, Lab Demo, Applications

1/24
Virtual Worlds, Second Life
3 1/29
Visuals: Computer Graphics Review

1/31
Scene Graphs, OpenSceneGraph
4 2/5
Visuals and Human Perception

2/7
Perception cont'd., Display Devices

Cutting,
Wanger,
Sutherland

5 2/12

2/14
Display Devices cont'd.
6 2/19
Tracking

2/21
Tracking Hands, Gestures
7 2/26
Hybrid Inertial-Acoustic Tracking

2/28
Physics, Dynamic Environments, Autonomous Agent Simulation
8 3/5
Agent Simulation Techniques

3/7
Mid-Term Exam
 
9
3/12
Spring Break - No Class

3/14
Spring Break - No Class
10 3/19
Haptics, Force Feedback

3/21
Project work
11 3/26
Haptics Discussion, Interaction

3/28
VR Lab Software
12 4/2
Interaction in Virtual Spaces

4/4
Interaction Techniques, Project Work
13 4/9
Interaction

4/11
Interaction Discussion
14 4/16
Paper Discussion

4/18
Project Work
15 4/23
Office of the Future - Augmented Reality

4/25
Project Work
P1,
P2
16 4/30

5/2
17 5/7 - 5/11
Finals Week - Final Project Presentations