=== Description ===
Scientists spend more and more time writing, maintaining, and debugging software. While techniques for doing this efficiently have evolved,
only few scientists have been trained to use them. As a result, instead of doing their research, they spend far too much time writing deficient code and
reinventing the wheel. In this course we will present a selection of advanced programming techniques and best practices which are standard in the industry,
but especially tailored to the needs of a programming scientist. Lectures are interactive and allow students to acquire
direct hands-on experience with the topics. Students will work in pairs throughout the school and will team up to practice the newly learned skills in a
real programming project — an entertaining computer game.
We use the Python programming language for the entire course. Python works as a simple programming language for beginners, but more
importantly, it also works great in scientific simulations and data analysis. Python is the standard tool for the programming scientist due to clean language design, ease of extensibility, and the great wealth of open source libraries for scientific computing and data visualization.
This school is targeted at PhD students, postdocs and more senior researchers from all areas of science. Competence in Python or in another language such as Java, JavaScript,
C/C++, MATLAB, or R is absolutely required. Basic knowledge of Python and git or another version control system is assumed. Participants without any prior experience with Python or git should work through the proposed
[[introductory_material|introductory material]] **before** the course.
🌈 We care for diversity and inclusion, and strive for a welcoming atmosphere to programming scientists of all levels. In particular, we have focused on recruiting an international and gender-balanced pool of students: [[archives#stats|see]] how far we got in previous years!
=== Date & Location ===
** 25 August – 1 September, 2024**. [[location|Heraklion]], Crete, {{:flags:gr.png|Greece}} Greece
=== Applications ===
/*[[applications|apply now!]]*/
Application deadline: **23:59 UTC, Wednesday 1 May, 2024**. There will be no deadline extension, so be sure to apply on time.
**The deadline for application has expired**. If you missed it, write to [[info@aspp.school]] to be put onthe announcement list for **ASPP2025**.
We are currently reviewing the 141 applications.\\
/*Invitations and notifications of rejection will be sent by Sunday 26 May, 2024.
Invitations and notification of rejection have been sent on Wednesday 15 May, 2024. We are now waiting for confirmation from the invited candidates.*/
The [[students|30 participants]] have been selected!
Participation is for free, i.e. **no fee is charged**! Participants however should take care of travel, living, and accommodation expenses by themselves.
=== Program ===
* Large-scale collaborative scientific code development with git and code forges
* Testing and debugging scientific code
* Organizing, documenting, and distributing scientific code
* Data in scientific programming
* Scientific programming patterns in Python
* What every scientist should know about computer architecture
* Writing parallel applications in Python
* Programming in teams
/*
* Best practices in data visualization
* Advanced NumPy
* Profiling and speeding up scientific code
*/
=== Sponsors ===
We are able to hold this year's ASPP school thanks to the financial support of the [[https://tuebingen.ai/|Tübingen AI Center]]. The [[https://www.imbb.forth.gr/en/|Institute of Molecular Biology & Biotechnology]] of the [[https://www.forth.gr/en|Foundation for Research and Technology – Hellas]] is hosting us in Heraklion and is taking care of the local organization. The [[https://www.g-node.org/|G-Node]] was the main supporter during ASPP's first ten years of existence and is still kindly hosting our web services.