Am I on the right track?

<p>Hello all, I am a freshman in CS and I was just wondering if I am on the right track towards future internships, job opportunities, grad school, etc. I finished my first semester with all A's so I think I'm doing fine academically. I have an undergraduate research position lined up for next semester with a professor who publishes a good amount of stuff in his field. However, is there anything else I could be doing more of? I'm not skilled enough yet to develop any useful open source projects, but I have some (albeit minimal) experience with other skills I wasn't formally taught, like app development, network security, web design and SQL. Is there anything else beneficial that I could teach myself / work on in my free time? I'm driving myself crazy about this but all my friends tell me I'm fine. Any advice? Thanks!</p>

<p>Spend LOTS and LOTS of time on CodingBat.com - anyone (myself included) who thinks they have mastered even one language to the end would reconsider. Pick Java and do every assignment you can find.</p>

<p>I sometimes do the ICPC TJU problem set in my spare time. Are there any other important skills besides the core programmer skillset I should be building up?</p>