#10: Chess and The Elo System


MicroProject collectable card

MicroProject Overview

The website lichess.com is an open source and free platform for playing chess online. As part of their website, lichess provides the "lichess.org open database" that contains an absolutely massive number of chess games, puzzles, and engine evaluations. Billions of games are stored in the database with about a hundred million being added each month.

In this MicroProject, you will analyze a small collection of the data and explore using Python functions to evaluate the Elo system and check the accuracy and efficacy of the Elo rating. Let's nerd out! 🎉

Video Walkthrough

MicroProjects with Michelle #10: Chess and The Elo System

First Time Doing a MicroProject?

Each MicroProject starts with a notebook that we provide to you to get started! You will need to configure a git repository to connect to our `microprojects` remote where we release the starter notebook.


Fetch the Initial Files

In your terminal, navigate to your GitHub repository and merge the initial files by running the following commands:

git fetch microprojects
git merge microprojects/microproject-10-chess-and-the-elo-system --allow-unrelated-histories -m "Merging initial files"

Complete the Notebook

If the commands above were successful, you have merged in the initial files to start on the MicroProject.

  • Find the new microproject-10-chess-and-the-elo-system folder.
  • Open microproject-10-chess-and-the-elo-system.ipynb and complete the MicroProject!

Commit and Grade Your Notebook

Once you have finished your notebook, you must use the built-in GitHub Action to preform automated grading of your MicroProject notebook! You will need to commit your work and then manually run the GitHub Action.

Commit Your Work

To commit your notebook, run the standard git commands in your terminal:

git add -u
git commit -m "microproject completed"
git push

Grade Your Notebook

To grade your notebook, you will need to visit your GitHub repository in your browser.

  • Visit your GitHub repository in your browser
  • Click on the "Actions" tab
  • Under "Workflows", find the workflow for this microproject
  • Click the "Run Workflow" in the blue box, and then the green "Run Workflow"
  • After about 10 seconds, you should see a new job that has started running
    • You can click on the job to watch it run in real-time
    • It will take ~1 minute to run and grade
  • Once the running is complete, the autograding summary will be available!