Skip to main content

Evolutionary Computation - A Learning Journey

Welcome! This site is a hands-on, code-first guide to evolutionary computation - the full spectrum from genetic algorithms and evolution strategies to swarm intelligence, neuroevolution, and beyond. Every concept comes with runnable Python, real-world context, and just enough math to know what's actually going on.

Whether you're here to master CMA-ES, evolve neural networks, optimize with ant colonies, or understand why a population of random candidates can solve problems that gradient descent can't - you're in the right place.

How to use this course

  1. Start with Module 00: Introduction to get the big picture and your lab set up.
  2. Follow the modules in order - each one builds on the last.
  3. Run the code. Break the code. Mutate the code. That's where learning happens.
  4. Check the boxes on exercises as you complete them - your progress is saved in your browser.

Course Modules

A. Foundations

ModuleTopic
00Introduction to Evolutionary Computation
01Optimization Foundations
02Representation, Operators & Selection

B. Genetic Algorithms

ModuleTopic
03Genetic Algorithms: Fundamentals
04Genetic Algorithms: Advanced Topics

C. Evolution Strategies

ModuleTopic
05The (1+1)-ES
06Population-Based ES
07CMA-ES: The Crown Jewel
08CMA-ES Advanced & Natural ES

D. Other EC Paradigms

ModuleTopic
09Genetic Programming
10Differential Evolution
11Estimation of Distribution Algorithms
12Coevolution, Memetic & Cultural Algorithms

E. Swarm Intelligence

ModuleTopic
13Particle Swarm Optimization
14Ant Colony Optimization
15Other Swarm & Nature-Inspired Methods

F. Multi-Objective & Diversity

ModuleTopic
16Multi-Objective Evolutionary Optimization
17Many-Objective & Decomposition Methods
18Quality-Diversity Algorithms

G. Neuroevolution & Deep Learning

ModuleTopic
19Neuroevolution: Evolving Network Topology
20EC for Neural Network Training
21ES for RL & Policy Optimization

H. Advanced Topics

ModuleTopic
22Constrained & Combinatorial EC
23Surrogate-Assisted & Expensive Optimization
24Learning Classifier Systems & Hyper-heuristics

I. Rigor & Capstone

ModuleTopic
25Benchmarking & Experimental Methodology
26Theory, Foundations & Capstone

What you'll need

  • Python 3.13+
  • A tolerance for watching fitness curves that take 500 generations to do anything interesting

Code examples live in the GitHub repo.

Was this page helpful?