Scientists spend more and more time writing, maintaining, and debugging software. While techniques for doing this efficiently have evolved,
only a 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 school, we will present a selection of advanced programming techniques and best practices that are standard in the industry
but specially tailored to the needs of a programming scientist. Lectures are devised to be interactive and to give the students enough time to acquire
direct hands-on experience with the materials. 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. We show how clean language design, ease of extensibility, and the
great wealth of open source libraries for scientific computing and data visualization are driving Python to become a standard tool for the
programming scientist.
This school is targeted at Master or Ph.D. students and Post-docs from all areas of science. Competence in Python or in another language such as Java,
C/C++, MATLAB, or R is **absolutely required**. Basic knowledge of Python and of a version control system such as git, subversion, mercurial,
or bazaar is assumed. Participants without any prior experience with Python and/or git should work through the proposed
[[introductory_material|introductory material]] **before** the course.
We are striving hard to get a pool of students which is international and gender-balanced: [[archives#stats|see]] how far we got in previous years!
[[faq|FAQ]][[archives#stats|Archives]]
=== ASPP-LatAm ===
ASPP-LatAm is the second instance of the [[https://aspp.school|ASPP]] Summer School intended for the public of the Latin American region of the world. ASPP has taken place in the European continent for more than 10 years with 14 instances in 7 different countries. An edition of the summer school for the public of the Asia-Pacific region of the world, [[https://aspp.school/aspp-asia-pacific-2019/|ASPP-APac]], has already taken place in the Australian continent for two consecutive years. You can see the materials from every instance of both editions of the summer school in the [[archives]].
[[faculty|faculty]] [[students|students]]
=== Date & Location ===
**July 29 - August 3, 2024** in [[https://osm.org/go/S8fAAKB-?relation=1376330|Mexico City]], Mexico {{:flags:mx.png|Mexico}}
Application deadline: **June 14, 2024, 23:59 UTC**.
/*The application process for the 2024 edition of ASPP-LatAm has been closed.
The 30 participants have been selected!
Be sure to check out the information about [[location|venue and travel]].*/
/*If you missed the application deadline and would be interested in applying to a future edition of ASPP-LatAm, write to [[latam@aspp.school]] to be put on the announcement list for the next edition.*/
**The school for 2024 has been cancelled!**
Keep a lookout for the school in 2025.
[[location|venue & travel]]
=== Program ====
**Important notice:** The official language of the school will be **English**.
* Version control with git and how to contribute to open source projects with GitHub
* Best practices in data visualization
* Testing and debugging scientific code
* Advanced NumPy
* Organizing, documenting, and distributing scientific code
* Advanced scientific Python: context managers and generators
* Writing parallel applications in Python
* Profiling and speeding up scientific code with Cython and numba
* Programming in teams
[[schedule|schedule]]
=== Sponsors ===
We are able to hold the 2nd edition of the ASPP-LatAm summer school thanks to the generous support of the [[https://www.sectei.cdmx.gob.mx|SECTEI]]. Their contribution reflects their commitment
to social enterprise and their mission to promote a culture of change and digital innovation,
with a particular focus on integration, communication, and economic and social growth.
[[applications|apply]]