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 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:
  • Modular, reusable software design
  • Version control and release cycles
  • Effective collaborative development with multiple co-authors
  • Introduction to project management
  • Structured documentation
  • Automated testing frameworks
  • Data visualisation
  • Visualisation as a development tool
  • Management of open source scientific packages
  • Continuous integration & deployment
  • Introduction to computer architectures and software optimization
  • Python / shell scripts as glue code

Lecturers:
A. CORBETTA, Eindhoven University of Technology, The Netherlands
A. FARNUDI, International Agency for Research on Cancer, France
L. GARRISON, University of Bergen, Norway
E. GHOBADPOUR, École normale supérieure de Lyon, France
I. GIROTTO, ICTP, 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.
Participants are required to attend 100% of the courses.
 
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.

Agenda: The agenda of the school is drafted in the "Programme" section. It might slightly change up to the beginning of the school but it can provide an idea of the proposed contents.
 
Go to day
  • Monday, 18 November 2024
    • 08:30 - 10:45 Workshop registration formalities
    • 10:45 - 18:30
      • 10:45 Welcome remarks 15'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 11:00 Get-to-know session 1h30'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 12:30 Lunch break 1h30'
      • 14:00 Python Basic Review 2h0'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 16:00 Coffee break 30'
      • 16:30 Git basics 2h0'
        Speaker: Ali FARNUDI (International Agency for Research on Cancer, France)
  • Tuesday, 19 November 2024
    • 09:30 - 17:00
      • 09:30 Writing Clean Codes 30'
        Speaker: Ali FARNUDI (International Agency for Research on Cancer, France)
      • 10:00 Intro to Object Oriented (OO) Programming 45'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 10:45 Coffee break 30'
      • 11:15 Hands-on: OO design 1h15'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 12:30 Lunch break 1h30'
      • 14:00 Hello, Visualization! 1h30'
        Speaker: Laura GARRISON (University of Bergen, Norway)
      • 15:30 Hands-on OO design and visualization exercises 30'
      • 16:00 Coffee break 30'
      • 16:30 Hands-on OO design and visualization exercises 30'
        (continued)
  • Wednesday, 20 November 2024
    • 09:30 - 21:00
      • 09:30 Git: branching, merging, conflicts 1h15'
        Speaker: Ali FARNUDI (International Agency for Research on Cancer, France)
      • 10:45 Coffee break 30'
      • 11:15 Representations of data: integers, floats, text 30'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 11:45 Computer Architectures: Focus on Efficient Memory Access 45'
        Speaker: Ali FARNUDI (International Agency for Research on Cancer, France)
      • 12:30 Lunch break 1h30'
      • 14:00 Introduction to Project Management 2h0'
        Speaker: Elham GHOBADPOUR (École normale supérieure de Lyon, France)
      • 16:00 Coffee break 30'
      • 16:30 Numpy, a deeper dive 30'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 17:00 Hands-on Numpy 30'
      • 19:00 Social Dinner 2h0'
  • Thursday, 21 November 2024
    • 09:30 - 18:30
      • 09:30 How to visualise: Perceptual foundations and visual encodings 1h15'
        Speaker: Laura GARRISON (University of Bergen, Norway)
      • 10:45 Coffee break 30'
      • 11:15 Testing and debugging 45'
        Speaker: Ali FARNUDI (International Agency for Research on Cancer, France)
      • 12:00 Feedback marketplace 30'
      • 12:30 Lunch break 1h30'
      • 14:00 Hands-on planets example 2h0'
      • 16:00 Coffee break 30'
      • 16:30 Hands-on planets example 2h0'
  • Friday, 22 November 2024
    • 09:30 - 18:30
      • 09:30 Advanced Charts + Interactive visualization 1h15'
        Speaker: Laura GARRISON (University of Bergen, Norway)
      • 10:45 Coffee break 30'
      • 11:15 Conversational development 1h15'
        Speaker: Alessandro CORBETTA (Eindhoven University of Technology, The Netherlands)
      • 12:30 Lunch break 1h30'
      • 14:00 Time management and planning 2h0'
        Speaker: Elham GHOBADPOUR (École normale supérieure de Lyon, France)
      • 16:00 Coffee break 30'
      • 16:30 Landcover exercise 2h0'
  • Monday, 25 November 2024
    • 09:30 - 18:30
      • 09:30 How do we know it’s actually better? 1h15'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 10:45 Coffee break 30'
      • 11:15 Test suites and CI 1h0'
        Speaker: Alessandro CORBETTA (Eindhoven University of Technology, The Netherlands)
      • 12:15 Project choices 30'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 12:45 Lunch break 1h15'
      • 14:00 Starting up the teams; project planning 30'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 14:30 Hands-on projects 1h30'
      • 16:00 Coffee break 30'
      • 16:30 Hands-on projects 2h0'
  • Tuesday, 26 November 2024
    • 09:30 - 18:30
      • 09:30 Python Packaging 45'
        Speaker: Ali FARNUDI (International Agency for Research on Cancer, France)
      • 10:15 Documentation tools 30'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 10:45 Group photo & Coffee break 30'
      • 11:15 What is behind the LLM hype 1h15'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 12:30 Lunch break 1h30'
      • 14:00 Hands-on projects 2h0'
      • 16:00 Coffee break 30'
      • 16:30 Hands-on projects 2h0'
  • Wednesday, 27 November 2024
    • 09:30 - 18:30
      • 09:30 Reproducible results 1h15'
        Speaker: Alessandro CORBETTA (Eindhoven University of Technology, The Netherlands)
      • 10:45 Coffee break 30'
      • 11:15 Visualisation uncertinties 45'
        Speaker: Laura GARRISON (University of Bergen, Norway)
      • 12:00 Mixing C++ with Python 30'
        Speaker: Ali FARNUDI (International Agency for Research on Cancer, France)
      • 12:30 Lunch break 1h30'
      • 14:00 Hands-on projects 2h0'
      • 16:00 Coffee break 30'
      • 16:30 Hands-on projects 2h0'
  • Thursday, 28 November 2024
    • 09:30 - 18:30
      • 09:30 Lecturer talks 1h15'
        Speaker: Laura GARRISON (University of Bergen, Norway), Ali FARNUDI (International Agency for Research on Cancer, France), Alessandro CORBETTA (Eindhoven University of Technology, The Netherlands), Elham GHOBADPOUR (École normale supérieure de Lyon, France), Alexandr POPOV (University of Bergen, Norway), Ivan GIROTTO (ICTP, Italy)
      • 10:45 Coffee break 30'
      • 11:15 Copyright and licensing 30'
        Speaker: David GRELLSCHEID (University of Bergen, Norway)
      • 11:45 Makefiles 45'
        Speaker: Ali FARNUDI (International Agency for Research on Cancer, France)
      • 12:30 Lunch break 1h30'
      • 14:00 Hands-on projects 2h0'
      • 16:00 Coffee break 30'
      • 16:30 Hands-on projects 2h0'
  • Friday, 29 November 2024
    • 09:30 - 12:30
      • 09:30 Group presentations 1h15'
      • 10:45 Coffee break 30'
      • 11:15 Group presentations 45'
      • 12:00 Closing remarks 30'