<p>^^^Why would understanding the java methods you implement come at the expense of your other CS courses? Every CS major takes classes on data structures, algorithms, linear algebra/optimization, discrete math, and usually operating systems and databases. So what? There are very few classes that focus primarily on programming–in those classes, there is no reason not to understand the code you are using.</p>
<p>Just because the study habits I’m advocating aren’t directly translatable to job performance doesn’t make them useless. You want to learn while in school. You also want to get good grades. Just because you can’t study code on the job doesn’t mean you shouldn’t do it on your own time. </p>
<p>I agree, the reason to study code isn’t to memorize nuances in the language. Computer languages are going to be updated and expanded making what you memorize now obsolete (which is why I’m advocating learning the primitive languages–not just Java). But looking over code teaches you how others think and how others maximize efficiency. It’s like an applied algorithm. This is how I learn to improve my coding style and, more importantly, my thinking style.</p>