Perkovic's Introduction to Programming Using Python is more than just an introduction to programming. It is an inclusive introduction to Computer Science that takes the pedagogical approach of "the right tool for the job at the right moment," and focuses on application development. The book's approach is hands-on and problem-oriented, with practice problems and solutions appearing throughout the text. The text is imperative-first, but does not shy away from discussing objects early where appropriate. Discussions of user-defined classes and Object-Oriented Programming appear later in the text, when students have more background and the concepts can be motivated. The book includes a chapter on problem solving and classical algorithms, and ways to apply core skills to application development. The last three chapters introduce a broad array of topics through the context of web crawling and search engines, including recursion, regular expressions, depth-first search, Google's MapReduce framework, GUI widgets, HTML parsers, SQL, and multicore programming.
Not just a great intro into Python, but also into computer science and how they operate. Perkovic does a great job explaining the "whys" certain computing concepts that move things step by step. The examples and test questions were good practice. The chapter into Object Oriented Programming was well enjoyed.
5/5. Good book for learning Python and basic intro into computer science. Gets the reader to think programmatically about problem solving and sets them up for success.