nl en

Foundations of Computer Science


Admission requirements

Not applicable.


This course provides the basic mathematical foundation that is implicitly or explicitly assumed as prior knowledge in many other computer science courses. It is a first formalization of general concepts from fundamental computer science. Some of the topics covered includes sets, functions and relations, graphs, trees, induction, languages, and finite automata.

Course objectives

Getting knowledge with discrete mathematical structures that are commonly used in computer science; learning to deal with formalizations, abstractions and proof techniques.


The most recent course timetable can be found on the student 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

  • Workgroups

Assessment method

Two written exams: one halfway the course and another at the end. The final grade is the rounded average of the grades of both exams

Reading list

Schaum’s Outline of Discrete Mathematics (3rd edition), by Seymour Lipschutz, Marc Lipson. ISBN 9780071615860.

Additional material, slides, and exercises will be provided through the Brightspace page of 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. 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.


Lecturer: Prof.dr. Marcello Bonsangue.

Education coordinator LIACS bachelors


Not applicable.