...and perhaps the physics behind collision detection.
There is actully not much physics going on behind the actual collision detection. Collision detection is just to check if somethings are overlapping. If they are you have to solve this with a "collision respons" and that´s where the physics really come in handy (for example, do things bounce, do things break and so on). I know this might seem a bit nitpicky, but to me it turned out to be a pretty big deal since it meant a lot more work! So I would advice you to read up on collision detection, collision respons and the integrator. That´s basically the foundation of what you need for your physics, then you can make it as simple or as advanced as you want. Don´t do what I did, though. I got carried away!
Now, you wanted something to read.
I like Chris Heckers series of articles: http://chrishecker.com/Rigid_body_dynamics
This blog post "physics engine for dummies" is also pretty nice for a place to start: http://www.wildbunny.co.uk/blog/2011/04/06/physics-engines-for-dummies/