Statistical Mechanics: Algorithms and Computations (Coursera)

Statistical Mechanics: Algorithms and Computations (Coursera)

In this course you will learn a whole lot of modern physics (classical and quantum) from basic computer programs that you will download, generalize, or write from scratch, discuss, and then hand in. Join in if you are curious (but not necessarily knowledgeable) about algorithms, and about the deep insights into science that you can obtain by the algorithmic approach.

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

Syllabus

WEEK 1
Monte Carlo algorithms (Direct sampling, Markov-chain sampling)
Dear students, welcome to the first week of Statistical Mechanics: Algorithms and Computations!

Here are a few details about the structure of the course: For each week, a lecture and a tutorial videos will be presented, together with a downloadable copy of all the relevant python programs mentioned in the videos. Some in-video questions and practice quizzes will help you to review the material, with no effect on the final grade. A mandatory peer-graded assignment is also present, for weeks from 1 to 9, and it will expand on the lectures' topics, letting you reach a deeper understanding. The nine peer-graded assignments will make up for 50% of the grade, while the other half will come from a final exam, after the last lecture.

In this first week, we will learn about algorithms by playing with a pebble on the Monte Carlo beach and at the Monaco heliport. In the tutorial we will use the 3x3 pebble game to understand the essential concepts of Monte Carlo techniques (detailed balance, irreducibility, and a-periodicity), and meet the celebrated Metropolis algorithm. Finally, the homework session will let you understand some useful aspects of Markov-chain Monte Carlo, related to convergence and error estimations.

WEEK 2
Hard disks: From Classical Mechanics to Statistical Mechanics
In Week 2, you will get in touch with the hard-disk model, which was first simulated by Molecular Dynamics in the 1950's. We will describe the difference between direct sampling and Markov-chain sampling, and also study the connection of Monte Carlo and Molecular Dynamics algorithms, that is, the interface between Newtonian mechanics and statistical mechanics. The tutorial includes classical concepts from statistical physics (partition function, virial expansion, ...), and the homework session will show that the equiprobability principle might be more subtle than expected.

WEEK 3
Entropic interactions and phase transitions
After the hard disks of Week 2, in Week 3 we switch to clothe-pins aligned on a washing line. This is a great model to learn about the entropic interactions, coming only from statistical-mechanics considerations. In the tutorial you will see an example of a typical situation: Having an exact solution often corresponds to finding a perfect algorithm to sample configurations. Finally, in the homework session we will go back to hard disks, and get a simple evidence of the transition between a liquid and a solid, for a two-dimensional system.

WEEK 4
Sampling and integration
In Week 4 we will deepen our understanding of sampling, and its connection with integration, and this will allow us to introduce another pillar of statistical mechanics (after the equiprobability principle): the Maxwell and Boltzmann distributions of velocities and energies. In the homework session, we will push the limits of sampling until we can compute the integral of a sphere... in 200 dimensions!

WEEK 5
Density matrices and Path integrals (Quantum Statistical mechanics 1/3)
Week 5 is the first episode of a three-weeks journey through quantum statistical mechanics. We will start by learning about density matrices and path integrals, fascinating tools to study quantum systems. In many cases, the Trotter approximation will be useful to consider non-trivial systems, and also to follow the time evolution of a system. All these topics, including the matrix-squaring technique, will be reviewed in detail in the homework session, where you will also study the anharmonic potential.
Note that previous knowledge of quantum mechanics is not really necessary to go through the next three weeks. Follow us in our journey through algorithms and physics, and don't forget to ask on the forum if you have any doubt!

WEEK 6
Lévy Quantum Paths (Quantum Statistical mechanics 2/3)
In Week 6, the second quantum week, we will introduce the properties of bosons, indistinguishable particles with peculiar statistics. At the same time, we will also go further by learning a powerful sampling algorithm, the Lévy construction, and in the homework session you will thoroughly compare it with standard sampling techniques.

WEEK 7
Bose-Einstein condensation (Quantum Statistical mechanics 3/3)
At the end of our quantum journey, in Week 7, we discuss the Bose-Einstein condensation phenomenon, theoretically predicted in the 1920's and observed in the 1990's in experiments with ultracold atoms. In the path-integral framework, an elegant description of this phenomenon is in term of permutation cycles, which will also lead to a great sampling algorithm, to be discussed in the homework session.

WEEK 8
Ising model - Enumerations and Monte Carlo algorithms
In Week 8 we come back to classical physics, and in particular to the Ising model, which captures the essential physics of a set of magnetic spins. This is also a fundamental model for the development of sampling algorithms, and we will see different approaches at work: A local algorithm, the very efficient cluster algorithms, the heat-bath algorithm and its connection with coupling. All of these will be revisited in the homework session, where you will get a precise control over the transition between ordered and disordered states.

WEEK 9
Dynamic Monte Carlo, simulated annealing
Continuing with simple models for spins, in Week 9 we start by learning about a dynamic Monte Carlo algorithm which runs faster than the clock. This is easily devised for a single-spin system, and can also be generalized to the full Ising model from Week 8. In the tutorial we move towards the simulated-annealing technique, a physics-inspired optimization method with a very broad applicability. You will also revisit this in the homework session, and apply it to the sphere-packing and traveling-salesman problems.

WEEK 10
The Alpha and the Omega of Monte Carlo, Review, Party
The lecture of Week 10 includes the alpha and the omega of our course. First we repeat the experiment of Buffon's needle, already performed in the 18th century, and then we touch the sophisticated theory of Lévy stable distributions, and their connection with the central limit theorem. In the tutorial there will be time for a review of the entire course material, and then a little party is due, to celebrate the end of the course!
(There is no homework session for Week 10, but don't forget that the final exam is still there!)

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

Related Courses

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.

Oct 26th 2026
5-12 Weeks
Ethical Issues in Data Science (Coursera) Coursera
University of Colorado Boulder

Ethical Issues in Data Science (Coursera)

Computing applications involving large amounts of data – the domain of data science – impact the lives of most people in the U.S. and the world. These impacts include recommendations made to us by internet-based systems, information that is available about us online, techniques that are used for security and surveillance, data that is used in health care, and many more. In many cases, they are affected by techniques in artificial intelligence and machine learning.

Oct 26th 2026
5-12 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (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.

Oct 12th 2026
5-12 Weeks
Problem Solving, Python Programming, and Video Games (Coursera) Coursera
University of Alberta

Problem Solving, Python Programming, and Video Games (Coursera)

This course is an introduction to computer science and programming in Python. Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. However, a learner can take the knowledge and skills from this course and apply them to non-game problems, other programming languages, and other computer science courses.

Oct 19th 2026
5-12 Weeks
Parallel programming (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Coursera)

With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm.

Oct 12th 2026
4 Weeks
Big Data Analysis with Scala and Spark (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Big Data Analysis with Scala and Spark (Coursera)

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout.

Oct 12th 2026
4 Weeks
Approximation Algorithms Part II (Coursera) Coursera
École normale supérieure

Approximation Algorithms Part II (Coursera)

This is the continuation of Approximation algorithms, Part 1. Here you will learn linear programming duality applied to the design of some approximation algorithms, and semidefinite programming applied to Maxcut. By taking the two parts of this course, you will be exposed to a range of problems at the foundations of theoretical computer science, and to powerful design and analysis techniques.

Oct 26th 2026
4 Weeks
Probabilistic Graphical Models 3: Learning (Coursera) Coursera
Stanford University

Probabilistic Graphical Models 3: Learning (Coursera)

Probabilistic graphical models (PGMs) are a rich framework for encoding probability distributions over complex domains: joint (multivariate) distributions over large numbers of random variables that interact with each other. These representations sit at the intersection of statistics and computer science, relying on concepts from probability theory, graph algorithms, machine learning, and more. They are the basis for the state-of-the-art methods in a wide variety of applications, such as medical diagnosis, image understanding, speech recognition, natural language processing, and many, many more. They are also a foundational tool in formulating many machine learning problems.

Oct 26th 2026
5-12 Weeks
Decision Making and Reinforcement Learning (Coursera) Coursera
Columbia University

Decision Making and Reinforcement Learning (Coursera)

This course is an introduction to sequential decision making and reinforcement learning. We start with a discussion of utility theory to learn how preferences can be represented and modeled for decision making. We first model simple decision problems as multi-armed bandit problems in and discuss several approaches to evaluate feedback. We will then model decision problems as finite Markov decision processes (MDPs), and discuss their solutions via dynamic programming algorithms. We touch on the notion of partial observability in real problems, modeled by POMDPs and then solved by online planning methods.

Oct 26th 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.

Oct 26th 2026
4 Weeks