Analytic Combinatorics (Coursera)

Offered by Princeton University,
Analytic Combinatorics (Coursera)

Analytic Combinatorics teaches a calculus that enables precise quantitative predictions of large combinatorial structures. This course introduces the symbolic method to derive functional relations among ordinary, exponential, and multivariate generating functions, and methods in complex analysis for deriving accurate asymptotics from the GF equations. All the features of this course are available for free. It does not offer a certificate upon completion.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Syllabus

WEEK 1
Combinatorial Structures and OGFs
Our first lecture is about the symbolic method, where we define combinatorial constructions that we can use to define classes of combinatorial objects. The constructions are integrated with transfer theorems that lead to equations that define generating functions whose coefficients enumerate the classes. We consider numerous examples from classical combinatorics.

WEEK 2
Labelled Structures and EGFs
This lecture introduces labelled objects, where the atoms that we use to build objects are distinguishable. We use exponential generating functions EGFs to study combinatorial classes built from labelled objects. As in Lecture 1, we define combinatorial constructions that lead to EGF equations, and consider numerous examples from classical combinatorics.

WEEK 3
Combinatorial Parameters and MGFs
This lecture describes the process of adding variables to mark parameters and then using the constructions form Lectures 1 and 2 and natural extensions of the transfer theorems to define multivariate GFs that contain information about parameters. We concentrate on bivariate generating functions (BGFs), where one variable marks the size of an object and the other marks the value of a parameter. After studying ways of computing the mean, standard deviation and other moments from BGFs, we consider several examples in some detail.

WEEK 4
Complex Analysis, Rational and Meromorphic Asymptotics
This week we introduce the idea of viewing generating functions as analytic objects, which leads us to asymptotic estimates of coefficients. The approach is most fruitful when we consider GFs as complex functions, so we introduce and apply basic concepts in complex analysis. We start from basic principles, so prior knowledge of complex analysis is not required.

WEEK 5
Applications of Rational and Meromorphic Asymptotics
We consider applications of the general transfer theorem of the previous lecture to many of the classic combinatorial classes that we encountered in Lectures 1 and 2. Then we consider a universal law that gives asymptotics for a broad swath of combinatorial classes built with the sequence construction.

WEEK 6
Singularity Analysis
This lecture addresses the basic Flajolet-Odlyzko theorem, where we find the domain of analyticity of the function near its dominant singularity, approximate using functions from standard scale, and then transfer to coefficient asymptotics term-by-term.

WEEK 7
Applications of Singularity Analysis
We see how the Flajolet-Odlyzko approach leads to universal laws covering combinatorial classes built with the set, multiset, and recursive sequence constructions. Then we consider applications to many of the classic combinatorial classes that we encountered in Lectures 1 and 2.

WEEK 8
Saddle Point Asymptotics
We consider the saddle point method, a general technique for contour integration that also provides an effective path to the development of coefficient asymptotics for GFs with no singularities. As usual, we consider the application of this method to several of the classic problems introduced in Lectures 1 and 2.

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

Related Courses

Development of Real-Time Systems (Coursera) Coursera
EIT Digital

Development of Real-Time Systems (Coursera)

This course is intended for the Master's student and computer engineer who likes practical programming and problem solving! After completing this course, you will have the knowledge to plan and set-up a real-time system both on paper and in practice. The course centers around the problem of achieving timing correctness in embedded systems, which means to guarantee that the system reacts within the real-time requirements.

Sep 21st 2026
5-12 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Sep 21st 2026
5-12 Weeks
NLP Modelos y Algoritmos (Coursera) Coursera
Universidad Austral

NLP Modelos y Algoritmos (Coursera)

Este curso te brindará los conocimientos necesarios para la implementación de algoritmos de NLP. Mediante el uso de los últimos algoritmos más populares en NLP se procederá a dar solución a un conjunto de problemas propios del área. Para realizar este curso es necesario contar con conocimientos de programación de nivel básico a medio, deseablemente conocimiento básico del lenguaje Python y es recomendable conocer los Jupyter Notebooks en el entorno Anaconda.

Sep 28th 2026
4 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Sep 28th 2026
5-12 Weeks
Single Variable Calculus (Coursera) Coursera
University of Pennsylvania

Single Variable Calculus (Coursera)

Calculus is one of the grandest achievements of human thought, explaining everything from planetary orbits to the optimal size of a city to the periodicity of a heartbeat. This brisk course covers the core ideas of single-variable Calculus with emphases on conceptual understanding and applications. The course is ideal for students beginning in the engineering, physical, and social sciences. Distinguishing features of the course include: 1) the introduction and use of Taylor series and approximations from the beginning; 2) a novel synthesis of discrete and continuous forms of Calculus; 3) an emphasis on the conceptual over the computational; and 4) a clear, dynamic, unified approach.

Sep 28th 2026
5-12 Weeks
Jugar y Aprender Matemática en aulas heterogéneas (Coursera) Coursera
Universidad Austral

Jugar y Aprender Matemática en aulas heterogéneas (Coursera)

Cuando se asume la enseñanza de la matemática con el compromiso de la participación de todos los alumnos en una comunidad de producción, en la que se resuelven problemas con distintos procedimientos, se comparan producciones, se analiza la validez de las afirmaciones que se hacen, la tarea resulta todo un desafío. En el caso del plurigrado, el desafío parece aún mayor. ¿Cómo presentar problemas que involucren en este trabajo reflexivo a niños y niñas de distintas edades y con distintos conocimientos?

Sep 28th 2026
4 Weeks
VLSI CAD Part I: Logic (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part I: Logic (Coursera)

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Sep 21st 2026
5-12 Weeks
Blockchain Scalability and its Foundations in Distributed Systems (Coursera) Coursera
The University of Sydney

Blockchain Scalability and its Foundations in Distributed Systems (Coursera)

Blockchain promises to disrupt industries once it will be efficient at large scale. In this course, you will learn how to make blockchain scale. You will learn about the foundational problem of distributed computing, consensus, that is key to create blocks securely. By illustrating limitations of mainstream blockchains, this course will indicate how to improve the technology in terms of security and efficiency. In particular, this course will help you: understand security vulnerabilities of mainstream blockchains; design consensus algorithms that tolerate attacks, and; design scalable blockchain systems.

Sep 28th 2026
5-12 Weeks