PhD Courses in Denmark

Tools for Scientific Software Development and Data Science (2024)

Doctoral School of Engineering and Science at Aalborg University

Welcome to Tools for Scientific Software Development and Data Science (2024)

The development of eScience and Data Science across research fields means many researchers have to spend a significant amount of time at their computers. As a consequence, we need to ensure that our skill set and toolbox is up to date and that we can accurately, effectively and in a research-wise justifiable manner conduct our research with a computer.


Who is this course for?

If you in your daily work do any of these:

  • Process data on a computer
  • Adapt code and scripts from colleagues or peers
  • Write code/scripts used by you, your colleagues or peers

then this course is for you. However, this is not a programming course.

Are you looking for a course on a specific programming language?

Check out the following courses:


In this course you will learn the practical skills and craftsmanship to increase your day-to-day research productivity and be able to use and/or produce scientific software with a high degree of compliance to modern research standards. After the completion of the course you should

  • have knowledge and understanding of collaboration practices in writing program code and managing data to ensure high quality scientific research and development
  • be able to with confidence assess and utilise IT work environments for scientific research and development projects
  • be able to apply current software development principles in development of program code and computational scripts for the use in scientific research

In more common terms you will learn to e.g.

  • apply the widely used commandline interface/shell bash in your daily work.
  • apply the widely used version control system Git in your daily work.
  • understand concepts related to computational reproducibility and data management.


Hands-on interactive three-day event with participatory live-coding, demos and presentations. The participants are encouraged to follow and run the same examples as shown during the course. The workshop will contain several smaller practical 5-10 minutes exercises and breaks.

Course structure

1. Day:

    • Introduction: why are we here?
    • Work in practice: what IT resources are available to me?
    • Get efficient with the command line interface (shells: MacOS(zsh), Linux(bash) - Windows users will use a Linux environment)
    • Basic version control: Git and what you need for your everyday work

2. Day:

    • Code smart: software development principles to live by
    • Be smart: using automatic testing (with examples in Matlab, R and Python)
    • Work smart: instead of (re)writing code use scripts to combine existing rutines to produce the output you need

3. Day:

    • Advanced version control: Git as a platform for collaboration
    • Show off your examples with Jupyter notebook
    • Get more out of your code: Computational Reproducibility
    • Get more out of your data: FAIR (findability, accessibility, interoperability, and reusability).

We will not teach a specific programming language and will try to keep the presented material as language-independent as possible.

This is not a programming course.


  • You will need to bring a laptop with Windows / OS X / Linux.
  • You know the basics of a least one programming language.
  • You can navigate your computer, locate files etc.
  • Read Wilson et. al. “Good enough practices in scientific computing” and start thinking about the presented ideas and to what extent it can be adapted in your work.

We expect that:

  • You actively participate and work on the examples and exercises.
  • You talk to your neighbors and help each other.
  • Ask for help if both you and your neighbors are stuck.

Course project

The course project will contain several elements from the course. Participants are presented with a default project, or can take on a project based on their existing work if they find this option suitable. The project will require additional work following the three course days.


Participants attending at least 80% of the course and submitting an acceptable course project receive credits.


Special consultant Gergely István Barsi

Dates: 16, 17 September and 7 October 2024

Location: TBA

City: Aalborg

Zip Code: 9220

Number of seats: 30

Deadline: 26 August 2024