Starts 19 Oct 2021
Ends 17 Dec 2021
Central European Time
Online -
Online
An ICTP Virtual Meeting

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:
  • Effective collaborative development with multiple co-authors
  • Python / shell scripts as glue code
  • Modular, reusable software design
  • Software optimization
  • Version control and release cycles
  • Automated testing frameworks
  • Structured documentation
  • Management of open source scientific packages
  • Continuous integration & deployment
  • Conversational development

Speakers:
A. CORBETTA, Eindhoven University of Technology, Netherlands
A. FARNUDI, École normale supérieure de Lyon, France & Sharif University of Technology, Tehran, Iran
D. GRELLSCHEID, University of Bergen, Norway & ICTP, Trieste, Italy
S. HOLMGEIRSDOTTIR, Sensar Marine, Bergen, Norway
S. RICHTER, University of Stockholm, Sweden

Tutors:
S. ALIEI, ICTP, Italy
O.D. ARBELÁEZ ECHEVERRI, Core of Science, Colombia
I. GIROTTO ICTP, Italy
C. JARNE, Universidad Nacional de Quilmes, Argentina
E. MENKAH KNUST, Ghana
W.F. OQUENDO, Universidad de la Sabana, Colombia
A. SARTORI, ICTP, Italy
J.M. SOLANO-ALTAMIRANO, Benemérita Universidad Autónoma de Puebla, Mexico


Prerequisite: Participants are expected to have some experience in a programming language, this course is not suitable for beginners in programming.

Registration: There is no registration fee.

Organizers

Alessandro Corbetta (Eindhoven University of Technology, Netherlands), David Grellscheid (University of Bergen, Norway & ICTP, Italy), Local Organiser: Ivan Girotto