Skip to content

Guide · Open source

How to use pytudes: open Norvig's Python study notebooks

Updated · written with AI from the project's own documentation and checked against our catalogue data

Pytudes is a set of short Python programs, written as Jupyter notebooks, that are each meant to sharpen one programming skill. This guide explains what the collection is for, how to open a notebook without installing anything, and how to clone the repository if you want to work with the files on your own machine. By the end you will know which notebooks suit your level and how to start one.

pytudesnorvig/pytudes · ★ 24.4k · MIT

Quick start

  1. 1Pick a notebook. Scan the index in the README and choose a title whose description matches your current skill level.
  2. 2Open it in your browser. Click co to run it in Google Colab or nb to read it in nbviewer. No local setup is described for these options.
  3. 3Try the problem first. Attempt the puzzle or task yourself before reading the explanation, so the worked solution teaches you something new.
  4. 4Clone the repo if you want local files. Run git clone https://github.com/norvig/pytudes to get all the notebooks on your machine.
  5. 5Compare approaches. Set the notebook's solution against your own and note the technique the author uses.

What pytudes is and who it is for

The name comes from the musical term étude, a short piece of considerable difficulty written to build a particular skill. Each pytude is a Python program meant to help you practise a specific programming technique.

The README is clear about the audience. It is not a finished library or app, and it is not a general introductory tutorial series. It suits readers who want to study problem-solving technique, in the way a pianist works through studies rather than playing a finished track.

  • Python learners who want practice problems with worked explanations
  • Programmers who already know the basics and want to study problem-solving technique
  • Readers who enjoy Project Euler or Advent of Code style puzzles
  • Readers curious how language models handle programming tasks, through the LLM-focused notebooks

Open a notebook in your browser without installing anything

The index in the README lists each notebook with a title and a short description, which appears when you hover over the title. Each notebook has two links in the left column: co opens it in Google Colab and nb opens it in nbviewer.

Clicking the title takes you to the notebook on GitHub. Choose whichever viewer you prefer to read the worked explanations and code.

  • Colab (co): runs the notebook in Google's hosted Jupyter environment
  • nbviewer (nb): displays the notebook as a rendered page
  • GitHub: the title link opens the notebook file in the repository

Clone the repository to work with the notebooks locally

If you want to edit the notebooks or keep copies on your own computer, clone the repository. The README gives this command for that purpose.

The README does not list any software prerequisites for working with the notebooks, so check the notebook itself for what it imports before you run it.

git clone https://github.com/norvig/pytudes

Choose a notebook that matches your level

The index sorts notebooks by year and by theme, including a separate table for large language model topics. Some descriptions label the difficulty. For example, the Largest prime factor notebook is described as for beginner programmers, and the Did you solve it? puzzle is described as beginner level.

A good approach is to start with a notebook whose description matches what you can already do, try the problem yourself before reading the solution, and then compare your approach with the one in the notebook.

  • Beginner-labelled notebooks: Largest prime factor, Did you solve it? (clvr)
  • Project Euler solutions: Project Euler #1–100 by a Human, plus versions by several LLMs
  • Advent of Code 2025 and its AI LLM Edition
  • NLP and language model notebooks, such as How to Do Things with Words: NLP in Python

Compare the LLM-focused notebooks

Several notebooks look at how language models approach programming tasks. The Project Euler collection has separate versions written by a human and by different LLMs, which lets you compare solutions side by side. The Integer Palindromes notebook is described as comparing human and LLM solutions.

These notebooks are useful if you are curious about what language models get right and where they struggle, but they are study material rather than tools.

What people use it for

  • Practising Project Euler style maths and programming problems with worked answers
  • Working through Advent of Code 2025 puzzles and reading an AI-assisted solution alongside them
  • Studying how a prime factor or palindrome problem can be solved step by step
  • Reading the NLP notebook How to Do Things with Words to see spelling correction and word segmentation in Python
  • Comparing human and LLM solutions to the same problem, such as the Project Euler versions

Frequently asked questions

Is pytudes free to use?

Yes, the repository is released under the MIT License, as shown on the README. The license text is in the LICENSE file linked from the README.

Do I need to install anything to use pytudes?

Not to read or run a notebook in the browser. Each notebook can be opened on GitHub, Google Colab or nbviewer. If you want local copies, run git clone https://github.com/norvig/pytudes.

What are the prerequisites for pytudes?

The README does not list any prerequisites. The notebooks are written in Jupyter, so a Python environment that can run Jupyter notebooks is the practical requirement, but check each notebook for its own imports.

Is pytudes a good choice for complete beginners?

The README says the collection is not meant to be a general tutorial series, so it is not built for absolute beginners who need step-by-step introductions. Some notebooks are labelled beginner level, such as Largest prime factor and Did you solve it?, and those are the best starting points.

How is pytudes different from Project Euler or Advent of Code?

Project Euler and Advent of Code are puzzle sites where you solve problems yourself. Pytudes provides Python notebooks that explain solutions and techniques, including Project Euler and Advent of Code solutions. Exercism and Jupyter are other comparable projects in the same general area.

Can I use pytudes as a library in my project?

The README describes study material rather than software to install, and it does not describe a supported or versioned API. Use it for learning, not as a dependency for a production project.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Pytudes suits Python learners who already know the basics and want worked examples of problem-solving technique, especially Project Euler and Advent of Code style puzzles. It is a poor choice if you need a finished library, a versioned API, or a step-by-step introductory course, since the README says it is none of these.

Install options & downloads