6–10 Oct 2025
Center for Free-Electron Laser Science
Europe/Berlin timezone

Course 2. Scientific Software Development

Dates: 6 - 9 October 2025, 1:30 pm -5:00 pm
Venue: Center for Free-Electron Laser Science, SR II and III
Lecturer: Jörn Behrens, Universität Hamburg
Credit points: 1.0

Outline: 
The course  does not focus so much on a specific programming language or special algorithms, but rather on techniques such as software management, software planning and design, debugging techniques, verification and validation, and documentation. In other words, it focuses on good programming practices that are not usually taught.

 Time/Day  

Mon, Oct 6    

Tue, Oct 7   

Wed, Oct

Thu, Oct 9 

 

 

 

13:30-15:00

Introduction: aim, preliminaries, Facts & Falacies..., the hardware-software mapping problem, specifics of scientific software development

 

 

How to plan software development, Software Life Cycle, etc.

 

 

Testing and verification, code validation, automated build

 

 

Documentation, inline documentation, licensing

 

15:00-15:30

 

Coffee break

 

Coffee break

 

Coffee break

 

 

 

 

15:30-17:00

 

 

Versioning: Introduction to SVN and git

Intro to project management, programming approaches, estimation, etc., Using ticketing, release plans

 

 

Testing strategies, Code management, maintenance, debugging strategies

Times are estimates

 

Lecturer: Jörn Behrens is Professor of Numerical Methods in Geosciences at the Faculty of Mathematics, Informatics and Natural Sciences, Department of Mathematics, University of Hamburg. His group “Numerical Methods in Geosciences” develops methods for efficiently solving multi-scale geoscientific problems numerically. An unsolved question in such simulations is the correct description and numerical representation of multi-scale processes. One of our key objectives is the development of Adaptive Multi-Scale Methods. More info on Prof. Behrens.