nl en

Advanced Programming


Admission requirements

Required course(s):

Introduction to Programming, offered during Block 3 of 2020-2021. The Programming course as offered in 2019-2020 could also count as entry requirement.


Programming has been established as common term for “telling computers what to do”, which usually means nothing else than making the power of automation available for your own tasks. This course serves as a starting point in which students develop basic programming skills and obtain a much better understanding of what programming entails.

The ability to program or at least to understand how programming works and what it can do is very important for approaching most if not all global challenges of today, be it climate change, crisis management, tackling health issues, or fighting poverty and discrimination, because programming enables the use of available data and tools to recombine them into useful, specific applications that help people to make better informed decisions.

The course starts from where we left in the last course (Introduction to Programming). The course will contain more structured assignments and projects, introducing more effective data structures and how to use them.

Course Objectives

After successful completion of this course, students are able to:


  • describe basic concepts of programming and demonstrate they are able to think “algorithmically”

  • imagine a control flow and follow it

  • distinguish between different data types and determine when to use them

  • use conditional statements and loops to create more advanced programs

  • create conventionally structured, readable and efficient programs


  • create some simple and more advanced programs in Python and thereby know the concepts of the Python language, which is currently the most taught beginner language.

  • demonstrate a good understanding of how to approach a programming project, and how to organize it, also in teams or groups make basic estimates of the difficulty level of your project


Timetables for courses offered at Leiden University College in 2020-2021 will be published on this page of the e-Prospectus.

Mode of instruction

A set of online tools for learning and evaluation. The students will follow the last six weeks of videos, interactive exercises and assignments on Stepik (chapter 7 to 12). They will be also provided access to the respective sets of exercises on Cerego for more informal training of the skills acquired every week. Finally, two hours labs each week for questions.

Assessment Method

Course exercises and assignments – 60%
Final project – 40%

Reading list



Courses offered at Leiden University College (LUC) are usually only open to LUC students and LUC exchange students. Leiden University students who participate in one of the university’s Honours tracks or programmes may register for one LUC course, if availability permits. Registration is coordinated by the Education Coordinator,


Dr. Felienne Hermans,
Giulio Barbero,


This course it an entry level course in programming. If you are already familiar with programming, even in another language as Java or C#, you will probably be bored. However, if you just played around a bit on your own with a programming language without much success, this course shall be right for you.

It makes sense to bring your laptops to the course, but you do not need to pre-install much stuff, we will discuss that in the first week.