Differences

This shows you the differences between two versions of the page.


start [2019/03/14 14:57] Tiziano Zito
Line 1: Line 1:
 +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 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 PhD 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!
 +
 +You can [[applications|apply online]].
 +
 +[[faculty|Faculty]], [[faculty#organizers|organizers]], [[students|students]].
 +
 +
 +==== Date & Location =====
 +**2–7 September, 2019**. [[https://goo.gl/maps/3EfZ3ttXAGs|Camerino]], {{:flags:it.png|Italy}} Italy
 +
 +==== Program =====
 +  * Version control with git and how to contribute to open source projects with GitHub
 +  * Tidy data analysis and 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
 +
 +Also see the [[schedule|detailed day-by-day schedule]] and information about [[location|venue and travel]].
 +
 +==== Sponsors ====
 +We are able to hold this year's edition of the Python School thanks to the generous support of
 +[[http://www.fondazionetim.it/|Fondazione TIM]]. Their contribution reflects their commitment
 +to social enterprise and their mission to promote a culture of change and digital innovation,
 +with particular focus on integration, communication and economic and social growth.
 +
 +
 +==== Materials from previous years ====
 +See the [[archives]].