Media Computation (nicknamed "MediaComp") is a contextualized approach to introducing computing using a ubiquitous theme of manipulating media. The critical characteristic of MediaComp is that students create expressive media by manipulating computational materials (like arrays and linked lists) at a lower-level of abstraction. Students manipulate images by changing pixels, create sounds by iterating over samples, render linked lists into music, and create artifacts like collages, music, and digital video special effects. In so doing, the students learn computation.
Other books are including Media Computation in their themes and exercises. Python Programming in Context by Brad Miller and David Ranum Practical Programming: An Introduction to Computer Science Using Python by Jennifer Campbell, Paul Gries, Jason Montojo, and Greg Wilson