Introduction to computation and programming using Python - Guttag, John (MIT Press, 2013)