For best experience please turn on javascript and use a modern browser!
You are using a browser that is no longer supported by Microsoft. Please upgrade your browser. The site may not present itself correctly if you continue browsing.
Why choose the Scientific Programming in Python I course?

Boost your impact

Read more
Apply your skills to real-world data and simulations.

Real-world results

Read more
Build practical solutions you can use right away.

Learn by doing

Read more
Strengthen your skills through hands-on challenges.

Advance your expertise

Read more
Develop professional-level Python skills in a scientific context.

For whom?

Scientific Programming in Python II is designed 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 in Python I 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 in Pyton I, this course can still be suitable for you.

 

Course description

Python is used for many different applications such as web development, data science and machine learning. This Scientific Programming in Python I 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.

Unsure about your programming level?

If you already have some programming experience but are not sure if it’s sufficient for this course, you can take the self-assessment. It provides an indication of your current level and whether you are prepared for more advanced topics and problem-solving.

The assessment includes example problems that reflect the expected entry level for Scientific Programming in Python II. If you can solve them independently, you are ready to start with Scientific Programming in Python II and can skip Scientific Programming in Python I.

About the programme
  • Flexible design

    This course builds on your existing knowledge of Python and focuses on developing more advanced programming skills in a scientific context. You will deepen your understanding of Python by working with advanced language features and commonly used libraries for data analysis and computation.

    The course is structured around a series of scientific and data-driven assignments in which you apply and extend your programming skills. Topics include working with large datasets, implementing efficient algorithms, and running computational simulations.

    Compared to Scientific Programming in Python I, this course places greater emphasis on independent problem-solving and the application of Python in more complex and realistic scenarios.

    The total study load is approximately 80 hours over 7 weeks, averaging a little over 11 hours per week. The course is primarily self-study, supported by weekly on-site tutorials at the Science Park campus, where you can receive guidance on your assignments.

    The course concludes with an on-site final exam. If you do not pass, a resit opportunity is offered approximately two months later.

    We strongly encourage you to complete the course within the 7-week period. However, if needed, you may continue working on the course materials and attend tutorials until the next exam moment.

  • Tutorials

    Weekly on-site tutorials are a core part of the course.

    During these sessions, you work on your assignments and receive direct support from lecturers when needed. Tutorials take place several times per week at the Science Park campus, and you can choose a time slot that fits your schedule.

    You are expected to attend at least three tutorials during the course (attendance is recorded). To get the most out of the course, we strongly recommend attending weekly.

    Participants who attend tutorials regularly are significantly more likely to complete the course successfully. These sessions help you stay on track, overcome difficulties early, and deepen your understanding of the material.

  • 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.
  • Course materials & laptop

    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.

    Laptop

    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.

  • Schedule 2026
    Kick-off: Monday 2 March 2026, 15:00–17:00
    LAB42, Amsterdam Science Park
    Exam:

    Tuesday 26 May 2026, 13:30–16:30
    NTH A5.01 (Nicolaes Tulphuis, HvA), Tafelbergweg 51, Amsterdam

    Resit: Date: to be announced
    Location: Amsterdam Science Park

    Kick-off:

    Thursday 8 October 2026, 15:00–17:00
    LAB42, Amsterdam Science Park
    Exam: Date: to be announced
    Location: Amsterdam Science Park
    Resit: Date: to be announced
    Location: Amsterdam Science Park

     

Kick-off day

The course starts with a kick-off which will take place on our UvA Science Park campus. The goal 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 in Python II:
•   Thursday 8 October 2026, 10:00–15:30

 

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 from the University of Amsterdam which states you have succesfully completed the course. 

Get a microcredential for the course!

As of September 2024, both Scientific Programming in Python I and II are part of the national pilot Microcredentials which means you can obtain a digital certificate in the form of a microcredential after you successfully completed one of these courses. This recognized credential gives value to individual education units, by guaranteeing the quality of the course, and therefor allows professionals to demonstrate acquired knowledge and skills to (future) employers or other educational institutions. More info information about microcredentials can be found here.

On-site tutorials

We offer on-site (walk-in) tutorials several times each week, where you can work on your assignments and get help when you get stuck.

While tutorials are not mandatory, they are a core part of the course and strongly recommended. We advise attending at least once a week to stay on track. Participants who attend regularly are significantly more likely to complete the course successfully. 

Tutorials take place weekly at the following times:
•   Mondays 17:00–19:00
•   Wednesdays 15:00–17:00
•   Thursdays 17:00–19:00
•   Fridays 15:00–17:00

LAB42
Where science, ambition and technology meet
Top location

Both the kick-off and tutorials take place at Amsterdam Science Park in LAB42, an international hub for knowledge and talent development in digital innovation and AI. LAB42 is a vibrant space where AI researchers, computer scientists, students, and entrepreneurs come together to explore and advance the possibilities of artificial intelligence.

Contact

Do you have questions about this course? Please contact our professional education team:
E: professionaleducation-ivi@uva.nl