Contents (hide)

Welcome to Discrete Structures and Combinatorics homepage

The Course Goal

The purpose of the course is to learn basic concepts in Discrete Mathematics, specifically in Combinatorics and Graph Theory.

The course covers fundamental topics that are widely used in theoretical and applied computer science, including in data structures and algorithms design, in programming languages, and in many other areas of computer science.

Many of the problems discussed in the course first appeared as riddles. However, besides the fun in solving them, we will present techniques for reasoning and solving such problems, which are important and useful also beyond the scope of computer science.

A detailed course syllabus can be found here.

Contact information

You can find the staff's office hours and contact info here.

For any administrative issue please contact the course staff via;

Be sure to read the Staff Announcements page regularly .

Text Books

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

  1. מתמטיקה בדידה, נתי ליניאל ומיכל פרנס, נ. בן-צבי מפעלי דפוס בע"מ, מהדורה שניה, 2005.
    You can find a free copy of the book in the author's homepage (
  2. Discrete and combinatorial mathematics: An applied introduction, Ralph P. Grimaldi, Pearson, 5th Edition, 2004.

Course Requirements

The final grade will be based on the following: