
pytudes
A collection of short Python programming exercises and worked solutions in Jupyter notebooks, by Peter Norvig.
- Stars
- 24.4k
- Forks
- 2.5k
- Licence
- MIT
- Language
- Jupyter Notebook
- Last update
- 8 days ago
- Type
- Learning resource
What it is
Pytudes is a set of short Python programs written as Jupyter notebooks, each meant to help a reader sharpen a specific programming skill. The README compares it to practicing an instrument: the goal is building craft through study, not getting a quick finished tool. Each notebook can be opened on GitHub, Google Colab, or nbviewer, and most have a short description explaining the topic.
- Open a notebook such as Largest prime factor in Google Colab and run the code without installing anything
- Read the Lisp interpreter tutorial to see how a small interpreter is written in Python
- Compare human and LLM solutions to the same Project Euler problems side by side
- Work through an Advent of Code 2025 notebook to practice puzzle solving
Great for
- Python learners who want practice problems with worked explanations
- Programmers who already know basics and want to study problem-solving technique
- Readers interested in Project Euler or Advent of Code style puzzles
- People curious how language models handle programming tasks, based on the LLM-focused notebooks
Not ideal for
- People who want a finished library or app to use in a project, since the README describes study material rather than software to install
- Absolute beginners who need step-by-step introductory tutorials, because the README says this collection is not meant to be a general tutorial series
- Anyone needing a supported, versioned API, since the README does not describe one
How to get it
- 1
Use it in the browser (or self-host)
Clone the repository to work with the notebooks locally
git clone https://github.com/norvig/pytudes - 2
Run it
- Open the repository page on GitHub and pick a notebook from the index
- Click the Colab link next to the notebook to run it in your browser
- Or clone the repository and open the notebook in a local Jupyter setup
- Read the description and code cells, then try changing inputs to test your understanding
- 3
Get the most out of it
- Use the hover descriptions in the index to choose notebooks matching your skill level
- Compare the human, Fable, Kimi, and Opus versions of the Project Euler notebooks to see different solution styles
- Start with the beginner-labeled notebooks such as the letter-shape word game, then move to harder topics
- Try solving a puzzle yourself before reading the notebook's solution
Downloads
Strengths
- Free to read and run, and the MIT license permits reuse
- Notebooks can be opened directly in the browser through Colab or nbviewer
- Covers a wide range of topics, from number theory to NLP to interpreters
Trade-offs
- The README does not describe a formal curriculum or learning path, so readers choose their own order
- Some notebooks are tied to specific years and puzzle events, which may age
- Being a personal collection, it is not presented as a maintained product with support
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| pytudes (this) | 24.4k | Learning resource | intermediate | 8 days ago | Python learners who want practice problems with worked explanations |
| Python | 226k | Learning resource | beginner | 17 days ago | Students learning algorithms and data structures |
| 33-js-concepts | 66.5k | Learning resource | beginner | 15 days ago | Developers who know basic JavaScript and want to fill gaps in core concepts |
| DotNetGuide | 11.1k | Curated list | beginner | 7 days ago | Chinese-speaking developers learning C# or .NET from scratch |
| app-ideas | 98.4k | Curated list | beginner | 1.1 years ago | Beginners looking for practice projects to build after learning HTML, CSS, and JavaScript |
| lo | 21.4k | Library | beginner | 5 days ago | Go developers who often transform slices or maps |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.