← all repositories
Pulkit-Khandelwal/Reinforcement-Learning-Notebooks

Messy notebooks that actually teach RL by doing

A McGill student's course notes turned into executable implementations of Sutton & Barto's algorithms.

1k stars Jupyter Notebook LearningML Frameworks
Reinforcement-Learning-Notebooks
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does

This repo is a set of Jupyter notebooks implementing reinforcement learning algorithms from the classic Sutton & Barto textbook and related research papers. The author wrote them while taking Doina Precup’s COMP 767 course at McGill in 2017, and they are explicitly designed as companions to the book and David Silver’s lecture videos.

The interesting bit

The author admits the code is “a little messy” and that they weren’t yet a “Pythonista” when they wrote it — a refreshing honesty that also signals these are learning artifacts, not polished libraries. The value is in the pattern-matching: the notebooks show how algorithms are variants of each other, with results and suggested future directions explained inline.

Key highlights

  • Covers algorithms from Reinforcement Learning: An Introduction plus referenced research papers
  • Explicitly designed for parallel use with textbook reading and David Silver’s video lectures
  • Includes implementation notes and possible extensions beyond the baseline algorithms
  • Credits prior work by Denny Britz and course materials from McGill’s RL class
  • Author actively invites collaboration to clean up and improve the codebase

Caveats

  • Code quality is self-described as messy and not library-grade
  • Written in 2017; may not reflect current best practices or PyTorch/JAX ecosystem
  • No listed topics or structured curriculum map in the repository metadata

Verdict

Grab this if you are actively working through Sutton & Barto and want to see algorithms in motion rather than pseudocode. Skip it if you need production-ready implementations or a guided MOOC-style experience.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.