Data Science: Programming with Python

This course offers an introduction into computational thinking about data-related problems and the implementation of data analysis programmes with Python.



Course Level
Advanced Bachelor
ECTS credits
1.5 ECTS
Course location(s)
Utrecht, The Netherlands


PLEASE NOTE: this course is almost fully booked!

This course starts at the very basics and is explicitly intended for students who have no or only little programming experience.

Python has become the dominant programming language used in data science. 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 Data Science: 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 8 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, 8-12 July 2024)
  2. Data Science: Statistical Programming with R (Course code S24, 8-12 July 2024)
  3. Data Science: Multiple Imputation in Practice (Course code S28, 8-11 July 2024)
  4. Data Science: Data Analysis (Course code S31, 15-19 July 2024)
  5. Data Science: Network Science (Course code S37, 15-19 July 2024)
  6. Data Science: Applied Text Mining (Course code S42, 15-19 July 2024)
  7. Data Science: Machine Learning with Python (Course code S70, 22-26 July 2024)
  8. Data Science: Text Mining with R (Course code S41, 19-22 August 2024)

Upon completing, within 5 years, 3 out of 8 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 ms.summerschool@uu.nl

Day to Day Documents

S17 Day-to-day_2024.pdf


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: €850.00
  • Included: Course + course materials + lunch


PhD students from the Faculty of Social and Behavioural Sciences at Utrecht University have the opportunity to attend three Winter/Summer School courses funded by the Graduate School of Social and Behavioural Sciences. Additionally, they may choose to take as many courses as they wish at their own expense from their personal budget.

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

Housing for July 8 to July 12 is fully booked for new applications. For hotel and hostel options click here.

The housing costs do not include a Utrecht Summer School sleeping bag. This is a separate product on the invoice. If you wish to bring your own bedding, please deselect or remove the sleeping bag from your order. 


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