Modern Physics From Scratch
For programmers interested in classical mechanics, "The Structure and Interpretation of Classical Mechanics" is a highly unique - and outstanding - introduction to Lagrangian and Hamiltonian mechanics. Available free online:<p><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><p>The idea behind the book is to make the "mathematical notations be explicit and precise enough that they can be interpreted automatically, as by a computer." Since Sussman is involved, that means that they (and you, when you do the problems) write scheme programs.<p>In a more traditional vein, _Mechanics_ by Landau and Lifshitz is (in my view) among the 2 or 3 best physics textbooks available. It's a great supplement for two reasons: (1) it takes a somewhat different approach to the material than most other textbooks (emphasizing the consequences of symmetries from the very beginning) (2) it's quite short, which I find to be very helpful when self-learning.