=== Description === Scientists spend a significant amount of time writing, maintaining and debugging software. While techniques for doing this efficiently have evolved, only few scientists have been trained to use them. They end up being overwhelmed by the coding challenges they face and keep re-inventing the wheel. In the hope to free more time for research they increasingly rely on generative AI, which may produce runnable code without the need to fully understand it. Such code can neither be reused nor trusted to work correctly and, as a result, scientists are hesitant to share it and publish it. 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 participants to acquire direct hands-on experience with the topics. Participants 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. This school is targeted at PhD students, postdocs and more senior researchers from all fields, who do a lot of programming in their academic life, but were never taught how to do so properly. Competence in programming and basic knowledge of Python and git is assumed. Participants are required to work through the proposed [[introductory_material|introductory material]] before. 🌈 We strive for a welcoming and sociable atmosphere for scientists from all walks of life. In particular, we focus on recruiting an international and gender-balanced pool of students: [[archives#stats|see]] how far we got in previous years! === Date & Location === ** 21–28 September, 2025**. [[location|Plovdiv]], {{:flags:bg.png|Bulgaria}} Bulgaria === Applications === /*Application deadline: **23:59 UTC, Sunday 1 June, 2025**. 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 next year. /*We are currently reviewing the 102 applications. Invitations and notifications of rejection will be sent by **Sunday 15 June, 2025**.*/ /* Invitations and notification of rejection have been sent on Sunday 15 June, 2025. We are now waiting for confirmation from the invited candidates.*/ The [[students|28 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 === ASPP2025 is hosted by the [[https://www.tu-plovdiv.bg/en/|Technical University of Sofia, Plovdiv branch]]. The organization is done in collaboration with [[https://www.mnknowledge.com/|MNKnowledge]] and with the financial and institutional support of the [[https://tuebingen.ai/|Tübingen AI Center]]. {{ mnk_black.png?nolink }}