Advanced Scientific Programming in Pythona Summer School by the G-Node and the Physik-Institut, University of Zurich
| Day0 (Sun Sep 1): Best Programming Practices | |||
| Time | Topic | Lecturer | Tutors |
|---|---|---|---|
| 08:00-08:30 | Registration | ||
| 08:30-09:00 | Introduction | Tiziano Zito | |
| 09:00-10:30 | Best Practices, Development Methodologies and the Zen of Python | Valentin Haenel | |
| 10:30-11:00 | Break | ||
| 11:00-12:30 | Version Control with git (lecture) | Emanuele Olivetti | PB BV |
| 12:30-13:30 | Lunch Break | ||
| 13:30-14:30 | Version Control with git (exercises) | ||
| 14:30-16:00 | Object-oriented programming & design patterns (lecture) | Niko Wilbert | BT |
| 16:00-16:30 | Break | ||
| 16:30-18:00 | Object-oriented programming & design patterns (exercises) | ||
| 18:00-18:30 | Tutors' consultation time | ||
| Day1 (Mon Sep 2): Software Carpentry | |||
| Time | Topic | Lecturer | Tutors |
| 08:30-10:30 | Test-driven development, debugging, and profiling (lecture) | Pietro Berkes | BV RBS SW |
| 10:30-11:00 | Break | ||
| 11:00-12:00 | Test-driven development, debugging, and profiling (exercises) | ||
| 12:00-13:00 | Lunch Break | ||
| 13:00-14:30 | Test-driven development, debugging, and profiling (exercises) | ||
| 14:30-15:30 | Advanced Python I: idioms, useful built-in data structures, generators (lecture) | Zbigniew Jędrzejewski-Szmek | NW RBS |
| 15:30-16:00 | Break | ||
| 16:00-17:30 | Advanced Python I: idioms, useful built-in data structures, generators (exercises) | ||
| 17:30-18:00 | Programming in teams | Tiziano Zito | |
| 18:00-18:30 | Tutors' consultation time | ||
| Day2 (Tue Sep 3): Scientific Tools for Python | |||
| Time | Topic | Lecturer | Tutors |
| 08:30-10:00 | Advanced NumPy (lecture) | Stéfan van der Walt | BT ZJS |
| 10:00-10:30 | Break | ||
| 10:30-12:00 | Advanced NumPy (exercises) | ||
| 12:00-13:30 | Lunch Break | ||
| 13:30-14:30 | The Quest for Speed (intro): Interfacing to C with Cython (lecture) | ||
| 14:30-15:30 | The Quest for Speed (intro): Interfacing to C with Cython (exercises) | ||
| 15:30-16:00 | Break | ||
| 16:00-17:00 | Best practices in data visualization (lecture) | Bartosz Teleńczuk | RBS FA |
| 17:00-18:30 | Best practices in data visualization (exercises) | ||
| 18:30-19:00 | Tutors' consultation time | ||
| Day3 (Wed Sep 4): The Quest for Speed | |||
| Time | Topic | Lecturer | Tutors |
| 08:30-10:00 | Writing parallel applications in Python (lecture) | Eilif Muller | ZJS FA VH |
| 10:00-10:30 | Break | ||
| 10:30-12:00 | Writing parallel applications in Python (exercises) | ||
| 12:00-13:30 | Lunch Break | ||
| 13:30-14:00 | Python 3: why should I care | Zbigniew Jędrzejewski-Szmek Tiziano Zito |
|
| 14:00-14:30 | Programming project introduction | Rike-Benjamin Schuppner | |
| 14:30-18:00 | Programming project | ||
| 18:00-18:30 | Tutors' consultation time | ||
| Day4 (Thu Sep 5): Efficient Memory Management | |||
| Time | Topic | Lecturer | Tutors |
| 08:30-09:30 | When parallelization does not help: the starving CPUs problem (lecture) | Francesc Alted | SW VH ZJS |
| 09:30-10:30 | When parallelization does not help: the starving CPUs problem (exercises) | ||
| 10:30-11:00 | Break | ||
| 11:00-12:00 | Advanced Python II: decorators and context managers (lecture) | Zbigniew Jędrzejewski-Szmek | NW RBS |
| 12:00-13:00 | Lunch Break | ||
| 13:00-14:00 | Advanced Python II: decorators and context managers (exercises) | ||
| 14:30-18:00 | Programming project | ||
| 18:00-18:30 | Tutors' consultation time | ||
| Day5 (Fri Sep 6): Practical Software Development | |||
| Time | Topic | Lecturer | |
| 08:30-12:00 | Programming project | ||
| 12:00-13:30 | Lunch Break | ||
| 13:30-17:00 | Programming project | ||
| 17:00-17:10 | Next year school location | Tiziano Zito | |
| 17:10-17:30 | Programming project - Final report | team representatives | |
| 17:30-20:00 | Pelita Tournament | ||
Command-line environment setup.
VirtualBox image for the exercises: http://www.physik.uzh.ch/data/aspp/aspp.ova.