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

Cloud Computing Concepts, Part 1 (Coursera) Coursera
University of Illinois at Urbana-Champaign

Cloud Computing Concepts, Part 1 (Coursera)

Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing. Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more!

Aug 31st 2026
5-12 Weeks
Practical Steps for Building Fair AI Algorithms (Coursera) Coursera
Fred Hutchinson Cancer Center

Practical Steps for Building Fair AI Algorithms (Coursera)

Algorithms increasingly help make high-stakes decisions in healthcare, criminal justice, hiring, and other important areas. This makes it essential that these algorithms be fair, but recent years have shown the many ways algorithms can have biases by age, gender, nationality, race, and other attributes. This course will teach you ten practical principles for designing fair algorithms. It will emphasize real-world relevance via concrete takeaways from case studies of modern algorithms, including those in criminal justice, healthcare, and large language models like ChatGPT. You will come away with an understanding of the basic rules to follow when trying to design fair algorithms, and assess algorithms for fairness.

Sep 14th 2026
4 Weeks
Machine Learning With Big Data (Coursera) Coursera
University of California, San Diego

Machine Learning With Big Data (Coursera)

Want to make sense of the volumes of data you have collected? Need to incorporate data-driven decisions into your process? This course provides an overview of machine learning techniques to explore, analyze, and leverage data. You will be introduced to tools and algorithms you can use to create machine learning models that learn from data, and to scale those models up to big data problems.

Aug 31st 2026
5-12 Weeks
Problem Solving Using Computational Thinking (Coursera) Coursera
University of Michigan

Problem Solving Using Computational Thinking (Coursera)

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it." Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

Sep 14th 2026
5-12 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Sep 7th 2026
5-12 Weeks
Parallel programming (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Parallel programming (Scala 2 version) (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. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library.

Sep 7th 2026
4 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Sep 7th 2026
4 Weeks
Algorithmic Thinking (Part 2) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 2) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Sep 7th 2026
4 Weeks
Sistemas Digitales: De las puertas lógicas al procesador (Coursera) Coursera
Universitat Autònoma de Barcelona

Sistemas Digitales: De las puertas lógicas al procesador (Coursera)

En este curso aprenderemos los fundamentos del diseño de los circuitos digitales actuales, siguiendo una orientación eminentemente práctica. A diferencia de otros cursos más "clásicos" de Circuitos Digitales, nuestro interés se centrará más en el Sistema que en la Electrónica que lo sustenta. Este enfoque nos permitirá sentar las bases del diseño de Sistemas Digitales complejos.

Aug 31st 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.

Sep 14th 2026
5-12 Weeks