nl en

Introduction to Programming (BSc)


Admission requirements

Not applicable.


This course teaches the basics of programming in Python. In addition to syntax of Python, it also introduced you to the core concepts of programming: sequence, repetition, selection, typing and functions. It explains how to use a modern IDE (Interactive development environment) to program. Finally it also introduces some theoretical concepts of programming languages.

Course objectives

  • Knowing basic Python syntax

  • Understanding and applying core concepts of programming: sequence, repetition, selection, typing and functions

  • Using an IDE for debugging

  • Understanding the basic theoretical concepts behind programming elements


The most updated version of the timetables can be found on the students' website:

You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudymap will automatically be displayed in MyTimetable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.

MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).

For more information, watch the video or go the the 'help-page' in MyTimetable. Pleas note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.

Mode of instruction

  • Lectures: we teach the theoretical surroundings of programming, including more practical sessions for debugging, structuring code, etc.

  • Labs: we have weekly time for students to go through their homework together, answering any question might arise from the material.

  • Stepik: the students follow every week one chapter of our Stepik course, with instructional videos, exercises and more structured assignments.

Assessment method

  • Weekly Stepik assignments (30%)

One chapter of the Stepik course per week (12 in total), including videos, exercises and mini-assignments

  • Three projects (30%)

Individual programming projects

  • Three in-class tests (40%)

A test every four chapters of Stepik about both Stepik material and lectures' material

For passing the whole course, it is necessary to achieve a 5.5 for each of these aggregated 3 partial grades.

Reading list

Not applicable.


From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudymap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information. An exemption is the fall semester for 1st year bachelor students, the student administration will enroll this group.

Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.
Extensive FAQ's on MyStudymap can be found here.


Education coordinator LIACS bachelors


Not applicable.