If anyone is looking to refresh their programming chops for a problem like this, here [1] is a fairly straightforward, simple implementation of a spell-checker. Provided for a Python Course at Harvey Mudd (the class I TA uses this new curriculum), the task is to memoize a recursive string-distance algorithm. The results are actually quite lovely.
[1]: https://www.cs.hmc.edu/twiki/bin/view/ModularCS1/SPAM!
Note: copy the entire URL, the `!` breaks the hyperlinking.