Perkovic's Introduction to Computing Using Python: An Application Development Focus, 2nd Edition 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 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 concepts can be motivated. Chapters include an introduction to problem solving techniques and classical algorithms, problem-solving and programming and ways to apply core skills to application development. This edition also includes examples and practice problems provided within a greater variety of domains. It also includes case studies integrated into additional chapters, providing students with real life applications using the concepts and tools covered in the chapters.