The goal of this course is to familiarize the students with advanced concepts of computational methods in Python. The first part builds on students’ knowledge of integration methods, solving ODEs and Monte Carlo methods, by presenting algorithms for simulating N-body dynamics and fluid dynamics, Fast Fourier Transforms and MCMC, with a focus on practical applications in physics. The second part of the course will present machine learning applications (regression and clustering methods, basic neural networks and deep learning concepts).