Problem Solving Practice from Think like a Programmer by V. Anton Spraul
Notes and solution for exercises.