Automate the Boring Stuff With Python: Practical Programming ...
Al Sweigart
Realm of Racket: Learn to Program, One Game at a Time!
Matthias Felleisen
Think Like a Programmer: An Introduction to Creative Problem ...
V. Anton Spraul