Our lives are full of combinations. Combinatorial mathematics is just the science to deal with combinations of discrete items. As an ancient field, the history of combinatorial mathematics can be traced back over 4000 years to the age of the Great Yu in ancient China. Today, combinatorial mathematics is regarded as the basis of computer science since the algorithms in programming heavily rely on the analysis of the discrete elements.

Instead of relying on the traditional mathematical "theorem - proof" format, this course demonstrates various principles in an intuitive manner with ancient stories, the scenes of movies and even a magic show. What you’ll learn:

- The counting principles based on the basic operations “+”, “-”, “*”, “/”;
- Generating functions
- Recurrent number serials such as Fibonacci number, Catalan number, and more
- Pigeon hole principles
- Inclusion and exclusion principles
- Polya counting based on group theory

This course is based on a highly regarded on-campus Tsinghua class called Combinatorics, and is ideal for students who are interested in mathematics or computer science. Enroll today and learn the mathematical theory needed to solve the real-world problems!

我们生活的方方面面都充满着组合，而组合数学正是研究离散事物的学科。作为一个具有悠久历史的学科，组合数学的发展可以追溯到4000年前的大禹时代。而如今组合数学随着计算机学科的发展开启了新的篇章，由于程序算法的分析和实现正是基于对离散对象的分析，因此组合数学已经发展成为计算机学科的基础理论。

而本课程一改以往数学教学的“定理-证明”模式，引领大家由浅入深地逐步探索知识的源泉，这里有古代故事，有电影片段，甚至用魔术来演绎数学概念。而这些形式就是为了引领大家去感受数学的美。具体的教学内容包括：

- 基于四则运算的计数法则；
- 母函数；
- 递推序列，如斐波那契数，卡特兰数等；
- 鸽巢原理；
- 容斥原理；
- 基于群论的波利亚定理。

本课程的内容和大纲主要基于清华大学精品课《组合数学》，通过本课程的学习，学习者可以深入了解计数的抽象理论和具体方法，从而深入理解组合数学对计算机理论发展的推动作用。。

**FAQ**

**I don’t speak Chinese, can I learn the course?**

All the materials are in English. Though the original video was recorded in Chinese, the course team record the corresponding dubbing in English. All the audio and subtitles are processed to fit the English dubbing as much as possible, so that you can enjoy this wonderful course in English.

**What are the textbook and the reference books for this course?**

There is no textbook requirement for this course. The handouts distributed every week are critical. The following books are references

- Richard A. Brualdi; Introductory Combinatorics (5th edition), Pearson, 2009
- J.H.van Lint and R.M. Wilson; A course in Combinatorics, Cambridge University Press, 2001
- 卢开澄,《组合数学》第四版,清华大学出版社

**What is the grading breakdown?**

- 70% quizzes and exercises
- 30% final exam

**How can I get the certificate?**

If your final score is no less than 60.

**Do I need to know how to program to learn this class?**

Not necessary. This course is a math course which is based on fundamental theory. But to help the students to have the intuitive feel of the effects of the theory, we also provide a code lib that you can compare different implementations by running different programs.