Introduction to computation and programming using python. second edition, with application to understanding data - Orban, Dominique (SIAM Review, 2018)