Structure and Interpretation of Computer Programs, by Abelson and Sussman, is the best book on programming I've ever mostly read. You can read the full text online for free. You'll learn Scheme as you go.
This course and the accompanying book, Structure and Interpretation of Classical Mechanics, coauthored by Sussman, approaches basic physics via computer simulation, rather than algebra and calculus. Shades of A New Kind of Science. Interesting.