I'm currently finishing up my first year of college for software engineering and I plan on taking the initiative to learn on my own over the course of the summer.<p>My question is: What should I focus on learning over the summer?<p>The one thing I know I do not want to learn is Java, as it is the one language I am already familiar with, and will continue learning when I return to school in the fall. I'm interested in developing for the web, but my goal is to just become a more knowledgeable, and better developer/programming by the end of the summer. What do you guys suggest I do?
Do the Udacity course on Web Application Engineering (CS253 <a href="http://www.udacity.com/overview/Course/cs253/CourseRev/apr2012" rel="nofollow">http://www.udacity.com/overview/Course/cs253/CourseRev/apr20...</a>). It just started a few days ago and goes for the next few weeks. It will likely provide you with the baseline skills to build a small project of your own before your next semester starts.
I recommend exploring your day to day tool set. By that I mean things like your text editor / IDE, various OS features/hotkeys, the unix command prompt, scripting languages, etc...<p>If you have some spare cycles and the motivation, focused learning on such things can pay off a <i>lot</i> in the future.
Figure out a niche market opportunity that could generate revenue. Learn whatever skills you need to to build that product. Aim for break even by the end of the summer.
Depending upon your current familiarity with them, read Jeffrey Friedl's O'Reilly book on regular expressions.<p><a href="http://regex.info/" rel="nofollow">http://regex.info/</a><p>Something to fill the odd moments or hours, unless it becomes a page-turner for you, as it did for me.