Starts 29 Apr 2019
Ends 10 May 2019
Central European Time
Giambiagi Lecture Hall (AGH)
Via Grignano, 9 I - 34151 Trieste (Italy)

Writing software has become central to research in many fields of science. This school aims to give early-career scientists an introduction to a variety of topics that help them to write efficient, clean, maintainable and long-lived code that is useful beyond solving an immediate problem. In a mixture of talks and many hands-on sessions, the focus lies on showing best practices and building fundamental skills in creating, extending and collaborating on modular and reusable software.


●    Python / shell scripts as glue code
●    Mixing programming languages
●    Introduction to computer architectures and software optimization
●    Modular, reusable software design
●    Effective collaborative development with multiple co-authors
●    Version control and release cycles
●    Automated testing frameworks
●    Structured documentation
●    Systematic debugging
●    Management of open source scientific packages
●    Continuous integration & deployment
●    Conversational development
Participants are expected to have some experience in a programming language, this course is not suitable for beginners in programming.

Grants:  A limited number of grants are available to support the attendance of selected participants, with priority given to participants from developing countries.
There is no registration fee.


**DEADLINE: 15/02/2019**
**DEADLINE: 15/02/2019**


Ivan Girotto (ICTP), Alessandro Corbetta (Eindhoven University of Technology), David Grellscheid (University of Bergen & ICTP),