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 |
21-25
October |
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,
//
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.)