Voor de beste ervaring schakelt u JavaScript in en gebruikt u een moderne browser!
Je gebruikt een niet-ondersteunde browser. Deze site kan er anders uitzien dan je verwacht.
Why choose the Scientific Programming in Python course?

Flexible and well-supported

Read more
Self study with on-site assistance

Unique course structure

Read more
Learn programming step by step to build your confidence in programming

Learn Python in a scientific context 

Read more
Apply your new skills in any domain

For whom?

The informatics Institute offers two Scientific Programming courses in Python. Do you want to learn the fundamentals of programming in Python in a scientific context? The first course (Scientific Programming 1) is a great starting point to learn the absolute basics of computer programming in Python in 7 weeks. Do you already have a basic understanding of Python and want to learn more? Dive deeper during our second 7 week course (Scientific Programming 2) and discover how to use Python to solve more challenging problems.


Do you have questions about this programme? 

Please contact: Liza Lambert Project Manager Lifelong Learning (Informatics Institute)
E: professionaleducation-ivi@uva.nl

About the programme
  • Flexible design of the programme

    The Scientific Programming course is primarily self-study. The best way to learn programming is by doing it, not only by listening to someone explaining it. So this course does not contain any on site lectures except for the kick-off at the start of the course and we offer (optional) on-site tutorials.

    Scientific Programming Part 1 consists of three levels and a bonus level. For the first two levels you can choose between two different modules (this is not applicable for the third level). This allows you to choose the module that fits your interests best.  Scientific Programming 2 course has a fixed programme.

    The total amount of expected hours for both courses is 80 hours over the course of 7 weeks. This means that the time investment for each of these courses will average to a little over 11 hours per week.

    The courses conclude with a final exam which takes place on-site at the Science Park campus. There are two exam opportunities; the final exam and a resit (about two months later) if you did not pass the final exam. 

    We really encourage you to complete each course within 7 weeks, but if you are not able to finish it in 7 weeks you are able to continue with the course, finish your assignments and join the tutorials to get assistance until the next exam date (resit). 

  • Assistance

    We are available throughout the week to help you with the programming modules. We offer on-site assistance during tutorials (two hours each) scheduled a few times every week.

    You can attend these tutorials at the Science Park campus to work on your assignments and get help when you need it. These tutorials are not compulsory, but we highly recommend visiting them as they provide you with the highest level of engagement. During these sessions we can help you with all of your questions if you get stuck. It has been shown that attending these helps participants of the course a lot with their progress.

Scientific Programming 1
  • Course description

    Python is used for many different applications such as web development, data science and machine learning. This Scientific Programming 1 course serves as an excellent entry point for mastering the essential principles of programming in Python over a span of 7 weeks. During this 7 week course we focus on the basics of programming, which you will learn by working on programming problems from several scientific areas. After completing the course you will know the principles of programming, be able to apply them to any domain and use them for your own projects.

  • For whom?

    The course is designed for anyone who wants to learn computer programming in Python and who has some curiosity about different scientific subjects (like natural language processing and data analysis). No prior experience with programming is required. A university/higher education level is recommended.

  • Modules

    Level 1     (you can choose one of the modules)

    ALGORITHMS. Learn to think like a computer. Things that we intuitively know how to do, like drawing a pyramid or computing change for a payment, is hard to get a computer to do right. In this module you’ll learn how to break down such intuitive problems into steps that even a computer can understand. or NUMBERS. How do you know if a number is a prime number? Number theory is the science about properties of numbers. In this mathematically oriented module you create a series of programs that compute this and other properties of numbers. No math knowledge required for this module. (You will learn some, though)

    Level 2     (you can choose one of the modules)

    TEXT. Natural language processing is the science of making a computer understand (something about) natural human language. You will learn how you can get a computer to understand the sentiment of tweets. Is the tone of the tweet positive or negative?

    or NUMERICAL INTEGRATION. In many scientific fields you need to determine the surface area under a function. Integration is a mathematical tool for doing so. However this tool doesn't always work and in such cases we can use numerical integration techniques to let the computer do the work for us. You will learn two important techniques for numerical integration.
    Level 3 (there is no choice for this level) BIG-DATA. In this module you will learn to work with data. You will, for example, analyze weather from the Netherlands and answer questions like: When was the first heat-wave? What was the longest freezing period?
    Bonus level (this module is optional) MOVEMENT. What happens if you dig a tunnel from one side to the other side of the planet and you fall in this tunnel? In this module you’re going to simulate that situation. In physics you often run into problems that are too laborious to compute by hand. In this module you’ll learn how to use your computer instead.
  • After completing the course
    • You can transform the description of a simple algorithm into working code by combining basic programme elements.
    • You can track down and fix several common programming errors in simple programmes.
    • You can apply several scientific programming techniques from different fields of study.
    • You can make your programmes simple to understand and easy to read by employing standard tactics.
    • You can use libraries in your programme and know how to find and read documentation on new-found libraries.
  • Schedule

    Retake Scientific Programming 1 (February 2024 start):
    •   Thursday 30 May 2024, 09:00 – 12:00

    Date kick-off 2024 Scientific Programming 1:
    •   Wednesday 4 September 2024, 10:00 – 15:30

    Date kick-off 2025 Scientific Programming 1:
    •   Wednesday 5 February 2025, 10:00 – 15:30

    Exam dates Scientific Programming 1 (September 2024 start):
    •   Monday 21 October 2024, 9:00-12:00 
    •   Monday 16 December 2024, 9:00-12:00 (resit)

Scientific Programming 2
  • Course description

    Do you have a basic understanding of Python and do you want to learn more? In this course, you'll discover how to use Python more effectively. You'll explore various ways Python can help you solve more challenging problems. You'll learn about built-in Python features and add-ons that not only simplify your life as a programmer but also enable you to create efficient algorithms. During the course you will use these skills to analyze large datasets and conduct complex simulations.

  • For whom?

    This course is suitable for those who already have some programming experience and would like to further develop their programming skills. This course is initially intended for those who have completed Scientific Programming 1 and wish to delve deeper. If you have no programming experience, you should complete this course first. If you have some programming experience but haven't taken Scientific Programming 1, this course can still be suitable for you.

    If you have not completed Scientific Programming 1 and would like to assess if you’re ready for Scientific Programming 2, check out our example problems in the self-assessment. If you can solve them independently, you likely have sufficient expertise.

  • Modules


    Level 4 MONOPOLY: When playing Monopoly, a starting player's advantage seems unfair. To verify, you could play many (millions) real games, but this would take way too much time. Instead, you'll write a computer simulation. This also allows you to experiment with game adjustments to make it fair. You're doing all this for a board game, but this simulation principle applies to various scientific fields (economy, chemistry, biology...).
    Level 5 (you can choose one of these modules)  
    COMPLEXITY: What is an efficient algorithm? When you want to run large simulations, analyze large dataset, or any other computationally intensive task, writing efficient algorithms could in some cases mean the difference between a run time of a couple of minutes or of weeks. The theory of computational complexity gives you a way to reason about the efficiency of algorithms and make them run (much) faster. or SHAKESPEARE: Was the play “Arden of Faversham” (1592) written by Shakespeare? A.C. Swinburne thought it was, but T.S. Eliot didn’t. Could we create a computer program that could settle the debate once and for all? It turns out that the answer is: yes… maybe?


    Level 6 SURVIVAL: Python is very popular for analyzing and processing data. And Pandas is an important reason why. Pandas is the most used Python package for handling data. You will learn how to use this package to analyze and visualize geographical data.



  • After completing the course
    • you can use all basic data structures offered by Python (dictionaries, sets, etc.).
    • you know how you can write efficient algorithms.
    • you know how to read, process, and write data large datasets using the Pandas library.
    • you know how to visualize data using Seaborn.
    • you can find new libraries for use in your programming projects and are able to learn to use these by studying the documentation.
  • Schedule

    Retake Scientific Programming 2 (February 2024 start):
    •   Wednesday 29 May 2024, 13:00 – 16:00

    Date kick-off 2024 Scientific Programming 2:
    •   Thursday 5 September 2024, 15:00 – 17:00

    Date kick-off 2025 Scientific Programming 2:
    •   Thursday 6 February 2025, 15:00 – 17:00

    Exam dates Scientific Programming 2 (september start):
    •   Tuesday 22 October 2024, 13:00-16:00 
    •   Tuesday 17 December 2024, 15:30-18:30 (resit)

Kick-off day

Both courses start with a kick-off which will take place on our UvA Science Park campus. The goal of these kick-offs is to get started with the course, get an overview of the topics that will be discussed and to meet fellow participants.

Kick-off Scientific Programming 1:
•   Wednesday 4 September 2024, 10:00 – 15:30
•   Wednesday 5 February 2025, 10:00 – 15:30

Kick-off Scientific Programming 2:
•   Thursday 5 September 2024, 15:00 – 17:00
•   Thursday 6 February 2025, 15:00 – 17:00


Course materials

All the reading and video material is available on the website of the courses. You do not need to purchase any books or software. You will get access (on the day of the kick-off) to the programming modules online. Every module consists of short explanations (written and in the form of videos) and assignments.


For these courses you need to have your own laptop (for the kick-off day and the tutorials on which the software can be installed. We are not able to provide you with a laptop.

Exam and certificate

Every module has an assignment which needs to be completed successfully to pass the course. If your assignment does not get a passing grade you will always be able to revise and resubmit the assignment. The courses conclude with a final exam which takes place at the Science Park campus. There are two exam opportunities, the final exam and a final resit (about two months later) . In the meantime, you can still join the tutorials to get assistance.

After completing the modules successfully and passing the final exam you will receive a certificate which states you have succesfully completed the course. 



We offer on campus (walk-in) tutorials a few times every week during which you can work on your assignment and you can get help with your assignments if you get stuck. These tutorials are not compulsory, but we highly recommend visiting a tutorial once a week as they are a vital part of the course design. It has been shown that without attending at least some of the tutorials participants can find it challenging to finish the course. 

The tutorials are scheduled every week on:
•   Mondays 17:00-19:00
•   Wednesdays 15:00-17:00
•   Thursdays 17:00-19:00
•   Fridays 15:00-17:00

The tutorials take place on the UvA Science Park campus in Amsterdam.