Adventures in Computer Science