CSCI 394 Special Topics: Virtual Reality

Spring 2009

Section 02

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

Background email assignment due

 

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

VR Paper & Presentation Topic 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

Weekly Progress Report due

 

 

Read Chapter 4, Building a Practical VR System

Feb 9-Feb 13

Weekly Progress Report due

 

TAP Certification begins

EXAM #1

Sample exam

Feb 16-Feb 20

President’s Day

Weekly Progress Report due

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

Weekly Progress Report due

 

 

 

Read Chapter 6, A Pocket 3D Theory Reference

Mar 9-Mar 13

Daylight Savings Time started yesterday morning…did you set your clock ahead?

Weekly Progress Report due

Purim

Interim grades due from faculty

 

Read Chapter 7, The Rendering Pipeline

Mar 16-Mar 20

Weekly Progress Report due

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

Weekly Progress Report due

EXAM #2

Mar 30-Apr 3

Weekly Progress Report due

 

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

Paper and PowerPoint draft due

Weekly Progress Report due

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

Weekly Progress Report due

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, Jane Bar, and Jill Baz

// 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 11:59PM on their due date, and any turned in after that time but before midnight of the next class meeting day will be assessed a 10% penalty.  After midnight of the next class meeting day, the penalty will be increased to 20%, and so on up to a maximum penalty of 50%.  All assignments must be turned in by the last day of classes for them to count toward the course grade.  You should plan to be present for all the tests and the final exam.  Any makeups will be allowed only for legitimate, school-approved excuses, and should be arranged with the instructor as soon as possible after you discover you can’t attend the exam (before the exam is given whenever possible).  In any case, all work must be completed by the last class, including any makeup exams.  Exams missed for unexcused absences, or exams not made up by the last day of classes will be recorded as a zero grade.

 

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.