CSCI 255 Virtual Environments

Fall 2019

Section 01

Meeting Time/Place:      MWF 2-2:50PM, Fitzelle 254

Prerequisites:                CSCI 116, or permission of the instructor

Office:                          231 Fitzelle Hall

Phone:                          436-3439

Email:                          allisodl (at) oneonta.edu

Office Hours:                 MF 5pm, MWF 6pm

                                    Others by appointment (or just drop by)

 

Text and Software:  Virtual Reality Technology, by Burdea and Coiffet, published by Wiley, copyright 2003, ISBN 978-0-471-36089-6 is the required textbook.  In addition, we will be using various software packages including modeling software and VR toolkits, the Unreal Engine, Unity, Blender, and Maya, along with head mounted displays, orientation trackers, position trackers, hand trackers, etc.

 

Course Description (from the online catalog):  An overview of virtual environments and their uses.  Covers the history of virtual reality, the requirements for a virtual environment, the technologies used, and application areas.  Students will experiment with existing virtual environments and build their own as part of the course.

 

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.

1.      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.

2.      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.

3.      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 are due the last day of class, and will be presented to the class during the final exam period.

 

Tentative Schedule:

 

 

 

 

Dates

Monday

Tuesday

Wednesday

Thursday

Friday

19-23 August

National Potato Day

World Mosquito Day

National Spumoni Day

Orientation & Registration

National Tooth Fairy Day

Last Day to Register

26-30 August

Classes Begin

Add/Drop Begins

National Dog Day

Global Forgiveness Day

Race Your Mouse Day

 

College closes after last class

Toasted Marshmallow Day

2-6 September

BREAK

Labor Day

Everything closed

Add/drop ended yesterday

VJ Day

Classes resume

Skyscraper Day

 

Be Late For Something Day

December graduation diploma application due

Rea a Book Day

9-13 September

Last day to add a full semester course

Teddy Bear Day

Swap Ideas Day

No News is Good News Day

National Video Games Day

Blame Someone Else Day

National Peanut Day

16-20 September

National Play Doh Day

Papers Due

Paper Presentations

Constitution Day

National Cheeseburger Day

Paper Presentations

International Talk Like a Pirate Day

Paper Presentations

23-27 September

TAP certification begins

Autumn Equinox—Fall Begins

National Cherries Jubilee Day

National Comic Book Day

Johnny Appleseed Day

Native American Day

30 September –

4 October

 

International Day for the Elderly

National Custodial Worker Day

Techies Day

World Smile Day

7-11 October

Bald and Free Day

Yom Kippur

Moldy Cheese Day

National Angel Food Cake Day

College closes after last class

World Egg Day

14-18 October

BREAK

Columbus Day

BREAK

White Cane Safety Day

Classes resume

Dictionary Day

Interim progress reports due from faculty

National Pasta Day

No Beard Day

EXAM #1

Sample 2

21-25 October

Project Proposal

National Nut Day

 

National Bologna Day

Last day to drop a course

World Pasta Day

28 October –

1 November

 

 

National Candy Corn Day

Halloween

All Saint’s Day

4-8 November

King Tut Day

Daylight Saving Time Ended Yesterday…did you set your clocks back???

Guy Fawkes Day

Saxophone day

Bittersweet Chocolate with Almonds Day (YUM!)

Dunce Day

11-15 November

Spring pre-enrollment begins

Veteran’s Day

 

Sadie Hawkins Day

World Diabetes Day

Clean Your Refrigerator Day

18-22 November

Last day for students to make up an incomplete

Have a Bad Day Day

 

Great American Smokeout

EXAM #2

25-29 November

 

College closes after last class

BREAK

Last day to withdraw

BREAK

Thanksgiving

BREAK

Black Friday

2-6 December

Classes resume

National Fritters Day

Advent begins

 

Repeal Day

Put on Your Own Shoes Day

9-13 December

Last day for faculty to turn in incomplete grades

Last day of class

Turn in VR Projects

Christmas Card Day

Study day

8MWF

8-10:30 AM

11MWF

11 AM – 1:30 PM

VR

2MWF

2-4:30 PM

VR Presentations

 

8:30TR

8-10:30 AM

 

11:30TR

11 AM – 1:30 PM

2:30 TR

2-4:30 PM

9MWF

8-10:30 AM

Computing Technology

12MWF

11:00 AM – 1:30 PM

 

Linux

3MWF

2-4:30 PM

Ice Cream Day

16-20 December

10MWF

8-10:30 AM

Programming I

1MWF

11 AM – 1:30 PM

 

Operating Systems

4MWF

2-4:30 pm

National Chocolate Covered Anything Day

10TR

8-10:30 AM

1 TR

11 AM – 1:30 PM

4 TR

2-4:30 PM

National Maple Syrup Day

Bake Cookies Day

Look for an Evergreen Day

Go Caroling Day

http://www.holidayinsights.com/moreholidays/

http://www.oneonta.edu/admin/registrar/pdf_forms/springkeydates.pdf

 

 

 

 

 

 

 

 

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 Fall 2019

// Routines to integrate pinch glove with VR toolkit

// Author: Joe Student

// Team: Fred Foo, Jane Bar, and Jill Baz

// Date: 15 November 2019

//

// 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 DVD.

 

Grading and Other Administrivia:

Exams: There will be two midterms.  Each midterm will contribute 25% towards the final grade.

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 paper on that topic, and present that topic to the class.  This will contribute 25% towards the final grade.

Course project: The semester long course project will consist of either implementing a virtual world, or conducting experiments in VR, such as testing various grasping and manipulation techniques, or measuring latency, or working with spatial audio.  These projects will be turned in on a DVD the last day of class, presented to the class during the final exam period, and will count 25% of your grade.

 

Grade Computation:

 

Weight

Tentative Date

Exam #1

25%

11 October

Exam #2

25%

22 November

Term Paper

25%

16 September

Final Project

25%

9 December

Total

100%

 

 

 

Make-up Test and Late Assignment Policy:  Assignments are expected to be turned in by the end of class on the day they are due, and exams are to be taken on the announced date.  Emergencies do arise, however, and sometimes this is not possible.  If you find that you will have to miss an exam or turn in an assignment late, please let me know as soon as possible (preferably before the due date).  Allowances will be made for school approved excuses, such as illnesses, family emergencies, official school trips, etc.  Otherwise, a late penalty will be assessed on assignments turned in after the due date, and makeup exams will be at the discretion of the instructor.  The late penalty for assignments will be 50%, for the first week.  Any assignment turned in more than one week late will be recorded as a zero grade.

 

  All assignments must be turned in by the last day of classes for them to count toward the course grade.  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, Addison-Wesley, ISBN 978-0201325577, 1999.

Virtual Reality: Scientific and Technological Challenges, Nat Durlach & Ann Mavor, editors, National Academies Press, ISBN 978-0309051354, 1995.

Understanding Virtual Reality: Interface, Application, and Design, William Sherman & Alan Craig, Morgan Kaufmann, ISBN 978-1558603530, 2002

Developing Virtual Reality Applications: Foundations of Effective Design, Alan Craig, William Sherman and Jeffrey Will, Morgan Kaufmann, ISBN 978-0123749437, 2009.

Virtual Environments and Advanced Interface Design, Barfield & Furness, Oxford University Press, ISBN 978-038797720, 1995.

A Hitchhiker’s Guide to Virtual Reality, McMenemy & Ferguson, AK Peters, ISBN 978-1568813035, 2007.

 

 

Sites of interest include sites for various VR toolkits such as:

Metis, http://www.csee.umbc.edu/~turner/metis/

Syzygy, http://syzygy.isl.uiuc.edu/szg/

WorldToolKit by Sense8, http://www.cs.princeton.edu/courses/archive/spr01/cs598b/papers/wtkr9.pdf

DIVE, http://dl.acm.org/citation.cfm?id=2062453

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.stereo3d.com/vfx3d.htm

Intersense, http://www.isense.com/         

Polhemus, http://www.polhemus.com/

Oculus Rift, https://developer.oculus.com/

VR Space, http://www.vrspace.org/

Vizard, https://www.virtalis.com/wp-content/uploads/flyer_vizard.pdf

 

 

 

Just for fun:  The following links might be of interest…

http://www.catb.org/jargon/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.

 

Emergency Evacuation:  The Evacuation Assembly Area for this course is in the quad, 50 feet from the building.  In case a prolonged building evacuation is required, you will be directed to the building Evacuation Site.  The Evacuation Site for this class is the lobby of IRC.  In any case, if a building evacuation occurs, stay together as a class so that we can determine that everyone has made it safely from the building.  Evacuation is to occur any time the fire alarm sounds, an evacuation announcement is made, or a university official orders you to evacuate the building.  After the building has been evacuated, it is not to be re-entered until University Police gives permission.  For more information about Oneonta emergency plans, visit http://www.oneonta.edu/security/documents/EmergencyEvacuationProcedures.pdf.

 

 

Required ADA Statement: Students Diagnosed with a Disability—All individuals who are diagnosed with a disability are protected under the Americans with Disabilities Act, and Section 504 of the Rehabilitation Act of 1973. As such, you may be entitled to certain accommodations within this class. If you are diagnosed with a disability, please make an appointment to meet with Accessibility Resources, 133 Milne Library, ext. 2137. All students with the necessary supporting documentation will be provided appropriate accommodations as determined by the Accessibility Resources Office. It is your responsibility to contact Accessibility Resources and concurrently supply me with your accommodation plan, which will inform me exactly what accommodations you are entitled to. You will only receive accommodations once you provide me with an Accessibility Resources accommodation plan. Any previously recorded grades will not be changed.

(Note: I have had cases where SDS told me they were no longer going to provide services that a student was entitled to, so be proactive and get all the paperwork done ASAP so that we can fight for your accommodations if we need to.)