Explores the contemporary computational understanding of imaging: encoding information about a physical object onto a form of radiation, transferring the radiation through an imaging system, converting it to a digital signal, and computationally decoding and presenting the information to the user. Introduces a unified formulation of computational imaging systems as a three-round "learning spiral": the first two rounds describe the physical and algorithmic parts in two exemplary imaging systems. The third round involves a class project on an imaging system chosen by students. Undergraduate and graduate versions share lectures but have different recitations. Involves optional "clinics" to even out background knowledge of linear algebra, optimization, and computational imaging-related programming best practices for students of diverse disciplinary backgrounds. Students taking graduate version complete additional assignments.