I learned the projection matrix along the line of mathematical modeling class and I'm willing to share the things I went through.
Basic idea (*Coo stands for coordinates, Para for parameter)
Camera Matrix Persp Projection Intrinsic Para Matrix
World Coo <---> Camera Coo <---> Image Plane Coo <---> Pixel Coo
Pinhole camera model which is the easiest linear camodel we can conceive of.
Transformation/Rotation matrices means translation and rotation of objects based on our view.
Perspective projection has some explanation, and a link to camera matrix.
Homogenous coordinates which is rather useful. You may see that we can scale the homogenous coordinates without changing the point's coordinate in the projection plane.
Fundamentals of Computer Vision page has slides and notes to computer vision and digital camera related topics. See slide/notes #1.
Geometric Framework for Vision I: Single View and Two-View Geometry Andrew Zisserman
has some fine material on projection matrices.
3D Math Primer for Graphics and Game Development, 2ndE, a good book on 3D gaming math basics. There are prepared slides and full code in C++.