CS 428: Virtual, Augmented and Mixed Reality - Fall 2020

Andy Johnson

Electronic Visualization Laboratory
Department of Computer Science
2032 Engineering Research Facility (ERF)

ERF Building via Google Earth

Lecture: 43563u / 43564g

originally T/Th 3:30pm - 4:45pm 2068 ERF, now asynchronous through Blackboard
I will be available during class time on Blackboard Collaborate in the course room if people have questions on the projects or the homework or the material, but there is no requirement to attend class at its scheduled time, and there will be no bonus for attending.

Office Hours: sync office hours will be held during class time, and async on Piazza (you should get a response within 24 hours, most likely within 8 hours)

TA: Sai Priya Jyothula - sjyoth2@uic.edu


There is no official textbook but there will be some assigned readings from the web and an optional textbook

Understanding Virtual Reality: Interface, Application, and Design, 2nd Edition

William Sherman and Alan Craig

Morgan Kaufmann

ISBN-13: 9780128183991

course videos are available through blackboard

course notes, assignments, and gradesheet are available at https://www.evl.uic.edu/aej/428/


This course will discuss the background and current state of the art of Virtual Reality and Augmented Reality hardware and software, give students an opportunity to experience them and to create software applications and user interfaces that make effective use of them.


8/25 & 8/27 HW, P1 out
Intro to the Course and a Bunch of Demos
9/01 & 9/03 HW
Unity3D & Content Generation Tools
9/08 & 9/10
HW, P1 alpha due History of VR and AR
9/15 & 9/17
HW, P1 app due
Vision / Visuals and Audio
9/22 & 9/24
HW, P1 docs due
P2 out
🎤Project 1 Presentations
9/29 & 10/01
🎤Project 1 Presentations
10/6 & 10/8
HW, P2 alpha due Tracking
10/13 & 10/15
HW, P2 app due
Navigation and Interaction
10/20 & 10/22
P2 docs due
P3 out
🎤Project 2 Presentations
10/27 & 10/29

🎤Project 2 Presentations
🗳️ & 11/05
HW, Choice topic due Collaboration
11/10 & 11/12
Choice due
🎤Student's Choice Presentations
11/17 & 11/19
Groups due
🎤Student's Choice Presentations
& Putting it All Together
11/24 & 🦃
P3 app due
Putting it All Together
12/01 & 12/03
P3 docs due,
Course evaluations
🎤Project 3 Presentations

"so much time, so little to see ... wait a minute, strike that, reverse it" -- Willy Wonka


You should have passed CS 342 (Software Design) and have a solid grasp of programming in a language like C / C++ / Java  / Python, basic data structures, experience writing code in groups, testing, version control, and patterns.

Standard departmental disclaimer: If you do not have the prerequisites for this course make sure that you drop this course right away. The department will verify the prerequisites for all students registered in this course during the first few weeks of the term and if you do not have the prerequisites, you will be notified and dropped from the course after the normal drop/add period. By that time, you will not be able to enroll in any new course.

For the course projects you will need regular access to a reasonably modern laptop or desktop computer with a decent graphics card capable of running Unity, and a webcam (preferably an external one).


Attendance is very important, but not mandatory. Normally part of your grade would be based on your in-class participation (i.e. asking good questions, making good comments) so please take that into account, but this term participation will be based more on asynchronous participation.

I will occasionally send out emails to the class using your UIC email address so please make sure that you are checking for email from that account every day or two. 

I will be putting all of my notes on the web, however these notes should not be considered official until the day of class. If I make any major changes to a page afterwards, then I will announce it in class, but note that at the bottom of each page is a modification date so you should be able to tell when the notes were last modified. I try to ensure that the notes on the web accurately reflect the lecture, but its what is discussed in class (or in this case the videos of that class) that counts, not what's written in the notes.

"Those who are absent are always wrong." - African proverb


The best way to learn about VR and AR is to make VR and AR applications. There will be three projects, a presentation on a VR or AR application or piece of hardware of your choice, some homework (and normally in-class) assignments, and (normally) points for class participation.

Graduate students will have additional requirements for their projects commensurate with the additional course credit they receive.

Individual grades on the projects will be based on the quality of the work turned in and on the reviews that each student receives from his/her team members if we do any work in teams.

You will be making a short presentation about each of your projects to the class. If the project is not done then you can't present it, so late assignments lose 33% per day - if a project is turned in within 24 hours after the deadline then the max score is 67 points out of 100; if a project is turned after 24 hours but before 48 hours after the deadline then the max score is 33 points out of 100; after that its 0. Assignment deadlines will not be extended for any reason other than a headline in the Tribune or Sun Times describing an army of undead ghouls walking the streets of Chicago eating people. In order to get an A a student must get a passing grade on all 3 the projects, and to get a B a student must get a passing grade on at least 2 of the projects.

At the end of the class each student will choose a current interesting VR or AR application or device (subject to approval by Andy) and present that visualization to the class.

"I hear and I forget. I see and I remember. I do and I understand" - Chinese proverb


The University of Illinois at Chicago is committed to maintaining a barrier-free environment so that individuals with disabilities can fully access programs, courses, services, and activities at UIC. Students with disabilities who require accommodations for full access and participation in UIC Programs must be registered with the Disability Resource Center (312) 413-2183 (voice) or (312) 413- 0123 (TDD).

The University Holidays and Religious Observances calendar can be found online at http://oae.uic.edu/religious-calendar/

We value your mental health and emotional wellness as part of the UIC student experience. The UIC Counseling Center offers an array of services to provide additional support throughout your time at UIC, including workshops, peer support groups, counseling, self-help tools, and initial consultations to speak to a mental health counselor about your concerns. Please visit the Counseling Center website for more information (https://counseling.uic.edu/). Further, if you think emotional concerns may be impacting your academic success, please contact your faculty and academic advisers to create a plan to stay on track.

You (and your group if we do group projects) are expected to do all your own design and implementation work. Cheating is bad; if you are caught cheating at minimum the punishment will be that you will get a failing grade for the entire course.


The current grade sheet will be found on these web pages. 

The final grade will be Letter grades will be calculated as follows:

Project 1:                  200 points          A: 880 - 1000 points
Project 2: 200 points B: 770 - 879 points
Project 3: 300 points C: 660 - 769 points
Participation / Homework: 200 points D: 550 - 659 points
Student's Choice: 100 points F: 000 - 549 points
Total: 1000 points

latest revision  - 8/25/2020