Starts 28 Nov 2022
Ends 9 Dec 2022
Central European Time
Strada Costiera, 11 I - 34151 Trieste (Italy)
An ICTP Meeting in presence

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
  • 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
  • Visualisation as a development tool
  • Conversational development
A. CORBETTA, Eindhoven University of Technology, The Netherlands
A. FARNUDI, École Normale Supérieure de Lyon, France
L. GARRISON, University of Bergen, Norway
I. GIROTTO, ICTP, Trieste, Italy
D. GRELLSCHEID, University of Bergen, Norway

Prerequisites: 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.

In person participation: As regards the COVID-19 policy, we advise to follow the updated rules available on the ICTP page Access Guidelines for Visitors.
**DEADLINE: 14/10/2022**


Alessandro CORBETTA (Eindhoven University of Technology), David GRELLSCHEID (University of Bergen), Local Organiser: Ivan Girotto (ICTP)