Extended Reality (XR)

I developed an intense interest in understanding how Extended Reality devices could be used for, well, “good.” Over the pandemic, as many of us were stuck home, I purchased a couple of the Oculus Quest headsets for my family. Frankly, we were blown away. Perhaps it was just the euphoria of being able to finally do something other than sit while watching the news about a virus taking over the world. We needed something to just help us get up, move around, and have fun. The technology was still considered early, but I was amazed at what it was capable of. (We would play the infamous Beat Saber, competing against each other for high scores! Even better – we were getting cardio exercise in while having fun!) Surely there must be a slew of use cases for this tech? So, I decided to dive in head first. I purchased the Quest 2 as Meta was taking over Oculus. Then the Quest Pro where we worked with colleagues at Geisinger Commonwealth School of Medicine to develop a couple of prototype VR applications where students could enter an OR simulation and learn basic cardiology while in remote areas. My students learned the ORamaVR platform to make developing their medical simulation prototype much easier than it would have been otherwise. I also started teaching in the EXCELerator program for the College of Engineering, where some incoming students come for an immersive experience in prepping for the college experience on campus over the summer before the start of their first semester. I work with a small group of students each summer helping them learn about design and development framework in engineering using VR. Lately the Meta Horizons creation platform has been quite good for that.

I’ve developed a brand new course (offered the first time in Spring 2024) where I teach students about Design and Development in XR using Meta Quest 3 headsets. Students learn about Unity for the first half of the semester by working through a wide range of custom labs and a suite of resources on the Unity Learn platform. The rest of the semester they spend their time going deeper as they implement various interactions and figure out how to create accessible, immersive experiences by working on their own projects. It’s been awesome watching students develop immersive worlds on their own from scratch! I’ve been amazed at what some students have been able to create. It’s a lot to cover in one semester, but the fun of working with these devices and developing in Unity has far outweighed the work, and I think most of the students have agreed.

If you’re interested, reach out to former students of the course, or just send me an e-mail and we can talk!

Updating CSCI 205

CSCI 205 has been a highly successful course for our majors. It is a lot of work for students, and likewise for the instructors who teach it (myself and Prof. Chris Dancy.) But, the rewards have been plenty, as the course teaches a lot about there is a lot of material that is out of date. The course will still relying on Java 7, and used Netbeans.

I’ve taken quite a bit of extra time this semester to update some of the course. As of Fall 2019, the course has been updated in the following ways:

  • We are now using IntelliJ IDEA
  • The course has been updated to Java 12
  • Many videos have been re-recorded to address the updated content, including:
    • Heavier emphasis on lambda expressions than ever before
    • Teaching more java.nio and java.nio2 along with java.io
    • Added new material on socket programming with java.net
    • Added new material on multithreading and concurrency in Java
    • Introduced the Java Stream API (not to be confused with the I/O streams)
  • The final project has been overhauled. Every student now must use Gitlab for all their Scrum task board and sprint management (This has worked surprisingly well!)
  • Expanded the JavaFX material 

It’s a start. There is a lot to be done still.

In a recent discussion with Chris Dancy, he expressed significant interest in incorporating elements of engineering social justice into the course. This represents a broader move by the engineering community at large to start helping our students recognize the impact that their choices have on humanity. I am at fault here. Like many of us, we focus on the goals without teaching our students the impacts that their choices have. Well, that’s not entirely true. I discuss impact – computational resource impact. That’s not enough. I do not give enough attention to social, moral or ethical impact. So, I believe this will be the next set of revisions we make to the course. Chris may likely start on some of those changes in Spring 2020. But, we’ll likely make a more substantial effort to incorporate this into the project over the summer. It’s time for engineers to emphasize people as more important considerations than profits.