Scientific Programming 2


Welcome to this programming course! In the weeks ahead, you’ll use the programming language Python while learning to solve scientific problems from several fields of science. This second part is intended for students who already followed Scientific Programming 1.


Teachers: Iris Luden, Milena Kapralova

Coordinator: Simon Pauw

If you have practical matters that you would like to discuss, always send an e-mail to the staff via We will answer within a couple of days, if not hours.


This course assumes that you have completed the course Scientific Programming 1. If you didn’t do this, but have equivalent programming experience, please discuss this with us before starting the course.

Other than that, some modules assume high school mathematics or physics, but many do not. If you feel overwhelmed, don’t hesitate to contact the course staff! We can explain the course’s philosophy and requirements, and make recommendations on how to approach problems.


After this course you should be able to independently tackle typically programming challenges that you might encounter in your field of studies/research. We will teach you more intermediate Python concepts. And some more advanced concepts pertaining to data analysis. After this course, we envision that you:

  • can use native python data structures (like sets, dictionaries, and tuples)
  • analyze the complexity of an algorithm
  • quickly learn to use new python packages and know how to find documentation for them
  • create your own packages
  • write proper documentation
  • use higher level functional programming concepts (such as map, reduce and filter)
  • import and analyze data
  • create advanced plots

Further information

Please log in to read the rest of the syllabus.