Algorithmic Combinatorics

This semester the course is held online in asynchronous mode. Videos, lecture notes, and exercises are posted here during the semester. If there are open questions, please email to Veronika Pillwein. Questions and answers will be posted here anynomously for everyone to share. The lecture will be in English. There will be a written exam at the end of the semester. If the situation does not change, it will be held online. Lecture notes are allowed to be used. The exam duration will be 90 minutes. If held online, there will be extra time allocated to scan the exam, bind it into a single pdf and email it. More details are given closer to the date.

The learning goal is to develop basic skills and techniques which are relevant to problem solving when dealing with formulas related to enumeration, in particular, for the analysis of algorithms.

The course follows the book "The Concrete Tetrahedron - Symbolic Sums, Recurrence Equations, Generating Functions, Asymptotic Estimates" by Manuel Kauers and Peter Paule. Its preface starts with

There are problems in mathematics which are so hard that they remain open for centuries. But many problems are not of this type. Often, being able to solve a problem just depends on knowing the right technique. This book is a book on techniques. More precisely, it is a book on techniques for solving problems about infinite sequences. Some of these techniques have belonged already to the repertoire of Euler and Gauss, others have been invented only a couple of years ago and are best suited for being executed in a computer algebra system.
A major emphasis of the lecture is on putting computer algebra into action. Recently developed algorithms will be discussed, for instance, the Steele-prized summation algorithm by Zeilberger. Many of the topics discussed in the lecture can also be found in the book "Concrete Mathematics - A Foundation for Computer Science" by R.L.Graham, D.E.Knuth und O.Patashnik (Addison-Wesley, 1994). A citation from its preface:
...But what exactly is Concrete Mathematics? It is a blend of CONtinuous and disCRETE mathematics. More concretely, it is the controlled manipulation of mathematical formulae, using a collection of techniques for solving problems. Once you ... have learned the material in this book, all you will need is a cool head, a large sheet of paper, and fairly decent handwriting in order to evaluate horrendous-looking sums, to solve complex recurrence relations, and to discover subtle patterns in data. You will be so fluent in algebraic techniques that you will often find it easier to obtain exact results than to settle for approximate answers that are valid only in a limiting sense.
The major topics in these book include sums, recurrences, elementary number theory, binomial coefficients, generating functions, discrete probability, and asymptotic methods. The emphasis is on manipulative technique rather than on existence theorems or combinatorial reasoning; the goal is for each reader to become as familiar with discrete operations (like the greatest-integer function and finite summation) as a student of calculus is familiar with continuous operations (like the absolute-value function and infinite integration)."

Requirements: Basic knowledge from analysis and linear algebra.
Note: Within the frame of this lecture various topics for a diploma thesis are offered.

Veronika Pillwein


  1. Introduction, Selection Sort
  2. Quick Sort, part 1
  3. Quick Sort, part 2
  4. Quick Sort, generating function
  5. Quick Sort, asymptotics
  6. Formal power series
  7. Formal power series: derivation
  8. Formal power series: integration and division
  9. Formal power series: convergence and composition
  10. Formal power series: factorials, transfer principle, exponential generating function
  11. Formal power series: bivariate formal power series
  12. Formal power series: Stirling numbers of the first and second kind
  13. C-finite sequences: definition, Fibonacci numbers: definition and generating function
  14. Fibonacci numbers: matrix recursion, Cassini's identity, Euler-Binet formula
  15. Properties of C-finite functions: closed form and generating function


Every week a new set of exercises is posted here on Monday. A pdf of the solution should be emailed to Silviu Radu at your earliest convenience, but no later than the coming Monday at 18:00. To get the best possible grade, one should solve half of the exercises. These solved exercises should be distributed on the whole period and not concentrated on a single period of time.

Issue DateDownloadMaterialDue Date
08.03.2021exercises-01.pdfvideos 1-315.03.2021
15.03.2021exercises-02.pdfvideos 4-722.03.2021
22.03.2021exercises-03.pdfvideos 8-912.04.2021
12.04.2021exercises-04.pdfvideos 10-1219.04.2021
19.04.2021exercises-05.pdfvideos 13-1526.04.2021