Practical Programming: An Introduction to Computer Science Using Python 3.6 (3rd Edition) by Gries, Campbell, and Montojo serves as a foundational text for beginners, utilizing Python 3.6 for instruction. Published by the Pragmatic Bookshelf, the book emphasizes a "design recipe" approach to problem-solving, covering topics from fundamental tools to object-oriented programming. More details on this edition can be found via O'Reilly . Practical Programming, Third Edition