Stanford University cource materials (14 lectures) about VR as pdf - might not make a a world leading expert in VR

if anyone wants to get more on a higher level, this might be interesting to read
IMU, lens distortion, eye tracking, … - its all there

EE 267: Virtual Reality
Course Goals
This is a technical class. Students will learn about all hardware (optics, electronics, display, microcontroller, …) and software (JavaScript, WebGL, GLSL) aspects of Virtual Reality (VR). The goal for this class is to learn all of these aspects in a hands-on manner. Each assignment is a small piece of a bigger project. The goal for each student or small team of students is to build a fully functional head mounted display, including optics, display, IMU, rendering, lens distortion shader, model loader etc., from off-the-shelf parts. The HMD we will build is inspired by the Oculus DK1. We will NOT learn game development, but study the fundamental building blocks of VR systems and implement all of them.

14 lectures as pdf

also interesting might be the list of related student projects
(from the dates of former years it looks like the 2020 projects might come up not before 10/2020)


Do any of these ‘lectures’ address the latest research on current issues we discuss here, like differing face geometry and canted displays affecting IPD settings, or is this essentially a ‘textbook’ ‘101’ summary for students not meant to entirely prepare them to work in the industry without further exploration/mentorship?

1 Like

we discuss the latest research in VR here? - i had the impression we would have a lot of people complaining about a product and questioning the ways a company is acting :wink:

before tackling the latest problems you learn about the field and thats what this course is about, its for students to learn something and its might not even meant to be used without hearing the lectures and talking to the people preparing/holding the lectures and there are projects too as you can see in the last link
also the description says “… We will … study the fundamental building blocks of VR systems and implement all of them …”

its nice to see that there are people around here for whom this material is below there level of expertise - its above mine, specially when it come to the math involved

btw its in the general discussion section because is not related to pimax

to sum it up - i don’t get your point, not everything is about pimax, there is a world out there


Very interesting. Have you saved the starter codes? Their Github has been taken down :sleepy:

1 Like

no, i just found that yesterday but i guess they might have this lectures every 6 or 12 month so it might come up again in a few weeks

edit: from the projects it looks like its only once a year in spring

1 Like

Check this out, also very interesting

They are leaps and bounds ahead of us Germans in Computer Science in these regards. The amount of knowledge they have accumulated on VR systems is really impressive


Aside from dropping by these forums, I have been a volunteer from time to time at an innovative and well established makerspace/hackerspace called HacDC (in fact I was BoD for 3 years).

It wasn’t that uncommon experience to teach PhD’s and graduate students how to actually do things like the basic electronics design and prototyping process in the real world, or the sketch>extrude>assemble process used to do CAD modeling. Some of the people there were serious Linux kernel developers as well.

On the flip side of course, there are many who seem to graduate with a really solid idea of how to do things, like a guy who CAD modeled an entire Iowa class ship, down to the inner mechanical workings, and 3D printed it in that detail.

One Linux kernel developer gave a speech a while back about the best way to learn. In his words, just fix bugs.

My takeaway has been that no ‘education’ available today compares with actually solving realistic problems, being willing to thoroughly research all the available tools and techniques to get it done, and thinking ahead about standardization where appropriate. Those who do graduate with a practical mindset went beyond the course requirements with ambitious side projects. The fundamental concepts, initiative, and due diligence that results seems rare to find these days when looking for talent, and should be encouraged more.

In this particular case, describing 3D tracking with matrix algebra may be academically nifty, but actually taking students at least briefly through the process of modifying the tracking code, creating Unity projects from scratch, etc, is something I would like to see being taught.


thanks, now i get your point

what i took from talking with friends about that is that it can be a fundamental discussion on how practical it needs to be, in the the end its impossible to teach all things and there is also discussion whats should be at the end of studying, a scientist that does not produce “useful” things, as basic research usually does not end up in “products”, kind of academic airhead or does it has to be a better industrial worker to produce something and it needs to be ready to start working when leaving university

where should a student, that newer used tools (school is not that practical) or had any practical work, be able to do that, education got very theoretical and most of the time people sit down, hear lectures and learn, not time to learn how to use tools to machine metal or even how to cut a screw thread (there might be differences in that depending on the country)

wouldn’t you need to learn first how its working (sensor fusion and algorithms) before starting to modify it?
i did not have time to look into all the material from above but it looked like they had also practical lessons like using a “VRduino” with a IMU (to build a basic headset?) and there also was a unity project and a link to a video as introduction for using it with unity

some of the resulting projects did look like just vr games but there where also some really interesting things in the list of the projects


Not having taken the course or read through all the lectures, my commentary should be taken more as the original question I posed about whether the course has this practical hands-on experience.

The VRduino lesson I saw did not look like it required much innovation - did not require the students to invent solutions for themselves. Moreover, VRduino was about a part of a much larger system. Being able to implement a VR tracking system from scratch, start to finish, would be much more impressive.

A scientist within a very narrow field of work might indeed get by. However, going to a new job or a startup, it is going to take a while to become accustomed to the terminology, initiative, and other things expected.

Actually preparing someone to be ready for a job can be done. First, teach all the fundamentals - basic physics/geometry that is relevant to any feasible system. Then, teach the process of technology development - listing possible tools, finding a CAD modeling program that works for both the project and a particular student’s strengths (graphical like FreeCAD or programmatic like OpenSCAD… students are different), then selecting off-the-shelf solutions whenever possible (aluminum extrusions), etc.

Learning to cut a screw thread is a good example. Milling machines are even better. That’s not something you learn in physics 101, it may not be directly relevant on the job, but the combination of physics (chip rates, maximum temperature of any solid object, the irrelevance of non-solid states of matter, locking the machine motion to mathematically defined spirals, etc) is highly relevant to knowing how to do just about anything.

A person I consider somewhat of a mentor taught a structured ‘classroom’ part of a CNC Milling class like this at HacDC, and at that time in my life, I couldn’t have appreciated more seeing such a structured approach to teaching. The students were able to apply it well too - I should know since I taught the part of the class where students actually sent G-Code to the mill. I think we even had time for people to mill out whatever cool designs they could find.

But it doesn’t have to be either of those things specifically.

A while back, I realized that from the table of fundamental particles, only a few - the photon, electron, and proton, interacted significantly enough transferred enough momentum to create compact, useful, machinery, including computers and engines. That basically reduces everything useful in the entire universe to just a few equations and one lookup table (the periodic table). I talked to a physicist major at USASEF about this, and he basically agreed with my assessment.

Granted, the computing power to run the simulations to solve those equations at the scale of large machinery does not exist, and arguably the simple limitations of useful things in the universe has only recently been proven conclusively…

Still though, we live in a simple universe.

Teach a list of the fundamentals as quickly as possible, then coach students to create complete systems. An employer might actually be able to hire such graduates without training failures on the job.

wouldn’t you need to learn first how its working (sensor fusion and algorithms) before starting to modify it?

Matrix algebra may not be the most efficient way, or even relevant at all, to teach those basics. I am wondering if the students are tested for their ability to express these basic geometric concepts in formal algebraic equations. A while back, I was reading some of Newton’s work on calculus, and it look like it was done in a graphical CAD tool - geometric drawings first, equations second, if at all.

1 Like

Chinese Proverb reigns true.

Tell me I may forget.
Show me I may remember.
Involve me I will understand.


Nice, indeed so very true!

That last part though, ‘involve me’ really must not be shortchanged to be effective though. Teaching to solve purely academic equations of alphabet soup is very different from developing an entire system.

1 Like