Skip to main content
Software development for researchers

2025

Table of contents

Communication

There will be an email list created for all participants of the course. The main reporting about lecture dates and locations as well as practicals will be trough this list, e.g. if a lecture has to be moved it will come trough email.

If there are questions / discussion about the course, one can also send to this email list.

For discussing programming and asking questions I recommend using the #python slack channel on the IRF slack.

There is also the #linux-users channel for discussion about Linux systems.

Note!

There is now also the #software-development-course channel on slack!

Schedule

The course is designed to run over approximately 12 weeks.

This year it will run between:

  • Start: Week 11 (2025-03-10)
  • End: Week 23 (2025-06-05)

Practicals

The course contain two (2) larger practical tasks done in groups, these tasks are more complex and thus usually cannot be completed during a single session.

As such there will be three half-day hackathons where these tasks are started and worked on. They are then finished by the groups on their own.

This year the hackathons will be:

  • Hackathon 1 - Practical 1: March 31 (Monday) 09:00 - 12:00 @ Aniara
  • Hackathon 2 - Practical 2: April 25 (Friday) 10:30 - 12:00 @ Aniara
  • Hackathon 3 - Practical 2: June 4 (Wednesday) 13:00 - 16:00 @ Mima

Lectures

Lecture outline

  1. Hello World - March 19 09:00 - 10:30 @ Aniara
  2. Why this course? - March 19 13:00 - 14:30 @ Aniara
  3. Python programming - March 21 09:00 - 10:30 @ Aniara
  4. Your tools and environment - March 25 09:00 - 10:30 @ Aniara
  5. Solving problems - March 28 09:00 - 10:30 @ Aniara
  6. Writing code for Humans to read and Machines to run - April 1 09:00 - 10:30 @ Aniara
  7. Collaboration - April 4 09:00 - 12:00 @ Aniara
  8. Styles of development - April 8 09:00 - 10:30 @ Aniara
  9. Software design and architecture - April 25 9:00 - 10:30 @ Aniara
  10. Making it work: debugging - May 6 09:00 - 10:30 @ Aniara
  11. Making it work: logging and profiling - May 6 13:00 - 14:30 @ Aniara
  12. Automate away friction - May 9 09:00 - 10:30 @ Aniara
  13. Parallelization and foreign function interfaces - May 23 09:00 - 11:00 @ Aniara
  14. Optimization - May 27 09:00 - 11:00 @ Aniara

Download calendar file over lectures here

Lecture recordings

0. Hello World

Lecture Recording

download video

1. Why this course?

Recording

download video

2. Python programming

Recording

download video

3. Your tools and environment

Recording

download video

4. Solving problems

Recording

download video

5. Writing code for Humans to read and Machines to run

Recording

download video

6. Collaboration

Recording

download video

7. Styles of development

Recording

download video

8. Software design and architecture

Recording

download video

9. Making it work: debugging

Recording

download video

10. Making it work: logging and profiling

Recording

download video

11. Automate away friction

Recording

download video

12. Parallelization and foreign function interfaces

Recording

download video

13. Optimization

Recording

download video

To top
× Zoomed Image