| This is good advice. If CS intrigues you, sign up for the most advanced courses you can handle. Also, be sure not to shortchange yourself when it comes to a foundation. Lots of people can "write code" without a good understanding of datastructures and algorithms. Get as much there as you can, as it only pays dividends as you grow your software skills. Another advantage of having a headstart is you can diversify your education. I'd recommend some electrical engineering / hardware classes to complement software; understanding memory access patterns, CPU caches, multiple cores, busses, interrupts, and basic circuits are all useful things to have in your back pocket. Be curious! Be proactive! Reach out to professors you like or that other students rave about. Trust me, they are flattered when students take an interest in them and their work. Build those relationships as they can lead to: - independent projects in a mentor/mentee capacity - research opportunities - internships - teaching assistant opportunities (I got paid $15 / hour to assist students with assignments. I once did this for a class I was taking alongside them because the prof needed help and he trusted me and my skills.) A relationship with a professor is such a good idea I'd say it's essential. You will one day need a letter of reference for something, and you want it to come from faculty who knows you, likes you, knows your interest, etc and can write glowingly and convincingly of your skills and personality. Too many people I knew hit up someone they took a class from and got an A in, and it was a superficial and shallow thing that didn't really get them that far. I'll stop here, but feel free to message me for more if interested. |