Thursday, May 11, 2017

Using Virtual Reality for Teaching Computer Science

Maybe you can help me? My gut tells me that virtual reality or even mixed reality can be useful for teaching computer science. How to do that is the question. I don’t want it to be just another device that students program. That’s not really innovative. I want to think of ways that help students learn computer science. I want them to “see” things that can not ordinarily be seen.hololens-military

My first thought was a virtual tour of a computer. While I do show students mother boards and other pieces of computers wouldn’t a “walk through” of a virtual computer be better? More interesting? On one hand a video, perhaps just an animation, can do that fairly well. On the other hand virtual reality is the opportunity to take different paths through the computer to trace things the way a student would like. A mixed reality tool would label items as a student looked at a physical device. Taking the tour would be more fun though.

How about following instructions as data through the pipeline in a CPU? That could be fun and make things more real to students. In fact a general walk through a CPU could be good. The improvement over a simple video would be the ability to travel non linearly. IS that enough? I’d like to find out.

How would virtually tracing the path of code in a program work? Could we set things up so a student could follow (visually) a variable through code to see what happens to it? Perhaps watching the variables as they appear (are instantiated) and disappear (as their scope expires)? The idea of being mixed in with the code ala TRON or The Matrix has a certain appeal to me.

Do these ideas make sense to people? Would they help? Do you have other ideas?  Is this even possible with current technology? Putting this together probably requires some talent, time, and even money. Who will do it first?

5 comments:

Doug Bergman said...

Those are all excellent ideas using technology itself to teach technology. I learned quickly with my Kinect class that the students have tons of ideas(often times better than mine), many of which I was not thinking of. So with all my open ended projects, I have students submit a formal proposal for their project explaining what they will do and why. And for things like this, I want to them to address some type of issue or system and improve/enhance/or solve a problem. For example in our app development class, students had to use AppInventor to address a problem(or a need) for people with a mental/physical/emotional/or learning disability. Some of the apps are really creative. Neil is creating an app using the camera that lets you experience sight through a melanoma in the eye. Another is creating an app for students with dyslexia that allows you to hear the word as you type it. Another is creating an app that helps students with autism step their way through their morning chores. I would have never thought of those. So, with Virtual and Augmented Reality(I prefer augmented), I want to see what ideas the kids have. I can use my own ideas to introduce the topic and to explore code...and get the creative juices flowing, but I feel like the students will come up with ideas(granted some may be far out of reach, but you can always tone down). The energy around mixed reality is AWESOME. I think the bringing together of technology into a real persons "space" is amazing. The ability to program something in your space, and have that impact things outside that space (robot, drone, etc) is equally amazing.

Garth said...

You are such a pain in the rear. You keep coming up with these ideas that make me think. Thinking is hard and requires effort. It is near the end of the school year and I am running low on effort. But this is too good of an idea to ignore. After 15 minutes of thinking (about all I am good for this time of year) here is an idea. I am going to stick with what I am teaching now, programming.

I do not like Scratch. It is not the language, it is the interface. To be half way decent at it you have to know what is in each one of the colored categories. As a program gets a lot of code it disappears off the viewing area. The program ends up on multiple pages that have to be flipped through if you cannot remember what you did the day before. How about building a VR interface where every thing is visible with just a turn of the head? The whole interface would be viewable at once. Need a new page? Create it and stick it where you want it. If things are getting crowded shrink the page so only a header is in the VR view. Control the environment with a game controller or a Leap Motion like device that sees hand gestures or program big standing with a Kinect. Very Minority Reportish.

Damn your eyes, Alfred! Now you really have me thinking. Now how do I get my Kinect to work with my Samsung Gear VG goggles...

Alfred Thompson said...

Garth maybe we can get one of Doug's students to work on it?

Garth said...

I would have to. I am not that smart. I have a sophomore girl I might throw this at next year. She is much smarter than I am.

Mike Zamansky said...

VR certainly opens up possibilities for distance learning.

Even with innovative ideas, I think VR in the classroom will be niche for quite some time because it's an added, add on expense rather than a way of cutting costs and as we know, the bean counters, politicians, and those controlling education's top priority is cutting costs, not providing a good education. Now, if they could claim that VR would allow them to cut experienced teachers.....

Another point worth considering is that even though VR could bring some very interesting tech with some very interesting possibilities to the classroom, in my experience, the best work of the best teachers rely on the teacher him or herself and not on technology at all.