Feb 20, 2020  
2019 - 2020 Cowley College Academic Catalog 
2019 - 2020 Cowley College Academic Catalog



3 Credit Hours

Student Level:  

This course is open to students on the college level in either the Freshman or Sophomore year.

Catalog Description:

CIS1859 - Virtual Reality Programming (3 hrs.)

This course will prepare students to write basic games in the virtual reality environment. The topics will include virtual reality principles, performance, player input, game resources, particle effects, UI elements, audio, and graphics to simulate reality, multi-player networking, and publishing a virtual reality game.

Course Classification:






Controlling Purpose:

This course is designed to prepare students to write virtual reality programs.  The student will learn the various techniques to simulate reality in a game in order to foster the 3D look and feel of a virtual reality game.

Learner Outcomes:

Upon completion of the course, the student will be able to write virtual reality programs that include the game elements: performance, player input, game resources, particle effects, UI elements, audio, graphics to simulate reality, and multi-player networking.  In addition, the student will under the basic principles of virtual reality and publishing techniques.

Unit Outcomes for Criterion Based Evaluation:

The following outline defines the minimum core content not including the final examination period.  Instructors may add other material as time allows.

UNIT 1:   Virtual Reality Concepts

Outcomes:  Demonstrate knowledge of the basics of virtual reality, intent, vergence accommodation conflict, components of a virtual reality headset, constellation tracking, importance of input, and frame rates

  • Explain the concept of virtual reality
  • Describe the importance of intent in virtual reality design
  • Define vergence-accommodation conflict
  • List the components of a virtual reality headset
  • Explain constellation tracking, importance of input, and frame rates

UNIT 2:  Virtual Reality Configurations

Outcomes: Demonstrate the knowledge necessary to explain the purpose of the utilities and API of Oculus as well as configure the environment for development

  • Describe the interfacing between Oculus utilities and a game engine
  • Enable interaction with gaze-based mechanics
  • Define the purpose of the virtual reality API

UNIT 3:  Performance Issues

Outcomes: Implement techniques to enhance the performance of a virtual reality game including the Unity profiler, coroutines, mesh optimization, LODs, allocation of memory, and object pooling

  • Use the Unity profiler
  • Use coroutines to split up complex work
  • Optimize a mesh using Simplygon
  • Display dynamic detail using LODs
  • Explain the importance of allocating memory
  • Use object pooling

UNIT 4: Interaction with Virtual Worlds

Outcomes: Implement programs using basic player input and create custom Unity input axes

  • Design basic player input
  • Implement gameplay around input
  • Create custom Unity input axes

UNIT 5:  Establishing Presence in a Game

Outcomes: Write simple programs to implement particle effects, a skybox, and player interaction as well as place resources in the game world

  • Setup the game environment
  • Accentuate depth with particle effects
  • Customize the skybox
  • Enable player interaction with the world
  • Populate the game world with resources
  • Use resources to interact with the environment

UNIT 6: Depth and Intuition in a User Interface

Outcomes: Implement programs that use a virtual reality input module, a simple menu, and incorporates UI elements in the game world

  • Add a virtual reality input module
  • Construct a simple menu
  • Add UI elements to the game world

UNIT 7:  3D Audio

Outcomes: Explain the basics of audio and Unity audio as well as implement programs that use 2D stereo audio, basic 3D spatialization, head-related transfer function, and audio in the game world

  • Explain the basics of the science of audio
  • Describe the basics of Unity audio
  • Implement 2D stereo audio
  • Add basic 3D spatialization
  • Incorporate head-related transfer function
  • Implement audio in the game world

UNIT 8: Tone and Realism with Graphics

Outcomes: Write programs that simulate realism using rendering techniques, color grading, and shaders

  • Describe the rendering pipeline
  • Implement forward and deferred rendering
  • Add tone with color grading
  • Change the appearance of objects with shaders

UNIT 9:  Implementing Networking of Players

Outcomes: Implement a simple networked based game including a lobby space, spawn points, and synchronization of data.

  • Create a lobby space for joining matches
  • Create a networked game
  • Define player spawn points
  • Use Unity’s matchmaker system
  • Incorporate the multiplayer lobby
  • Synchronize data in multiplayer matches

UNIT 10:  Publishing on the Oculus Store

Outcomes: Explain the process of publishing to the Oculus store

  • Package a final Unity build
  • Describe the Oculus submission guidelines
  • Upload a build to Oculus

Projects Required:

Varies, refer to syllabus.


Contact Bookstore for current textbook.

Materials/Equipment Required:


Attendance Policy:

Students should adhere to the attendance policy outlined by the instructor in the course syllabus.

Grading Policy:

The grading policy will be outlined by the instructor in the course syllabus.

Maximum class size:

Based on classroom occupancy

Course Time Frame:

The U.S. Department of Education, Higher Learning Commission and the Kansas Board of Regents define credit hour and have specific regulations that the college must follow when developing, teaching and assessing the educational aspects of the college.  A credit hour is an amount of work represented in intended learning outcomes and verified by evidence of student achievement that is an institutionally-established equivalency that reasonably approximates not less than one hour of classroom or direct faculty instruction and a minimum of two hours of out-of-class student work for approximately fifteen weeks for one semester hour of credit or an equivalent amount of work over a different amount of time.  The number of semester hours of credit allowed for each distance education or blended hybrid courses shall be assigned by the college based on the amount of time needed to achieve the same course outcomes in a purely face-to-face format.

Refer to the following policies:

402.00 Academic Code of Conduct

263.00 Student Appeal of Course Grades

403.00 Student Code of Conduct

Disability Services Program:

Cowley College, in recognition of state and federal laws, will accommodate a student with a documented disability.  If a student has a disability which may impact work in this class and which requires accommodations, contact the Disability Services Coordinator.