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!
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.