Learn Physics by Programming in Haskell [pdf]
If you're into physics I'd recommend solving some problems using whatever language, but especially functional languages (i.e. Lisps, Haskell, etc.) because you have some big "A-ha!" moments as to what the math really means.  Like when you program an integral from scratch for a mechanics problem and you go "Oh <i>that's</i> why we use an integral here!"  There are also many problems (i.e. n-body orbital dynamics) where brute-force computation is the only way to get to a solution.  Finding the path Rosetta/Philae took to comet 67P comes to mind.<p>There's an older course that's a bit of a sequel to Structure and Interpretation of Computer Programs (SICP) called Structure and Interpretation of Classical Mechanics (SICM).  I've never done it but always thought it looked like fun.  (If you're into Scheme or Lisp)<p>course: <a href="http://ocw.mit.edu/courses/earth-atmospheric-and-planetary-sciences/12-620j-classical-mechanics-a-computational-approach-fall-2008/index.htm" rel="nofollow">http://ocw.mit.edu/courses/earth-atmospheric-and-planetary-s...</a><p>book: <a href="http://mitpress.mit.edu/sites/default/files/titles/content/sicm/book.html" rel="nofollow">http://mitpress.mit.edu/sites/default/files/titles/content/s...</a>