Scientific Calendar Event



Description
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.

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
  • Visualisation as a development tool
  • Conversational development
Lecturers:
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.

Go to day
  • Monday, 28 November 2022
    • 08:30 - 10:30
      The whole material is available on the Gitlab server at THIS LINK
      • 08:30 Workshop Registration formalities 2h0' ( Adriatico Guest House - (Lower Level 1) )
        REGISTRATION: Upon arrival, Visitors not staying in the ICTP Guest Houses, are kindly requested to complete registration formalities at the Adriatico Guesthouse, Registration Desk (Lower level) from 8.30 till 10.30.
    • 10:30 - 18:30
      Location: Adriatico Guest House - Giambiagi Lecture Hall
      • 10:30 Welcome / Overview / Software Development Basics 15'
        Speaker: Ivan GIROTTO (ICTP, Italy)
      • 10:45 Coffee break 30'
      • 11:15 Get-to-know session 1h15'
      • 12:30 Lunch break 1h30'
      • 14:00 Intro to Python 1h0'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
        Material: Slides
      • 15:00 Intro to Git 1h0'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France)
        Material: Slides
      • 16:00 Coffee break 30'
      • 16:30 Hands-on: Project Euler Using Git 2h0'
        Speaker: David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
  • Tuesday, 29 November 2022
    • 09:30 - 18:30
      Location: Adriatico Guest House - Giambiagi Lecture Hall
      • 09:30 Basic of Programming 1h15'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France)
        Material: Slides
      • 10:45 Coffee break 30'
      • 11:15 Intro to Numpy/Scipy 1h15'
        Speaker: Ivan GIROTTO (ICTP, Italy)
        Material: Slides
      • 12:30 Lunch break 1h30'
      • 14:00 Hands-on: Python for Scientific Computing 2h0'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
        Material: Slides
      • 16:00 Coffee break 30'
      • 16:30 Hands-on: Python for Scientific Computing 2h0'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
  • Wednesday, 30 November 2022
    • 09:30 - 18:30
      Location: Adriatico Guest House - Giambiagi Lecture Hall
      • 09:30 Advanced Git 1h15'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France)
        Material: Slides
      • 10:45 Coffee break 30'
      • 11:15 Object Oriented Programming 1h15'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
        Material: Slides
      • 12:30 Lunch break 1h30'
      • 14:00 OO in Python 1h0'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France)
        Material: Slides
      • 15:00 Hands-on: OO 1h0'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France), David GRELLSCHEID (University of Bergen, Norway)
        Material: Slides
      • 16:00 Coffee break 30'
      • 16:30 Hands-on: OO 2h0'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France), David GRELLSCHEID (University of Bergen, Norway)
  • Thursday, 1 December 2022
    • 09:30 - 18:30
      Location: Adriatico Guest House - Giambiagi Lecture Hall
      • 09:30 Code Design, Algorithms & Optimization 1h15'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
        Material: Slides
      • 10:45 Coffee break 30'
      • 11:15 Compiled Codes 1h15'
        Speaker: Ivan GIROTTO (ICTP, Italy)
        Material: Slides
      • 12:30 Lunch break 1h30'
      • 14:00 Unit Testing 1h0'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France)
        Material: Slides
      • 15:00 Floating Point 1h0'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 16:00 Coffee break 30'
      • 16:30 Python Packaging 2h0'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France), David GRELLSCHEID (University of Bergen, Norway)
        Material: Slides
  • Friday, 2 December 2022
    • 09:30 - 18:30
      Location: Adriatico Guest House - Giambiagi Lecture Hall
      • 09:30 Visualization 1h15'
        Speaker: Laura GARRISON (University of Bergen, Norway)
        Material: Slides
      • 10:45 Coffee break 30'
      • 11:15 Visualization 1h15'
        Speaker: Laura GARRISON (University of Bergen, Norway)
        Material: Slides
      • 12:30 Lunch break 1h30'
      • 14:00 Visualization 2h0'
        Speaker: Laura GARRISON (University of Bergen, Norway)
        Material: Slides
      • 16:00 Coffee break 30'
      • 16:30 Visualization 2h0'
        Speaker: Laura GARRISON (University of Bergen, Norway)
        Material: Slides
  • Monday, 5 December 2022
    • 09:30 - 18:30
      Location: Adriatico Guest House - Kastler Lecture Hall
      • 09:30 Conversational Development 1h15'
        Speaker: Alessandro CORBETTA (TU/e, Netherlands)
        Material: Slides
      • 10:45 Coffee break 30'
      • 11:15 Development Projects Setup 1h15'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
        Material: Slides
      • 12:30 Lunch break 1h30'
      • 14:00 Test Suites and Continuous Integration 2h0'
        Speaker: Alessandro CORBETTA (TU/e, Netherlands)
      • 16:00 Coffee break 30'
      • 16:30 Hands-on: Set up and plan Group Projects 2h0'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
        Material: Slides
  • Tuesday, 6 December 2022
    • 09:30 - 18:30
      Location: Adriatico Guest House - Kastler Lecture Hall
      • 09:30 Docker usage in CI 1h15'
        Speaker: Alessandro CORBETTA (TU/e, Netherlands)
        Material: Slides
      • 10:45 Coffee break 30'
      • 11:15 Animations 1h15'
        Speaker: Laura GARRISON (University of Bergen, Norway)
      • 12:30 Lunch break 1h30'
      • 14:00 Hands-on: Work on Group Projects 2h0'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
        Material: Slides
      • 16:00 Coffee break 30'
      • 16:30 Hands-on: Work on Group Projects 2h0'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
  • Wednesday, 7 December 2022
    • 09:30 - 17:30
      • 09:30 Makefiles for workflows 1h15'
        Speaker: Ali FARNUDI (École normale supérieure de Lyon, France)
      • 10:45 Group photo 2'
      • 10:45 Coffee break 30'
      • 11:15 Documentation 1h15'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 12:30 Lunch break 1h30'
      • 14:00 Hands-on: Work on Group Projects 2h0'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
      • 16:00 Coffee break 30'
      • 16:30 Hands-on: Work on Group Projects 1h0'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
    • 19:30 - 21:30
      • 19:30 All together dinner 2h0'
  • Thursday, 8 December 2022
    • 09:30 - 18:30
      Location: Adriatico Guest House - Kastler Lecture Hall
      • 09:30 Development Experience 1h0'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
      • 10:45 Coffee break 30'
      • 11:15 Hands-on: Work on Group Projects 1h15'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
      • 12:30 Lunch break 1h30'
      • 14:00 Hands-on: Work on Group Projects 2h0'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
      • 16:00 Coffee break 30'
      • 16:30 Hands-on: Work on Group Projects 2h0'
        Speaker: Ivan GIROTTO (ICTP, Italy), Laura GARRISON (University of Bergen, Norway), Alessandro CORBETTA (TU/e, Netherlands), David GRELLSCHEID (University of Bergen, Norway), Ali FARNUDI (École normale supérieure de Lyon, France)
  • Friday, 9 December 2022
    • 09:30 - 12:30
      Location: Adriatico Guest House - Kastler Lecture Hall
      • 09:30 Project Presentations Finalization 1h15'
      • 10:45 Coffee break 30'
      • 11:15 Project Presentations / Handing out of Certificates 1h15'
        Material: Project links