Exercises from Programming Praxis (http://programmingpraxis.com/)