Admission requirements
This course is for DDG Bachelor Bestuurskunde students.
Description
Algorithmic decision-making in the public sector has given a prominent role to software engineers and computer programmers. However, it has also heightened the need for policymakers to be savvy about algorithms. In this course, students will get a hands on experience of how computer programmes are designed and how data is processed in public services and policymaking.
The course focuses on Python, which is a widely used programming language that is user friendly for those who are new to programming and has a wide range of applications in data science.
Course objectives
Students will develop an awareness of the main concepts in programming.
- Understanding of the key vocabulary (e.g., variables, loops)
- Understanding of how computers follow instructions (e.g., conditions)
- Understanding of basic data structures (e.g., lists, dictionaries)
Students will be able to create small, meaningful programs that accomplish goals
- Students can implement required functions as needed
- Students can explain the logic they followed in their code
Students will create connections between programming and public governance and policymaking
- Students will apply programming concepts on (synthetic) data sets and present the results in a jupyter notebook during the last workshop session.
Timetable
On the right side of the programme front page of the studyguide you will find links to the website and timetables, uSis and Brightspace.
Mode of instruction
Lectures (7x2 hours) and practical sessions (7x2 hours).
Participation in all working groups for this course is mandatory. If students miss working groups they will in principle be excluded from the course. However, if there are special circumstances for absence (such as serious illness, a death in the family, etc. but please seek advice from teacher and/or study advice), the teacher has discretion to allow for some absence and to offer a way to catch up any missed essential components if applicable (see course manual). Please notify the teacher about any attendance issues as soon as possible and in advance.
Assessment method
There will be a written examination as well as three smaller assignments spread out over the course block.
The final grade for the course will be the weighted average of 55% for the examination and 45% for the three assignments.
- The average final grade across both types of assignment must be at least 5.5 to pass the course. This means that the grade of the exam must be at least 5.5 and the average grade of the three assignments must be at least 5.5 to pass the course.
- For Assignment A and B, the deliverables include a combination of programming exercises and questions related to the concepts covered in the lectures.
- For assignment C, the deliverable is a python notebook and the final workshop will be fully dedicated to jupyter notebook presentations.
Students who do not obtain a sufficient average grade have the option to resit one or both parts (i.e. the exam and/or one subsitute assignment for the series of smaller assignments) depending on which part(s) is/are insufficient.
The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.
Participation in all working groups for this course is mandatory. If students miss working groups they will in principle be excluded from the course. However, if there are special circumstances for absence (such as serious illness, a death in the family, etc. but please seek advice from teacher and/or study advice), the teacher has discretion to allow for some absence and to offer a way to catch up any missed essential components if applicable (see course manual). Please notify the teacher about any attendance issues as soon as possible and in advance.
Reading list
There is no textbook or reading list for this course.
Any literature and reading materials will be announced during the course.
Registration
Register yourself via MyStudymap for each course, workgroup and exam (not all courses have workgroups and/or exams). Do so on time, before the start of the course; some courses and workgroups have limited spaces. You can view your personal schedule in MyTimetable after logging in.
Registration for this course is possible from Tuesday 9 December 2025, 13:00 h.
Please note 1: Registration for the resit of an exam (and exam) is mandatory, this has to be done by the student and can be done from Monday 4 May 2026 until 10 days before the exam. Until 5 days before the exam you can email OSC and fill in a form.
Please note 2: guest-/contract-/exchange students do not register via MyStudymap but via uSis. Registration via uSis is possible from Thursday 11 December 2025.
Leiden University uses Brightspace as its online learning management system. After enrolment for the course in MyStudymap you will be automatically enrolled in the Brightspace environment of this course.
More information on registration via MyStudymap can be found on this page.
Contact
Remarks
It is assumed that students have no previous computer programming experience.