Differential Geometry: Connections, Curvature, and Characteristic Classes