" Introduction to Computing and Programming in Python, 3e, " uses multimedia applications to motivate introductory computer science majors or non-majors. The book's hands-on approach shows how programs can be used to build multimedia computer science applications that include sound, graphics, music, pictures, and movies. The students learn a key set of computer science tools and topics, as well as programming skills; such as how to design and use algorithms, and practical software engineering methods. The book also includes optional coverage of HCI, as well as rudimentary data structures and databases using the user-friendly Python language for implementation. Authors Guzdial and Ericson also demonstrate how to communicate compatibly through networks and do concurrent programming.
Solid book, got through pretty much every chapter. But the book wasn't as interactive as I would have preferred. It gave a lot of media examples and decent explanations but wasn't very interested in the sort of "think about it this way," or "as you are trying this on your virtual machine, you would expect..." which might have been preferred for my learning style.
It's trying but it's a kind of out-dated textbook since it deals with Python 2 and we're in Python 3 by now. I honestly don't think it's particularly useful to learn programming from a book, and mostly when I wanted to look things up I looked them up on stack overflow anyway.