A lot of the basic classes that you'll learn as a CS student are going to do a good job of preparing you for developing for a VR/AR system. Algorithms transfer over regardless of the language or specific use case. That said, here are some tips to keep in mind when picking classes and electives:
- Try out a class on computer graphics modeling. A lot of the principles that you learn there (setting cameras, lights, primatives, etc) are directly applicable for AR/VR.
- Some video games engines are used to drive VR worlds, if your school offers any classes on video game programming you'll want to sign up. You can then reapply your skills from video games to VR. The Unreal Engine works for both games and the Vive for example.
- Speaking of the Unreal Engine, learn C++ and learn it well. Hopefully your school is already including it as part of the curriculum.
- Visit the developer portals for the AR/VR tool of your choice and figure out what tools they use, then find the overlap with the classes offered in your program. Its unlikely that EE or ME classes are going to be very helpful and you'll definitely want to go heavy on the CS.
+1 for what Chris and Eric have already mentioned. Luck has absolutely helped me out and I wouldn't be where I am today without some wonderfully serendipitous events.
Similar to Chris I owe my first internship to luck. When I was college my parents went on a vacation and met someone who ran a bio lab and was looking for an intern with my skill set. My parents were able to make an introduction which did a lot to help me get my foot in the door, but from there it fell onto my preparation and determination to actually get the internship. From there I was able to turn a one summer internship into a recurring summer internship for 3 years. Similarly, I was lucky enough to have a friend who had an internship during the school year at a lab on campus and he recommend me for one of the spots when there was an opening. That role also turned into a recurring internship which greatly helped me when it came time to look for a full-time job.
I really liked Chris's quote and will add another: "I've learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel" (Maya Angelou). Having a strong network is one of the best things you can do to increase your chance of a lucky encounter, and one of the best way to grow a strong network is by being someone who helps others feel happy and productive. When one of your friends or a former coworker goes to a new company and needs to fill a position, if you're one of the people that helped them feel positive, then you'll be one of the first people they reach out to.