Courses

Efficient Software Testing

Avoid embarrassing bugs! Learn to verify and design software using efficient testing techniques. There's no such thing as perfect software. Humans make mistakes, and AI-generated code is also often wrong. Some bugs are mild annoyances, others are a source of embarrassment, huge costs, privacy nightmares, or worse. However, you can make good and reliable software. The testing approaches in this course will let you catch most bugs early in development, with little overhead.

Go to course

Project Structure for Reproducible Work

Learn to structure your project files to avoid chaos and get reliable results. This course teaches you how to structure your computational projects in a way that both enables replicating results and helps with keeping complexity under control. Besides getting a good general template for organizing files, you will also learn what factors affect the evolution of project files, and how to account for these. This will enable you to adapt the material to a variety of projects and operating procedures.

Go to course

Productive Programming

Do you just want results but programming is getting in the way? Struggling to adapt your code to constant requirement changes? Trouble making your software run on different computers? Productive Programming can help! Cheat sheet Target audience The course is mainly aimed at beginner programmers, as well as scientists, researchers, or engineers who write programs as part of their work, but have an informal computational background (outside of computer science or software engineering).

Go to course