Learning with Python: How to think like a computer scientist - Downey, Allen; Elkner, Jerey & Meyers, Chris (New Delhi: Dreamtech Press, 2015)