nl en

Basic Programming in Python


Admission requirements

Not applicable.


Programming ability is fast becoming a required skill. A decade ago, the ability to code was considered more of a specialist skill. As the digital world increases in importance, we are beginning to see a shift in our understanding of programming as a skill; from a specialist skill to a basic one. In the context of cyber security, having an understanding of how computer programs are designed and how computers process information is of critical importance to understanding how we defend against digital threats.

We will use Python to learn programming. Python is multi-functional language and is user friendly, especially for those new to programming. The skills learned in this course with Python can be used more broadly in different contexts and with different programming languages.

Course objectives

  • Students will develop an awareness of the main concepts in programming.

    • Understanding of the key vocabulary
    • Understanding of how computers follow instructions
    • Understanding of basic data structures
  • Students will be able to create small, meaningful programs that accomplish goals

    • Students can implement required functions as needed
  • Students will create connections between programming and the wider cyber security context


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. Please 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 are designed to be in-person. Alternative forms of lectures may be provided; however, in-person attendence is expected.

In addition to the lectures, there will be in-person practical sessions. The course evaluation will be based on assignments, a project and an exam.

Assessment method

  • There will be an in-person written, closed-book examination with both open and short questions.

  • There will be be regular assignments that must be submitted via Brightspace. Alternative submissions will not be accepted.

  • The will be a final project.

  • The final grade for the course will be the weighted average of 35% examination, 35% final project and 30% assignments. All components need to be at least 5.0 and the final grade should be at least 5.5 to pass the course.

  • It will be possible to retake the exam.

  • It will not be possible to resubmit assignments.

  • It will not be possible to resubmit the final project.

The teacher will inform the students how the inspection of and follow-up discussion of the exams will take place.

Reading list

There is no textbook or reading list for this course.

Any literature and reading materials will be announced during the course.


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. Exemptions are minor students and fall semester for 1st year bachelor students: the student administration will enroll these groups for courses.

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.


N.D. Schiele

Dr. O. Gadyatskaya


It is assumed that students have no previous computer programming experience.

When you register for a certain course, you automatically receive access to the environment of this course via Brightspace.

For more information about Brightspace, click on this link to view the university manuals. If you have any other questions or problems, you can contact the helpdesk of Leiden University.