Uma curta introdução ao design de software usando a linguagem de programação Python. Direcionada a pessoas sem experiência prévia de programação, este livro começa com os conceitos básicos e gradualmente adiciona mais matrial. Algumas das idéias que os estudantes consideram mais desafiantes, como recursividade e programação orientada a objeto, são divididas em uma sequência de passos menores e introduzidos ao longo de vários capítulos.
O foco é no processo de programação, com ênfase na remoção de bugs. O livro inclui vários exercícios, desde exemplos curtos até proejtos substanciais, para que estudantes tenham uma ampla oportunidade em praticar cada novo conceito. Soluções dos exercícios e exemplos de código estão disponíveis para download.