A system that reads in a query document and a set of background documents. The goal is the find a document among the set of background documents that is (1) on a similar subject to the query document and (2) and a desired reading level.
For example, imagine that you have a document on a subject that you have to talk to your child about. Then you might want to find a similar document, but at a lower reading level. Alternatively, you might have a simple, introductory document, and you want to find a more sophisticated text on the same document.
Each folder contained within is an individual assignment that builds upon the previous, with the final submission being a fully optmized program. The next step is logically to tie this to a user form and let people try it. However, given that much better technology and algorithms exist, I have stopped here.