nl en

Foundations of Computer Science


Admission requirements

Not applicable


Computer science has its roots in mathematics, mathematical reasoning, and mathematical structures. Of particular relevance are concepts and elements from topics of set theory, elementary mathematics, graph theory, combinatorics and number theory. These branches of mathematics, sometimes collectively called “discrete mathematics” deal with discrete objects, as opposed to say calculus which deals with continuous objects.
In this course, we will explore the basics of discrete mathematics and its role the foundations of computer science. For example, we will discuss sets, relations and functions which form the basic objects for an exact specification of what a computing system does. Graphs and trees allow us to represent networks, and to construct and understand various types of algorithms and database structures. Mathematical induction is a key tool to analyze the efficiency of programs. Finally, we will explore the basics of formal languages and finite automata, which allow us to provide clean mathematical descriptions of what computation is, at its core.

Course objectives

The broad objective is to introduce the basic mathematical elements which are a pre-requisite for many computer science fields, and to introduce the basic examples of formal descriptions, abstraction and proof techniques.
At the end of the course the successful student will:
-understand the basic mathematical structures appearing in computer science
-be able to compute basic combinatorial and counting problems, solve graph-theoretic problems, use induction to solve basic recursive problems, and solve basic problems involving formal languages and simple automata.
-know working examples of applications of the underlying mathematics to computer science problems.


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

Mode of instruction

Lectures and exercise classes.

Assessment method

Students will be evaluated by means of a mid-term and final exam.
In the case the students do not attend the mid-term, or fail to get a grade larger or equal to 5.0, the final grade is the grade of the final exam. In the case the students get a grade y ≥ 5.0 (greater or equal to 5.0) on the mid-term, then the final grade is the final exam grade plus y/10. So, if the final exam grade is x, the final grade will be given with x+(y/10) if y ≥ 5.0, and x otherwise.

Reading list

Schaum's Outline of Discrete Mathematics (3rd edition), by Seymour Lipschutz, Marc Lipson. ISBN 9780071615860.
Some additional pieces of lecture notes, assignments and slides will be provided as the course progresses.




You can enrol via uSis . More information about signing up for classes and exams can be found here .


Onderwijscoordinator Riet Derogee


Course announcements and additional materials will be provided on this [website]