You are previewing Introduction to Computing Using Python: An Application Development Focus.
O'Reilly logo
Introduction to Computing Using Python: An Application Development Focus

Book Description

Perkovic's Introduction to Programming Using Python provides an imperative-first introduction to Python focusing on computer applications and the process of developing them. The text helps develop computational thinking skills by covering patterns of how problems can be broken down and constructively solved to produce an algorithmic solution. The approach is hands-on and problem oriented. The book also introduces a subset of the Python language early on to help write small functions. Chapters include an introduction to problem solving techniques and classical algorithms, problem-solving and programming and ways to apply core skills to application development.

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright
  4. Dedication
  5. Contents
  6. Preface
    1. The Book's Technical Features
    2. Online Textbook Supplements
    3. For Students: How to Read This Book
    4. Overview of the Book
    5. For Instructors: How to Use This Book
    6. Acknowledgments
    7. About the Author
  7. CHAPTER 1: Introduction to Computer Science
    1. 1.1 Computer Science
    2. 1.2 Computer Systems
    3. 1.3 Python Programming Language
    4. 1.4 Computational Thinking
    5. Chapter Summary
  8. CHAPTER 2: Python Data Types
    1. 2.1 Expressions, Variables, and Assignments
    2. 2.2 Strings
    3. 2.3 Lists
    4. 2.4 Objects and Classes
    5. 2.5 Python Standard Library
    6. 2.6 Case Study: Turtle Graphics Objects
    7. Chapter Summary
    8. Solutions to Practice Problems
    9. Exercises
  9. CHAPTER 3: Imperative Programming
    1. 3.1 Python Programs
    2. 3.2 Execution Control Structures
    3. 3.3 User-Defined Functions
    4. 3.4 Python Variables and Assignments
    5. 3.5 Parameter Passing
    6. 3.6 Case Study: Automating Turtle Graphics
    7. Chapter Summary
    8. Solutions to Practice Problems
    9. Exercises
    10. Problems
  10. CHAPTER 4: Text Data, Files, and Exceptions
    1. 4.1 Strings, Revisited
    2. 4.2 Formatted Output
    3. 4.3 Files
    4. 4.4 Errors and Exceptions
    5. 4.5 Case Study: Logging File Access
    6. Chapter Summary
    7. Solutions to Practice Problems
    8. Exercises
    9. Problems
  11. CHAPTER 5: Execution Control Structures
    1. 5.1 Decision Control and the if Statement
    2. 5.2 for Loop and Iteration Patterns
    3. 5.3 More on Lists: Two-Dimensional Lists
    4. 5.4 while Loop
    5. 5.5 More Loop Patterns
    6. 5.6 Additional Iteration Control Statements
    7. Chapter Summary
    8. Solutions to Practice Problems
    9. Exercises
    10. Problems
  12. CHAPTER 6: Containers and Randomness
    1. 6.1 Dictionaries
    2. 6.2 Other Built-In Container Types
    3. 6.3 Character Encodings and Strings
    4. 6.4 Module random
    5. 6.5 Case Study: Games of Chance
    6. Chapter Summary
    7. Solutions to Practice Problems
    8. Exercises
    9. Problems
  13. CHAPTER 7: Namespaces
    1. 7.1 Encapsulation in Functions
    2. 7.2 Global versus Local Namespaces
    3. 7.3 Exceptional Control Flow
    4. 7.4 Modules as Namespaces
    5. 7.5 Classes as Namespaces
    6. Chapter Summary
    7. Solutions to Practice Problems
    8. Exercises
    9. Problems
  14. CHAPTER 8: Object-Oriented Programming
    1. 8.1 Defining a New Python Class
    2. 8.2 Examples of User-Defined Classes
    3. 8.3 Designing New Container Classes
    4. 8.4 Overloaded Operators
    5. 8.5 Inheritance
    6. 8.6 User-Defined Exceptions
    7. 8.7 Case Study: Indexing and Iterators
    8. Chapter Summary
    9. Solutions to Practice Problems
    10. Exercises
    11. Problems
  15. CHAPTER 9: Graphical User Interfaces
    1. 9.1 Basics of tkinter GUI Development
    2. 9.2 Event-Based tkinter Widgets
    3. 9.3 Designing GUIs
    4. 9.4 OOP for GUIs
    5. 9.5 Case Study: Developing a Calculator
    6. Chapter Summary
    7. Solutions to Practice Problems
    8. Exercises
    9. Problems
  16. CHAPTER 10: Recursion
    1. 10.1 Introduction to Recursion
    2. 10.2 Examples of Recursion
    3. 10.3 Run Time Analysis
    4. 10.4 Searching
    5. 10.5 Case Study: Tower of Hanoi
    6. Chapter Summary
    7. Solutions to Practice Problems
    8. Exercises
    9. Problems
  17. CHAPTER 11: The Web and Search
    1. 11.1 The World Wide Web
    2. 11.2 Python WWW API
    3. 11.3 String Pattern Matching
    4. 11.4 Case Study: Web Crawler
    5. Chapter Summary
    6. Solutions to Practice Problems
    7. Exercises
    8. Problems
  18. CHAPTER 12: Databases and Data Processing
    1. 12.1 Databases and SQL
    2. 12.2 Database Programming in Python
    3. 12.3 Functional Language Approach
    4. 12.4 Parallel Computing
    5. Chapter Summary
    6. Solutions to Practice Problems
    7. Exercises
    8. Problems
  19. Index