Applications in Virtual Reality

4003 590-09 / 4005-769-09
Fall 2007


Instructor: Joe Geigel
Office: 70-3527
Office Hours: MW 2-4
E-mail: jmg@cs.rit.edu
URL: http://www.cs.rit.edu/~jmg/
Course URL: http://www.cs.rit.edu/~jmg/vr
Class Dates: MW 10-noon
Classroom:  70-ICL6

PREREQUISITE
: 4003-570/4005-761 Introduction to Computer Graphics/Graphics I  OR
                          4002-502  Foundations of 3D Graphics Programming OR
                          4002-735  3D Graphics Programming OR
                          Permission of Instructor


Description

The goal of this course is to introduce students to virtual reality hardware, software, and toolkits and provide an opportunity for them to apply this knowledge to a given problem domain. During the course, students will adapt and employ a distributed Virtual Reality (VR) system as an approach to a large-scale task in data exploration, interaction design, and immersive experience within the context of this domain.

The course uses a teambased structure where students are divided into a set of technical teams; each team tasked to build a smaller component, contributing to the larger task. At the end of the course, the components will be combined together to form a full system. The course is designed to not only provide students with knowledge and experience in using a distributed VR system, but also will expose students to the experience of working within and between technical teams in building a large software system. It is expected that each offering of the course may focus in a different problem domain.

This year, the focus of the course will be in the domain of theatre.  The overall goal of the course will be to adapt a gaming engine for theatrical purposes.

Students should have a strong programming background and a proficiency in a 3D API (OpenGL, DirectX, or Java3D).   Students with expertise in distributed systems or networking and an interest in Graphics or virtual reality are also encouraged to register.

Aesthetic elements will be designed and created by students from the School of Design and Visualization (CIAS) .

Textbooks

There are two textbooks  for the class, one required and one optional.

3D Programming

REQUIRED:

3D Game Programming All in One, Second Edition,  by Kenneth Finney, 
Course Technology PTR, ISBN 1598632663
Torque book
OPTIONAL:

The Game Programmer's Guide to Torque: Under the Hood of the Torque Game Engine by Edward F. Maurina III, 
AK Peters, Ltd., ISBN 1568812841

Learning Outcomes

  1. Describe the components of a distributed VR system and the latest advances in designing such components
  2. Apply knowledge in advanced graphics and distributed systems to the construction of a distributed VR system.
  3. Apply existing graphics/VR toolkits, APIs, and software packages in the construction of a large scale graphics project.
  4. Specify, design, implement, and document an integral component of a larger software project related to computer graphics and VR.
  5. Successfully participate in a team based project with responsibilities assigned within and between individual teams.

Requirements and Assessment

The primary learning component and means for assessment will be the software component that each team will design, build, and implement.    Each component will be defined with respect to the larger system and, as such, collaboration with other teams will be essential.

It is important that each team makes steady progress as the quarter advances.   With the goal of keeping the teams on track, each team will be required to give a short demo periodically during the quarter ("checkpoints")  illustrating the progress made    The part of the component that will be demoed at each checkpoint will be determined and defined, with a proposed timeline, by each team during the first weeks of the course. (Dates of checkpoint presentations are indicated in the SCHEDULE).   Intermediate deliverables will be required for each checkpoint.,

Each team is expected to build a Web page which will include documentation on the component as well as a running diary of progress made.    A list of teams, with links to each team's Web page will be listed in the TEAMS section of this Web site.  Graduate students are expected to act as team leaders, and will ultimately be responsible for final deliverables (including documentation) of the teams.

The final team deliverable will include the software produced as well as detailed documentation on the software component.  The documentation is as important as the component, since it is hoped that other students will build upon these components in future offerings of the course.   More information of the format of this documentation will be given as the course progresses.

The components will be individually graded and all team members contributing to a component will be given the same base grade.  
In order to assess students ability to work within and between teams, evaluations of teammates as well as peer review of teams will be required of students.

There will be a take home final exam which will serve as an after the fact evaluation of the teams, the production, and the course.  The class as a whole will provide a demonstartion of the intgrated system during finals week.

The final grade will be determined using the following weights:


Graduate  Undergraduate
Meeting Checkpoints (Team Grade)
25% 35%
Final Demonstration (Team Grade)
35% 40%
Peer Evaluations (Invidual Grade) 20% 25%
Leadership / Documentation (Grad only)
20%


Related Undergraduate Courses

4003 570    Computer Graphics I
4003 571    Computer Graphics II
4003 572    Computer Animation: Algorithms and Techniques

Computer Science Department Policy on Academic Dishonesty

Students are expected to maintain the highest standards of ethical behavior.
Those who behave in a dishonest or unethical manner in computer science courses, or in their dealings with the Computer Science Department, are subject to disciplinary action. In particular, dishonest or unethical behavior in the execution of assigned work in a computer science course will be treated as follows:

For a first offense the student involved will receive a grade of zero on the assignment. [A stronger penalty may be exacted if, in the judgement of the instructor, the offense involves a flagrant violation of basic ethical standards.]

For a second offense, in the same or a different course, the student will receive a failing grade for that course.

A third offense will be referred to judicial affairs.  
Furthermore, the following action will be taken for each person involved in the incident, whether currently enrolled in the course or not:

If the student is a computer science major, a letter recording the incident will be placed in the student's departmental file; otherwise, the letter will be forwarded to the student's department chair or program coordinator.
 


last updated 08/30/07