Starts 20 Apr 2020
Ends 1 May 2020
Central European Time
ICTP
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.

Topics:

• Python / shell scripts as glue code
• 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
• Management of open source scientific packages
• Continuous integration & deployment
• Conversational development

Lecturers:

A. CORBETTA, Eindhoven University of Technology, The Netherlands
A. FARNUDI, Sharif University of Technology, Tehran, Iran
I. GIROTTO, ICTP, Trieste, Italy
D. GRELLSCHEID, University of Bergen, Norway & ICTP, Trieste, Italy
S. HOLMGEIRSDOTTIR, These Ways AS, Bergen, Norway
S. RICHTER, DESY, Hamburg, Germany

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.

Participants are expected to have some experience in a programming language, this course is not suitable for beginners in programming.
**DEADLINE: 15/02/2020**

Organizers

Alessandro Corbetta (Eindhoven University of Technology), David Grellscheid (ICTP), Local Organiser: Ivan Girotto