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.


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

There will be a mid-term written exam (M) halfway through the course and another one at the end of the course consisting of two parts P1 and P2, with P1 treating the same material as the mid-term exam and P2 the other half. The final grade will be calculated as follows:

   Grade = max{M,P1}+P2

The mid-term exam is meant to test the knowledge gained so far, and to possibly improve the final grade without penalizing it.

In addition, there will be a retake written exam that will count for 100% of the final grade.

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 register 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.

Extensive FAQ on MyStudymap can be found here.


Lecturer: Prof.dr. Marcello Bonsangue.

Education coordinator LIACS bachelors


Not applicable.