I'm interested in expanding my computer knowledge. Specifically, computer science knowledge. I've taken a few numerical methods courses, but they were all in MATLAB. My strategy this summer was to study physics problems like PDEs and solve them in some language I don't know like C++. Also, I want to take a course on Coursera.com called Algorithms which happens to be Java based. For this course, I'm taking an intro to Java programming on Udacity.com, but I'm starting to fear that I'm wasting my time. How do you suggest I can expand my CompSci knowledge this summer? Should I learn C++ or Java ? Should I take that Algorithms course? Should I instead just focus on solving those physics problems on C++ instead of MATLAB? I'm also not a complete expert in MATLAB, so maybe I should also stick with MATLAB for a while, until I can do amazing things with it. And theres this other Mathematica thing which does amazing things which I should also learn to do! Suggestions? Thanks.