Scientific Programming

Learn to program in Python and use your skills in scientific projects

What this is about

Scientists use computation to simulate real-world scenarios, to mine data obtained in large-scale studies, and to gain insights that might otherwise stay hidden. A bit of programming knowledge and a couple of basic techniques are all that you need to get better and faster results. Our courses below help you learn Python, a language now often used in science, as well as many techniques that you can use in your own projects. Whether you're a student or a seasoned researcher, you're welcome to learn with us!

How we teach

Teaching is online for this track. The courses are self-contained and allow you to progress by studying programming theory and... writing many programs! All problems are small versions of real scientific computing challenges. Later, you'll progress towards defining, designing and implementing larger projects. Upon registration, you get access to a forum where students post questions and answers. In case you get stuck, there's also an option to book a one-on-one appointment with one of the staff.


Follow the links below to have a look at any of the courses. You can immediately start practicing if you'd like! And if you're a UvA staff or student, you might consider registering to earn credit or a certificate as well.

Scientific Programming 1

In this course you’ll learn Python, a programming language that is increasingly used by scientists from all fields of study. We focus on the absolute basics of programming, which you will learn while doing programming problems from several scientific areas. (Workload: about 80 hours)

Scientific Programming 2

This course continues the problem solving curriculum from Scientific Programming 1. You’ll work on larger programs and get to know Python a lot better, so you get ready to learn more programming techniques on your own. (Workload: about 80 hours)

Data Processing

In this course you’ll build your own toolkit of useful programs with which you can read, transform and analyse data that you might find in various scientific areas. Before starting this course, you need a thorough understanding of Python! (Workload: about 160 hours)


You can earn a certificate or course credit if you're among UvA students or staff (generally for free!). Enrolling officially also connects you to the community of students and teachers for our courses. Generally, you can plan to do any of our courses between September–December and February–May. To enrol, enter your information on our registration website, and we'll guide you through the process.

Register now


Have questions? Send us an e-mail at One of the teachers or assistants will help you out.

Copyright 2020 Martijn Stegeman / Universiteit van Amsterdam. Alle rechten voorbehouden. Icons made by Eucalyp from