Data Science: Programming with Python

Course code
Course fee (excl. housing)
Course Level
Advanced Bachelor

Python has become the dominant programming language used in data science. This course offers an introduction into computational thinking about data-related problems and the implementation of data analysis programmes with Python. It starts at the very basics and is explicitly intended for students who have no or only little programming experience.

Programming is the process of designing and building an executable computer programme for accomplishing a specific computational task. The course will introduce you to programming with Python, which is currently one of the most popular programming languages in (data) science. After familiarization with the basics (input and output, variables, data types, data structures, conditional branching, loops, functions, etc.) the course will address specific data science topics, such as statistical analyses with the pandas package and data visualization with matplotlib.

The course will take five full days. A typical course day starts at 9.00 and ends at 17.00 with breaks for coffee, lunch and tea (provided on location). The course is offered on location.

Every day, short lectures will be combined with practicals, where students can practice with example datasets that will vary over the course of the week. In the afternoon, students choose to work in small project groups on applying the lessons of the day to a real-life dataset or work on their own individual project and additional exercises. Students will get on-location guidance from the tutors of the course while they are working on their projects.

More details on the day-to-day programme can be found in a separate file. Broadly, the following topics are addressed:

Day 1: getting started, the programming environment, editing and running Python programmes, input and output, variables, arithmetic expressions, conditional branching, loops

Day 2: functions, the standard library, data structures

Day 3: basics of object-oriented programming, data frames, statistical analyses with the pandas package

Day 4: data visualization with matplotlib, matrix computations with numpy

Day 5: group presentations, best practices for software project management

Course credits of 1.5 EC are offered to students who attend meetings every day, actively participate in the exercises and present their (group or individual) project on the last day

After this course the students will have learned basic programming for data science in Python and therefore will be able to follow the summer courses on Data Science: Text Mining with R  and Machine learning with Python. During the course, the students will get on-location expertise and advice regarding how to address their programming challenges and how to further develop their programming skills.

The course will use freely accessible literature that will be made available to course participants during the course. The literature serves both as a practical guide to course materials, and more in-depth reading that can be done during or after the course.

Participants are requested to bring their own laptop. Software will be available online.

This course can be taken separately, but is also part of a series of seven courses in the Summer School Data Science specialisation taught by UU’s department of Methodology & Statistics:

  1. Data Science: Programming with Python  (Course code S17)
  2. Data Science: Statistical Programming with R (Course code S24)
  3. Data Science: Multiple Imputation in Practice (Course code S28)
  4. Data Science: Data Analysis (Course code S31)
  5. Data Science: Network Science (Course code S37)
  6. Data Science: Text Mining with R (Course code S41)
  7. Data Science: Applied Text Mining (Course code S42)

Upon completing, within five years, three out of seven courses in the Summer School Data Science specialisation (no more than one text mining course), students can obtain a certificate. Please see here for more information about the full specialisation.

We also offer tailormade M&S courses and in-house M&S training. If you want to check out the possibilities, please contact us at

Course director
dr. Anastasia Giachanou


Dr. Anastasia Giachanou, dr. Pablo Mosteiro

Target audience

The course requires no specific previous knowledge, in particular no prior programming skills. You will need to bring your own laptop to do the exercises. Any operating system (Windows, Mac OSX, Linux) is fine, as long as new software can be installed on the machine. We assume that you have elemental computer skills such as browser usage, storing files, installing programmes, etc..

For an overview of all our summer school courses offered by the Department of Methodology and Statistics please click here.

Aim of the course

After finishing the course successfully, you will be able to:

  • think computationally about data-related problems
  • design programmes for specific computational tasks
  • write Python programmes for specific computational tasks, including, e.g., asking and reading input from the user, loading data from files, preprocessing and analyzing data, performing calculations, simulating processes, visualizing data and results, storing data and results into files
  • validate Python programmes for correct functioning
  • document and describe Python programmes.

Study load

The course will take five full days. A typical course day starts at 9.00 and ends at 17.00 with breaks for coffee, lunch and tea (provided on location). The course is offered on location.

Please note that there are no graded activities included in this course. Therefore, we are not able to provide students with a transcript of grades. You will obtain a certificate upon completion of this course.


Course fee:
Fee covers
Course + course materials + lunch
Housing fee:
Housing cost
Housing provider:
Utrecht Summer School
Extra information about the fee

The tuition fee for PhD students from the Faculty of Social and Behavioural Sciences at Utrecht University will be funded by the Graduate School of Social and Behavioural Sciences.

For students who take this course as a prerequisite for entering the Master ‘Applied Data Science’, we offer a course discount of € 200. If you are an ADS student, please mention this in your application so we can charge you the reduced fee.

Additional information

The housing costs include housing, plus a Utrecht Summer School sleeping bag, for you to keep. This sleeping bag also includes an inflatable pillow and matrass cover. If you wish to bring your own bedding, please contact us, so we can give you a € 50 discount on the housing fee. Please note that you cannot buy individual bedding items. 


Extra application information

Please include some details on your programming experience in your motivation.

Contact details

Team M&S Summer School | E:


Application deadline: 
Registration deadline
24 June 2024