A project to investigate algorithms, data structures and programming puzzles