Meeting Time/Place: MWF 10-10:50PM, Fitzelle 218
Prerequisites: Permission of the instructor
Office: 225 Fitzelle Hall
Phone: 436-3439
Email: allisodl@oneonta.edu
Office Hours: Wednesday 1:40-4pm
Friday 2:15-5pm
Others by appointment (or just drop by)
Text and Software: A Hitchhiker’s Guide to Virtual Reality, by McMenemy and Ferguson, published by A. K. Peters Ltd., copyright 2007, ISBN 978-1-56881-303-5. In addition, we will be using various software packages including Cinema 4DXL and BodyPaint 3D (both available in the Math/CS/Stat lab) and one of several VR toolkits, along with head mounted displays, orientation trackers, position trackers, hand trackers, etc.
Course Description (from the online catalog): Possible topics include Boolean algebra, computer arithmetic, optimization, numerical methods in ordinary and partial differential equations, automata theory, and artificial intelligence. May be repeated with new topics.
Course Description (the inside scoop): This course will examine the issues involved in the design and construction of virtual environments, and will explore when a virtual environment makes sense by studying several existing virtual environments. This course will integrate expertise from diverse areas such as computer science, computer art, psychology, and audio production, through a major project.
Course Goals: The purpose of this course is to introduce students to an application area of computer science that is on the leading edge of the field. In addition to providing knowledge of this fascinating and rapidly growing application area, a study of this subject will also help students to integrate their study of the disparate areas of computing such as networking, algorithms and data structures, computer graphics, human-computer interaction and user interface design, and digital and analog hardware, with application areas such as 3D modeling, audio production, etc. This course should enable students to begin to understand how the areas of computer science that were previously studied in isolation integrate together to form the whole of the subject area, and how knowledge from other areas of study couples with computer science to solve real-world problems, and to provide insight as to why computer scientists study the topics they do. Finally, this course will provide the opportunity to work on a large project that is more typical of what will be encountered after graduation than the “toy” projects encountered in previous courses.
Course Objectives: This course has three principal objectives. These are listed below, along with the techniques that will be used to measure their level of attainment.
· The student should have a grasp of the fundamental concepts of virtual reality, the problems specific to the area, the techniques that have been developed to solve those problems. This material will be presented in the lectures, supplemented by the textbook. Evaluation will be by two midterms and a final exam.
· The student should achieve familiarity with the sources of information about virtual reality, and should explore one aspect of the field in depth using the literature. This will be evaluated by a term paper to be written by the student on an approved topic, and by the presentation of that material to the class.
· The student should experience first-hand the practical issues involved in building a virtual environment. Like much of computer science, “the devil is in the details,” items that are easy to overlook when discussing virtual environments from a high level point of view. To ensure that students have a grasp of the practical problems that arise in virtual reality, students will work in small teams to implement an actual virtual environment. These environments will be presented to the class the last week of the semester.
Tentative Schedule:
|
Date |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
|
Jan 12-Jan 16 |
|
Last day
to register |
Classes
begin Add/drop
begins |
|
Read
Chapter 1, Introduction |
|
Jan 19-Jan 23 |
Martin
Luther King Day – admin offices open |
Add/drop
ends Last day
to sign up for P/F Inauguration
Day |
|
Read
Chapter 2, Human Senses & VR |
|
|
Jan 26-Jan 30 |
Chinese
New Year Project
Proposal due |
Last day
to add a full semester course |
|
Read
Chapter 3, Applications & Implications of VR |
|
|
Feb 2-Feb 6 |
Superbowl was
yesterday Groundhog
Day May
graduation application deadline |
|
|
Read
Chapter 4, Building a Practical VR System |
|
|
Feb 9-Feb 13 |
|
TAP
Certification begins |
EXAM #1 |
||
|
Feb 16-Feb 20 |
President’s
Day |
College
closes after last class Read
Chapter 5, Describing & Storing the 3D World |
|||
|
Feb 23-Feb 27 |
Graduate
admissions applications due Break |
Mardi
Gras Break |
Ash
Wednesday Break |
Break |
Break |
|
Mar 2-Mar 6 |
Classes
resume Summer
session registration begins Dr. Suess birthday Read
Across America Day |
|
|
|
Read
Chapter 6, A Pocket 3D Theory Reference |
|
Mar 9-Mar 13 |
Daylight
Savings Time started yesterday morning…did you set your clock ahead? |
Purim |
Interim
grades due from faculty |
|
Read
Chapter 7, The Rendering Pipeline |
|
Mar 16-Mar 20 |
St. Patrick’s Day |
|
LAST DAY
TO DROP A CLASS First
day of spring Read
Chapter 8, Computer Vision in VR |
||
|
Mar 23-Mar 27 |
EXAM #2 |
||||
|
Mar 30-Apr 3 |
|
April
Fools |
|
College
closes after last class Read
Chapter 9, Image-Based Rendering |
|
|
Apr 6-Apr 10 |
Break |
Break |
Break |
Break Passover |
Break Good
Friday |
|
Apr 13-Apr 17 |
Easter
Monday |
Last day
for students to make up I or P grades from fall 2008 Classes
resume |
Income
Taxes Due |
|
Last day
for faculty to turn in grades to replace I/P grades Read
Chapter 10, Stereopsis |
|
Apr 20-Apr 24 |
Begin fall
pre-enrollment Earth
Day Administrative
Professional’s Day |
Last day
to withdraw from college |
Arbor
Day Read
Chapter 11, Navigation and Movement in VR |
||
|
Apr 27-May 1 |
VR Topic
presentations |
|
VR Topic
presentations |
May Day VR Topic
presentations |
|
|
May 4-May 8 |
Project presentations |
Cinco de
Mayo National Teachers’ Day |
Last day
of class |
Final
Exams Begin 8-10:30am
TR10 11am-1:30pm
TR4 2-4:30pm
TR12 |
8-10:30am
MWF10 11am-1:30PM
MWF2 2-4:30pm
MWF12 Final Exam 8am |
|
May 11-May 15 |
Mother’s
Day was yesterday—did you remember?? 8-10:30am
MWF9 11am-1:30pm
MWF1 2-4:30pm
MWF11 |
Nurses’
Day 8-10:30am
TR8 11am-1:30pm
TR2 |
8-10:30am
MWF8 11am-1:30pm
MWF3 Final
Exams End |
|
Commencement,
Saturday May 16 Armed
Forces Day Saturday May 16 |
Attendance Policy: Attendance is STRONGLY encouraged. Attendance will be taken at random class meetings. All college policies regarding attendance will be followed. You will be responsible for material covered in the lectures in addition to the material in the text. In addition, we will be discussing the project in class as well as answering questions about the assigned material, so it is in your best interest to attend class as much as possible.
Collaboration Policy: Cheating or other academic dishonesty hurts others as well as yourself and will not be tolerated! Since one goal of this class is to provide you with experience with larger programming projects similar to those in the real world, like the real world it IS acceptable to collaborate with your classmates, under certain conditions. All work submitted on the exams should be yours and yours alone. It IS acceptable to work with your team members on your VR project, but your term paper and presentations should be your own work. Plagiarism can get you in trouble in the “real world”, and it will get you in trouble in this class. You should credit anything that you did not create yourself, and you should provide references to all sources from which you have borrowed ideas.
Programming Style Guidelines: Since this is an upper division course, it is expected that any programs you write will follow good programming style conventions. You should indent your code to reflect its internal structure. You should use block comments to explain what your code is doing at a high level. Each function should have a header that gives the function name, the inputs, the output(s), and lists any side effects, as well as providing a two or three sentence summary of what the function does. In addition, your main file should have a block header similar to the following:
//
CSCI 394 Virtual Reality Spring 2009
//
Routines to integrate pinch glove with VR toolkit
//
Author: Joe Student
//
Team: Fred Foo,
//
Date: 15 April 2009
//
//
These routines handle the basic interface functions required
to
//
integrate pinch gloves with the SVE toolkit.
See the individual
//
routine headers for inputs, outputs, and functionality
Your header should include the course name and number, your name, the names of your team members, the date, and a two or three sentence description of the purpose and function of the code.
Project Turn-in Procedure: In addition to keeping copies of your work on your P: drive or other personal space, you should have a copy of all the files you have created for turnin on CD.
Grading and Other Administrivia:
Exams: There will be two midterms and a final. Each midterm will contribute 10% towards the final grade, while the comprehensive final exam will contribute 15%.
VR topic term paper/presentation: Each student will select a topic in virtual reality, to be approved by the professor, and will research that topic. The student will write a term paper on that topic, and present that topic to the class. This will contribute 25% towards the final grade.
Course project: The rest of the final grade will be determined by the course project.
Grade Computation:
|
|
Weight |
Tentative Date |
|
Exam #1 |
10% |
February 13 |
|
Exam #2 |
10% |
March 27 |
|
Final Exam |
15% |
Friday, May 8, 8am |
|
Weekly Progress Reports |
10% |
Every Monday |
|
Paper & Project Proposal |
10% |
January 26 |
|
Term Paper/Presentation on VR Topic |
25% |
April 20 |
|
Final Project Presentation |
20% |
May 4 |
|
Total |
100% |
|
Make-up Test and Late Assignment Policy: Late assignments will be assessed a 10%
penalty for each class day that they are late.
Assignments are considered due by
Additional resources: for students wishing to explore further or to find answers to questions not covered in the text, there are several resources available. The following books are worth investigating, among others:
Networked Virtual Environments: Design and Implementation, Singhal & Zyda
Virtual Reality: Scientific and Technological Challenges, Nat Durlach & Ann Mavor, editors
Sites of interest include sites for various VR toolkits such as:
Metis, http://www.csee.umbc.edu/~turner/metis/
Syzygy, http://www.isl.uiuc.edu/syzygy.htm
WorldToolKit by Sense8, http://www.sense8.com/index.html
DIVE, http://www.sics.se/dive/
DIVERSE Toolkit, http://diversetoolkit.sourceforge.net/
VR Juggler, http://www.vrjuggler.org/
MAVERIK, http://aig.cs.man.ac.uk/maverik/
SVE, http://portal.acm.org/citation.cfm?id=1246876&dl=
DEVA, http://aig.cs.man.ac.uk/deva/
Alice, http://www.alice.org/
and sites with information about VR equipment or applications such as:
VFX3D, http://www.vuzix.com/home/index.html
Intersense, http://www.isense.com/
Polhemus, http://www.polhemus.com/
Just for fun: The following links might be of interest…
http://www.jargon.8hz.com/html/index.html
http://www.nd.edu/~ljordan/butterfly/shoot.html
Additional unique aspects of the course: Unlike more traditional memorize and regurgitate courses, this course has a strong hands-on learning, or learning by doing component, represented by the project. This enhances retention, reinforces understanding, and ensures that the student masters the material well enough to apply it to other areas. In addition, by working on a large application project, students will need to draw on all their previous coursework and integrate what they have learned in other courses together with the material covered in this course in order to be successful. In that sense, this is a capstone course, summarizing and integrating the material from previous courses and from diverse areas, illustrating how all the disparate areas of CS form a cohesive whole when working on real world projects.