Learn research software engineering

Do you want to become an RSE? While there are few (if any) RSE-specific study programs at the moment, many are, at their core, programs that teach RSE skills. But, even if you have already studied something else, several online resources may help you obtain new competencies.

Contribute to this page.

Study programs

Curricula on Scientific Computing

Level Name University Country Language
B.Sc. Computing in Science University of Hamburg Germany German
M.Sc. Computational Modeling and Simulation TU Dresden Germany English
M.Sc. Computational Science and Engineering Technical University of Munich Germany English
M.Sc. Computational Science and Engineering University of Ulm Germany German
M.Sc. Scientific Computing University of Heidelberg Germany English
M.Sc. Scientific Computing University of Bayreuth Germany English
M.Sc. Scientific Computing TU Berlin Germany English
B.Sc. Simulation Technology University of Stuttgart Germany German
M.Sc. Simulation Technology University of Stuttgart Germany German

Curricula on High-Performance Computing

Level Name University Country Language
M.Sc. High-Performance Computing SISSA and ICTP Italy English
M.Sc. High-Performance Computing University of Edinburgh UK English

Curricula on Data Science

Level Name University Country Language
B.Sc. Data Science and Scientific Computing Munich University of Applied Sciences Germany German
M.Sc. Data Engineering and Analytics Technical University of Munich Germany English
M.Sc. High-Performance Computing with Data Science University of Edinburgh UK English

Other initiatives

Online resources

Better Scientific Software

Material all around writing better scientific software and beyond. See the list of all BSSw resources.

Competencies covered: DOCBB LIBS SWLC SWREPOS MOD SRU SP TEACH PM

Visit Better Scientific Software

CodeRefinery

Project currently funded by Nordic e- infrastructure collaboration. RSE network/community and workshops with public and mainly self-learning ready materials. General workshop and materials topics (programming language agnostic; but introduces some specific tools in hands-on materials): Intro to and collaborative git, reproducible research, social coding, documentation, jupyter, automated testing and modular code development. Also provides materials on community teaching and instructor training, as well as some other related materials, eg on CMake or data visualization with Python. See the list of all lessons.

Competencies covered: DOCBB SWREPOS SRU SP

Visit CodeRefinery

Featured image of this resource

Effective Computation in Physics

This O’REILLY book is a great resource that can be very useful for research software beyond Physics. The topics range from terminal, classes and objects, to deploying software, testing, debugging, and copyright.

Competencies covered: DOCBB LIBS SWLC SWREPOS MOD SRU SP DOMREP

Visit Effective Computation in Physics

FAIR software checklist

A self-assessment tool for findable, accessible, interoperable, and reusable research software.

Competencies covered: SRU SP

Visit FAIR software checklist

Help! I have a manager!

This is a (paid) zine by Julia Evans, discussing how to communicate with your manager (here: postdoc/professor). How to set clear expectations, ask and process feedback, and how to keep conversations constructive.

Competencies covered: USERS

Visit Help! I have a manager!

INTERSECT

In addition to their own material, INTERSECT also provides a list of other RSE learning material.

Competencies covered:

Visit INTERSECT

Nature Masterclasses

This is a video series discussing topics from academic writing and analyzing data, planning and performing experiments and data collections, managing data, leading, or planning a career in research. Available through university libraries.

Competencies covered: RC PM

Visit Nature Masterclasses

pyOpenSci Python Package Guide

A guide to package and publish Python-based software.

Competencies covered: SP

Visit pyOpenSci Python Package Guide

Research Software Engineering with Python

An ebook that one can read from front to back, covering the shell and CLI tools, Git basics, Makefiles, Configuration files, as well as a bit of Teamwork, Testing, Error-Handling, and Packaging. The level is mostly basic (also for people that have barely any previous experience with programming), but covers a wide range of essential skills. While Python is in the name, this is not really required.

Competencies covered: DOCBB LIBS SWREPOS SRU TEAM PM

Visit Research Software Engineering with Python

Featured image of this resource