← all repositories
aimacode/aima-exercises

The AI textbook's exercises are moving online

A Jekyll-based platform hosting the exercise sets for Russell and Norvig's AIMA, since the 4th edition drops printed exercises entirely.

1.1k stars HTML Learning
aima-exercises
Velocity · 7d
+0.4
★ / day
Trend
steady
star history

What it does This is a static site generator (Jekyll 3, Ruby 2.5) that digitizes all exercises from Artificial Intelligence: A Modern Approach. It renders LaTeX exercise sources into Markdown, serves them as web pages, and accepts community-submitted answers via Staticman (automated pull requests). The 4th edition of the textbook will not include exercises in print at all—this repository is intended to become their canonical home.

The interesting bit The project treats a classic textbook as a living document. Students and teachers can add new exercises, not just consume existing ones. That’s a shift from dead-tree homework to something closer to open-source pedagogy—though the mechanism is admirably low-tech: Jekyll, Lunr.js search, and GitHub Pages.

Key highlights

  • Covers all 24 chapters, from search and CSPs to NLP and perception, with LaTeX sources and Markdown outputs both tracked in repo
  • Answer submissions generate PRs automatically via Staticman, keeping discussion in git history
  • Client-side search through exercises using Lunr.js
  • Figures, bookmarking, and comment forms handled with vanilla JavaScript
  • MIT licensed, hosted on GitHub Pages

Caveats

  • Stuck on Jekyll 3 and Ruby 2.5; the README’s install instructions suggest this hasn’t been refreshed in a while
  • “Implemented” status for all chapters is claimed, but the README truncates mid-table—whether exercises are actually complete or merely stubbed is unclear from the sources

Verdict Students in AI courses using AIMA, or instructors who want a ready-made exercise platform, should look here. Everyone else: it’s a well-organized Jekyll site with a specific academic purpose, not a general-purpose tool.

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