Scientific Calendar Event

Starts 6 Nov 2023
Ends 17 Nov 2023
Central European Time
Giambiagi Lecture Hall (AGH)
Riva Massimiliano e Carlotta, Grignano 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
A. KOHLMEYER, Temple University, USA

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.


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