Hey everyone,

I am a first year student in electrical/computer engineering at the University of Toronto. I have experience working in Java and C, and my major projects are an Android app and an employee database program built in Java (Netbeans, Java Swing API). I would like to request some advice about continuing my programming education.

As I was applying for software intern positions for this summer, I realized that my skill set after my first semester programming course didn't really make me competitive for many positions. To make things worse, there is only one programming course in second year, and it covers concepts that my high school computer science teacher taught me (although we used Java, not C++ like the course does). So it's pretty clear that I'm going to have to learn more software engineering and computer science on my own time if I want to satiate my curiosity as well as stand a good chance for internships in the future.

My question is this: where and how do I get started? Given my current skill set, what could/should I tackle and learn next that would be a logical next step? Could you direct me to some resources that could help me learn these things?

Thank you in advance for your time and wisdom.