Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Higher School of Economics

Introduction to Enumerative Combinatorics

Higher School of Economics via Coursera


Enumerative combinatorics deals with finite sets and their cardinalities. In other words, a typical problem of enumerative combinatorics is to find the number of ways a certain pattern can be formed.

In the first part of our course we will be dealing with elementary combinatorial objects and notions: permutations, combinations, compositions, Fibonacci and Catalan numbers etc. In the second part of the course we introduce the notion of generating functions and use it to study recurrence relations and partition numbers.

The course is mostly self-contained. However, some acquaintance with basic linear algebra and analysis (including Taylor series expansion) may be very helpful.

Do you have technical problems? Write to us:


  • Introduction
  • Permutations and binomial coefficients
    • In this introductory lecture we discuss fundamental combinatorial constructions: we will see how to compute the number of words of fixed length in a given alphabet, the number of permutations of a finite set and the number of subsets with a given number of elements in a finite set. The latter numbers are called binomial coefficients; we will see how they appear in various combinatorial problems in this and forthcoming lectures. As an application of combinatorial methods, we also give a combinatorial proof of Fermat's little theorem.
  • Binomial coefficients, continued. Inclusion and exclusion formula.
    • In the first part of this lecture we will see more applications of binomial coefficients, in particular, their appearance in counting multisets. The second part is devoted to the principle of inclusion and exclusion: a technique which allows us to find the number of elements in the union of several sets, given the cardinalities of all of their intersections. We discuss its applications to various combinatorial problem, including the computation of the number of permutations without fixed points (the derangement problem).
  • Linear recurrences. The Fibonacci sequence
    • We start with a well-known "rabbit problem", which dates back to Fibonacci. Using the Fibonacci sequence as our main example, we discuss a general method of solving linear recurrences with constant coefficients.
  • A nonlinear recurrence: many faces of Catalan numbers
    • In this lecture we introduce Catalan numbers and discuss several ways to define them: via triangulations of a polygon, Dyck paths and binary trees. We also prove an explicit formula for Catalan numbers.
  • Generating functions: a unified approach to combinatorial problems. Solving linear recurrences
    • We introduce the central notion of our course, the notion of a generating function. We start with studying properties of formal power series and then apply the machinery of generating functions to solving linear recurrence relations.
  • Generating functions, continued. Generating function of the Catalan sequence
    • In this lecture we discuss further properties of formal power series. In particular, we prove an analogue of the binomial theorem for an arbitrary rational exponent. We apply this technique to computing the generating function of the sequence of Catalan numbers.
  • Partitions. Euler’s generating function for partitions and pentagonal formula
    • In this lecture we introduce partitions, i.e. the number of ways to present a given integer as a sum of ordered integer summands. There is no closed formula for the number of partitions; however, it is possible to compute their generating function. We study the properties of this generating function, including the famous Pentagonal theorem, due to Leonhard Euler.
  • Gaussian binomial coefficients. “Quantum” versions of combinatorial identities
    • Our final lecture is devoted to the so-called "q-analogues" of various combinatorial notions and identities. As a general principle, we replace identities with numbers by identities with polynomials in a certain variable, usually denoted by q, that return the original statement as q tends to 1. This approach turns out to be extremely useful in various branches of mathematics, from number theory to representation theory.

Taught by

Evgeny Smirnov

Related Courses


5.0 rating, based on 2 reviews

Start your review of Introduction to Enumerative Combinatorics

  • Francesco R completed this course, spending 4 hours a week on it and found the course difficulty to be medium.

    The course has a very linear, clear approach. The instructor explains all the steps in a slow, calm manner, such that for most lessons I decided to listen to the videos at 1.25x speed and it still seemed natural... The quizzes are, however, not trivial,...
  • Bart completed this course, spending 4 hours a week on it and found the course difficulty to be medium.

    Surprised this course hasn't received any reviews. A real gem of a course. There aren't that many good math courses in MOOC format, but I can highly recommend this one. The lectures are crystal clear and are easy to follow. Course level goes beyond what is covered in standard intro to probability classes. If you enjoy math, you won't regret taking it. Exercises vary from easy to moderately challenging. Only downside is the platform: Coursera, where (after the horrible redesign) the forum interaction approaches zero.

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free