How to think like a computer scientist - Downey, A.; Elkner, J.; Meyers, C. (New Delhi, 2016)