CSE 366 -- Introduction to Virtual Reality

Spring 2024 | Tues & Thus: 5:30 - 6:50 p.m. | Old CS 2311

Instructor: Saeed Boorboor (sboorboor [AT] cs.stonybrook.edu)

Office Hours: Tues & Thus 4:00 - 5:25 p.m., NCS Room 369





Course Updates:

Course Overview

The course will cover VR fundamentals and technologies, including an introduction to VR, VR display systems, geometry and transformations in VR, viewing and projections, light, optics and human vision physiology, temporal human vision and perception, motion, vection and tracking, 3D user interfaces (selection, manipulation, and navigation), augmented reality (AR), non-visual human senses in VR, and applications and principles of content creation in VR. The topics covered are explained through the use of real-life applications of VR systems in entertainment, game design, engineering, science, and medicine.

Prerequisites:

  • CSE 328 or CSE/ISE 332 (required)
  • Coding experience

Course Outcomes:

  • An understanding of VR fundamentals such as geometry and transformations, light and optics, and sensors and tracking.
  • An ability to develop VR technologies and applications and also use them for 3D user interfaces, and augmented reality (AR).
  • An understanding of human vision physiology and perception, and non-visual senses.

Instructor and TAs:

Instructor:

Saeed Boorboor
sboorboor [at] cs.stonybrook.edu
www3.cs.stonybrook.edu/~sboorboor
Office Hours: Tues & Thus: 4 - 5.20 p.m. | NCS 369

TAs:

Sijie Ding (Ph.D. TA)
sijding [at] cs.stonybrook.edu
Office Hours: TBD (email in the meantime for appt.)

Vedant Prakash Sawant (MS TA)
vsawant[at] cs.stonybrook.edu
Office Hours: Tues & Thus: 7 - 8 p.m. | NCS 109 or Zoom

Syllabus and Assignments Schedule

Syllabus:

See Spring 2024 Syllabus and Schedule

*All lecture slides will be available for viewing by the course students on Google Drive before the exans.

Textbooks:

  • Steven M. LaValle. Virtual Reality. Cambridge University Press, 2017. Available for free downloading at http://lavalle.pl/vr/ [required readings].
  • Jason Jerald. The VR Book: Human-Centered Design for Virtual Reality. Association for Computing Machinery. ISBN:978-1-970001-12-9, 2015 [recommended for some lectures].
  • J. LaViola Jr., E. Kruijff, R. McMahan, D. Bowman, and I. Poupyrev. 3D User Interfaces: Theory and Practice, 2nd Edition. Addison-Wesley, Boston, 2017, ISBN-13 978-0-13-403432-4 [recommended for some lectures].
  • D. Schmalstieg and T. Höllerer. Augmented Reality: Principles and Practice. Addison-Wesley, Boston, 2016, ISBN-13 978-0-32-188357-5 [recommended for some lectures].
** Additional reading materials will be announced online and in class, as necessary.

Assignments:

There will be 3 assignments + 1 warm up assignment. They will be posted here (in addition to Brightspace) once released. Each assignment is worth 20% of the final grade.

Hardware requirements:

Each student is required to have the following hardware to implement the four assignments:

  1. For assignments 0, 1, 2, you will require:
    1. A programmable smart phone or tablet with cameras (e.g., Android version 6.0 or higher or iOS version 13.0 or higher, supporting Bluetooth 3.0 or above)
    2. A basic headset that will hold your smartphone (or tablet), such as Google Cardboard or do-it-yourself Google Cardboard. Additionally, below, we have listed links to VR headsets with phone inserts that are more sturdy than a Google Cardboard.
  2. For assignment 2, “3D user interfaces” you will need a VR gamepad controller (suggested devices purchasable from Amazon provided below)

Suggested hardware:

**Please note that the hardware listed above have been tested out and thus suggest for purchase. You may search online for alternatives. However, it is strongly suggested that you carefully check the compatibility information (i.e., application platform and Bluetooth version) of the devices before you pay for them.

Additionally, following are some leading VR HMDs if you wish to buy:

**Note: these are just suggestions for personal use. You may use them for your assignments but they are not required as part of the course.

Software requirements:

The software environment for all your assignments is Unity. Unity is a cross-platform open-source game engine developed by Unity Technologies; as of today it supports more than 19 platforms. Unity can be used to create both three-dimensional (3D) and two-dimensional (2D) games and virtual reality (VR) environments as well as simulations or emulations for its many platforms, including hand-held, head-worn, stationary displays, and desktops. Basic version of Unity is free and sufficient for all assignments.

In Assignment 3, Augmented Reality (AR) assignment, the surrounding real world is overlaid with the computer-generated imagery. To support AR, Unity’s AR Foundation will be used. It is a framework for AR application development of various mobile environments. It uses computer vision technology to recognize and track in real-time 3D simple objects and image targets, enabling the registration of the real world and virtual objects. AR Foundation enables the development of applications in both iOS and Android and is easily portable to both platforms. Assignment 0 (with 5% credit) is a basic assignment in Unity, a mini tutorial for Unity, just to get you started. Assignment 0 is already available, you can start working on it now. A Unity tutorial and help session of is scheduled for January 2023 during class time, and anothe tutorial session for AR Foundation and a help session is scheduled for April 2023 during class time (see syllabus).





Grading:

Following is the breakdown for the course grade:

  • 3 individual assignments (20% each) and a warm-up assignment (5%): 65%
  • 2 midterm exams (15% each): 30%
  • Attendance: 5%

Course Policies:

The student is responsible for all the material mentioned in class (either by the instructor or during discussions) and all the assigned readings announced in class and/or listed online. Therefore, students are expected to attend every class. If you miss one class, please talk to those who attended to catch up with the course material. Note that additions or changes may be announced from time to time in class and/or on the web. All the course material will be on the course website http://www.cs.stonybrook.edu/~cse366/ or on Google Drive as will be announced from time to time. Class announcements will be found on Brightspace.

Assignments Submission Policy
All 4 assignments (0-3) should be submitted electronically through Brightspace, before the deadline on the respective day at 11:59 PM (Stony Brook Time). It is your responsibility to verify that the upload was successful and you received a proper grade for your assignment. No extensions will be given. You may submit an assignment late, however, with a 10% deduction penalty per each late day, imposed precisely at each midnight following the due date. Therefore, please start working on each homework immediately after it is assigned. In addition, please upload your work as soon as it is complete and you can then upload a refined version close to the deadline. Each assignment will have its own specific instructions for submission.

Student Attendance and Engagement
Students are expected to attend every class, report for examinations and submit major graded coursework as scheduled. If a student is unable to attend lecture(s), report for any exam or complete major graded coursework as scheduled due to extenuating circumstances, the student must contact the instructor by email as soon as possible. Students may be requested to provide documentation to support their absence and/or may be referred to the Student Support Team for assistance. Students will be provided reasonable accommodations for missed exams, assignments or projects due to significant illness, tragedy or other personal emergencies. In the instance of missed lectures or labs, the student is responsible for reviewing posted slides, seeking notes from a classmate or identified class note taker, and other instructions given in class from time to time. Please note, all students must follow Stony Brook, local, state and Centers for Disease Control and Prevention (CDC) guidelines to reduce the risk of transmission of COVID.

Student Accessibility Support Center Statement
If you have a physical, psychological, medical, or learning disability that may impact your course work, please contact the Student Accessibility Support Center, Stony Brook Union Suite 107, (631) 632-6748, or at sasc@stonybrook.edu. They will determine with you what accommodations are necessary and appropriate. All information and documentation is confidential.

Critical Incident Management
Stony Brook University expects students to respect the rights, privileges, and property of other people. Faculty are required to report to the Office of University Community Standards any disruptive behavior that interrupts their ability to teach, compromises the safety of the learning environment, or inhibits students' ability to learn. Faculty in the HSC Schools and the School of Medicine are required to follow their school-specific procedures. Further information about most academic matters can be found in the Undergraduate Bulletin, the Undergraduate Class Schedule, and the Faculty-Employee Handbook.

Academic Integrity Statement
Each student must pursue her/his academic goals honestly and be personally accountable for all submitted work. Representing another person's work as your own is always wrong. Faculty is required to report any suspected instances of academic dishonesty to the Academic Judiciary. Faculty in the Health Sciences Center (School of Health Technology and Management, Nursing, Social Welfare, Dental Medicine) and School of Medicine are required to follow their school-specific procedures. For more comprehensive information on academic integrity, including categories of academic dishonesty please refer to the academic judiciary website at http://www.stonybrook.edu/commcms/academic_integrity/index.html
Note that plagiarism and cheating is immoral and dishonest and will not be tolerated. Specifically, for this course we will follow the Department of Computer Science Policies and Procedures regarding Graduate Academic Honesty. Collaboration on any assignment is strictly prohibited and the student who will violate any of the Graduate Academic Honesty policies and procedures will fail the course and/or be dismissed from the University. Furthermore, if you use your private or public web resources, such as your webpages or GitHub to store course material for an individual assignment during the semester, you must use secure, restricted or private repositories.