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.
Ljubomir Perkovic joined the CDM School of Computing faculty in September of 2000, after two years on the faculty of the Mathematics and Computer Science department at Drexel University in Philadelphia. Dr. Perkovic obtained his Ph.D. in Algorithms, Combinatorics and Optimization at the School of Computer Science at Carnegie Mellon University, and he holds a B.A. degree in Mathematics and Computer Science from Hunter College of the City University of New York. His research interests include distributed and wireless computing, computational geometry, graph theory and algorithms, probabilistic analysis of algorithms, and computational thinking. He is Co-PI on an NSF funded project to expand Computational Thinking across the Liberal Studies curriculum. He is also the coach of the DePaul Programming teams.