Wireless communications rely on a beautiful and elegant theory called communication and information theory. On the other hand, communication engineers apply this theory to create digital wireless communication systems that work well in practice. This course bridges the gap between theory and practice by giving an overview of the system design of modern wireless communication systems. Topics treated in this course include synchronization, frame detection, channel estimation and equalization for single- and multi-carrier (OFDM) transmission. The course is built around eight labs, and these labs are based on software defined radios.