CS 8561 (Fall 2009) - Human Computer Interaction: The Reality of Virtual Reality

Course Syllabus

Location: MWAH 175
Time: 4:00-5:40pm M/W
Instructor: Pete Willemsen, with additional expertise from Frank Steinicke of the University of Munster in Germany.
Office Hours: 1:00pm - 2:00pm Mon, Tue, Wed

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.

In addition to the required books, students will read research papers and be expected to participate in class discussions relating to the research papers. 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.

Required Reading

OpenGL SuperBible: Fourth Edition, by Richard S. Wright, Jr., Benjamin Lipchak, and Nicholas Haemel.

This book is meant to help you understand the essentials of programming real-time interactive graphics applications. Pay attention to the Moodle for the weekly readings.

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 several programming assignments (sometimes weekly) given over the course of the semester. Programming assignments need to be coded in C++ and submitted to course Moodle. 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. The final project is a large programming assignment and will allow you to expand on the efforts made during the individual programming projects. All final projects will be demonstrated and presented at the end of the semester. You will also need to 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 Oct 20.

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%) - We will read research papers and discuss them in class. Prior to class discussion, 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. In addition, we will have online discussions, polls, and other exercises on the course's Moodle. You are expected to particpate in those activities as well.

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!

Student Conduct
The instructor will enforce and students are expected to follow the University's Student Conduct Code (http://www.d.umn.edu/assl/conduct/code). Appropriate classroom conduct promotes an environment of academic achievement and integrity. Disruptive classroom behavior that substantially or repeatedly interrupts either the instructor's ability to teach, or student learning, is prohibited. Disruptive behavior includes inappropriate use of technology in the classroom. Examples include ringing cell phones, text-messaging, watching videos, playing computer games, doing email, or surfing the Internet on your computer instead of note-taking or other instructor-sanctioned activities.

Academic Integrity
Academic dishonesty tarnishes UMD's reputation and discredits the accomplishments of students. UMD is committed to providing students every possible opportunity to grow in mind and spirit. This pledge can only be redeemed in an environment of trust, honesty, and fairness. As a result, academic dishonesty is regarded as a serious offense by all members of the academic community. In keeping with this ideal, this course will adhere to UMD's Student Academic Integrity Policy, which can be found at www.d.umn.edu/assl/conduct/integrity. This policy sanctions students engaging in academic dishonesty with penalties up to and including expulsion from the university for repeat offenders.

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.