**Registration starts at 8:30 on Monday.**\\ Lectures start at 8:30 every day. [[materials:system tweaks|Changes for a better experience on the Virtual Box]] === Day0 (Mon Oct 4): Advanced Python & Software Carpentry === * 9:00-10:30 [[materials:advanced_python|Advanced Python]] - Zbyszek\\ (decorators, context managers, exception handling, context managers, python3 if time permits) * 10:30-11:00 Coffee break * 11:00-12:30 Advanced Python exercises * 12:30-13:30 Lunch break * 13:30-14:30 [[materials:oop|Object-oriented programming and design patterns]] - Bartosz * 14:30-16:30 OOP and design pattern exercises * 16:30-17:00 Merenda break * 17:00-18:30 [[materials:best practices|Best Practices, Development Methodologies and the Zen of Python]] - Valentin === Day1 (Tue Oct 5): Software Carpentry === * 8:30-10:30 [[materials:version control|Version control]] (git: single user local repository, multi user central repo) - Emanuele * 10:30-11:00 Coffee break * 11:00-12:00 [[materials:version control exercises|Version control exercises]] * 12:00-13:00 [[materials:software_carpentry|Python tools for software carpentry: unit testing, debugging, profiling]] - Pietro * 13:00-14:00 Lunch break * 14:00-15:00 [[materials:software_carpentry|Python tools for software carpentry: unit testing, debugging, profiling]] * 15:00-16:00 Software carpentry exercises * 16:00-16:30 Merenda break * 16:30-18:00 Software carpentry exercises * 18:00-18:30 [[materials:programming_in_teams|Programming in teams]] - Tiziano === Day2 (Wed Oct 6): Scientific Tools for Python === * 8:30-9:30 [[materials:advanced numpy|Advanced NumPy]] - Stéfan * 9:30-10:30 Advanced Numpy exercises * 10:30-11:00 Coffee break * 11:00-12:00 [[materials:cython|The Quest for Speed (intro): Interfacing to C (Cython)]] - Stéfan * 12:00-13:00 //Parallel Session//: * Cython (exercises) - Stéfan * [[materials:visualization|Data Visualization]] (matplotlib & mayavi) (no exercises) - Bartosz * 13:00-14:00 Lunch break * 14:00-14:30 [[materials:pacman|Programming project intro]] - Rike * 14:30-18:30 Programming project === Day3 (Thu Oct 7): The Quest for Speed === * 8:30-10:00 [[materials:parallel|Writing parallel applications in Python]] - Eilif * 10:00-10:30 Coffee break * 10:30-11:30 [[materials:starving cpus|When parallelization does not help: the starving CPUs problem]] - Francesc * 11:30-13:00 //Parallel Session//: * exercises - Eilif * exercises - Francesc * 13:00-14:00 Lunch break * 14:00-18:00 Programming project * 18:00-18:30 Programming project progress report === Day4 (Fri Oct 8): Practical Software Development === * 8:30-9:30 [[materials:serialization|Data serialization: from pickle to databases and HDF5]] - Francesc * 9:30-13:00 Programming project * 10:30-11:00 Coffee break * 13:00-14:00 Lunch break * 14:00-17:30 Programming project * 17:30-18:30 The Pac-Man Tournament note: there is also a [[calendar|graphical]] version of this schedule, but this one is canonical