Contents (hide)

Welcome to Discrete Structures and Combinatorics homepage

The Goal

The purpose of the course is to learn basic concepts in Discrete Math, especially in Combinatorics and Graph Theory. The course covers fundamental topics that are widely used in theoretical and applied computer science, for example, in data structures and algorithms design, in programming languages and in many other branches of computer science.
Many of the problems discussed in the course, appeared first as riddles. However, besides the fun in solving them, we will present techniques for reasoning about such problems and for solving them, which are important also beyond the scope of computer science.


Please, send your emails with problems/requests to the course email ( These emails will be forwarded to a person who is able to take care of your problem. In your emails please state your full name and ID.


See Course info


We will mainly use the books below, but there are plenty of good books that cover the material of the course.

Course Requirements

Midterm Exams

There will be one obligatory midterm exam (on 17.5.2013). The weight of the midterm exam is 20%.

Homework Assignments

There will be 8 assignments, to be submitted in pairs. The first assignment (numbered 0) is not for submission, and its purpose is to refresh your memory of concepts that you have seen in the course "Introduction to Set Theory and Logic." The grade for the assignments component will be determined by the 5 highest grades among the grades of assignments 1-7. The weight of the homework assignments is 10%.

Final Exam

In order to pass the course, you must pass the final exam (with grade of at least 56). The weight of the final exam is 70%. The dates for the final exam will be published later.