Working through the exercises in Software Foundations.