Books & Videos

Table of Contents

  1. Chapter 1 The Way of the Program

    1. The Python Programming Language

    2. What Is a Program?

    3. What Is Debugging?

    4. Syntax Errors

    5. Runtime Errors

    6. Semantic Errors

    7. Experimental Debugging

    8. Formal and Natural Languages

    9. The First Program

    10. Debugging

    11. Glossary

    12. Exercises

  2. Chapter 2 Variables, Expressions, and Statements

    1. Values and Types

    2. Variables

    3. Variable Names and Keywords

    4. Operators and Operands

    5. Expressions and Statements

    6. Interactive Mode and Script Mode

    7. Order of Operations

    8. String Operations

    9. Comments

    10. Debugging

    11. Glossary

    12. Exercises

  3. Chapter 3 Functions

    1. Function Calls

    2. Type Conversion Functions

    3. Math Functions

    4. Composition

    5. Adding New Functions

    6. Definitions and Uses

    7. Flow of Execution

    8. Parameters and Arguments

    9. Variables and Parameters Are Local

    10. Stack Diagrams

    11. Fruitful Functions and Void Functions

    12. Why Functions?

    13. Importing with from

    14. Debugging

    15. Glossary

    16. Exercises

  4. Chapter 4 Case Study: Interface Design

    1. TurtleWorld

    2. Simple Repetition

    3. Exercises

    4. Encapsulation

    5. Generalization

    6. Interface Design

    7. Refactoring

    8. A Development Plan

    9. Docstring

    10. Debugging

    11. Glossary

    12. Exercises

  5. Chapter 5 Conditionals and Recursion

    1. Modulus Operator

    2. Boolean Expressions

    3. Logical Operators

    4. Conditional Execution

    5. Alternative Execution

    6. Chained Conditionals

    7. Nested Conditionals

    8. Recursion

    9. Stack Diagrams for Recursive Functions

    10. Infinite Recursion

    11. Keyboard Input

    12. Debugging

    13. Glossary

    14. Exercises

  6. Chapter 6 Fruitful Functions

    1. Return Values

    2. Incremental Development

    3. Composition

    4. Boolean Functions

    5. More Recursion

    6. Leap of Faith

    7. One More Example

    8. Checking Types

    9. Debugging

    10. Glossary

    11. Exercises

  7. Chapter 7 Iteration

    1. Multiple Assignment

    2. Updating Variables

    3. The while Statement

    4. break

    5. Square Roots

    6. Algorithms

    7. Debugging

    8. Glossary

    9. Exercises

  8. Chapter 8 Strings

    1. A String Is a Sequence

    2. len

    3. Traversal with a for Loop

    4. String Slices

    5. Strings Are Immutable

    6. Searching

    7. Looping and Counting

    8. String Methods

    9. The in Operator

    10. String Comparison

    11. Debugging

    12. Glossary

    13. Exercises

  9. Chapter 9 Case Study: Word Play

    1. Reading Word Lists

    2. Exercises

    3. Search

    4. Looping with Indices

    5. Debugging

    6. Glossary

    7. Exercises

  10. Chapter 10 Lists

    1. A List Is a Sequence

    2. Lists Are Mutable

    3. Traversing a List

    4. List Operations

    5. List Slices

    6. List Methods

    7. Map, Filter, and Reduce

    8. Deleting Elements

    9. Lists and Strings

    10. Objects and Values

    11. Aliasing

    12. List Arguments

    13. Debugging

    14. Glossary

    15. Exercises

  11. Chapter 11 Dictionaries

    1. Dictionary as a Set of Counters

    2. Looping and Dictionaries

    3. Reverse Lookup

    4. Dictionaries and Lists

    5. Memos

    6. Global Variables

    7. Long Integers

    8. Debugging

    9. Glossary

    10. Exercises

  12. Chapter 12 Tuples

    1. Tuples Are Immutable

    2. Tuple Assignment

    3. Tuples as Return Values

    4. Variable-Length Argument Tuples

    5. Lists and Tuples

    6. Dictionaries and Tuples

    7. Comparing Tuples

    8. Sequences of Sequences

    9. Debugging

    10. Glossary

    11. Exercises

  13. Chapter 13 Case Study: Data Structure Selection

    1. Word Frequency Analysis

    2. Random Numbers

    3. Word Histogram

    4. Most Common Words

    5. Optional Parameters

    6. Dictionary Subtraction

    7. Random Words

    8. Markov Analysis

    9. Data Structures

    10. Debugging

    11. Glossary

    12. Exercises

  14. Chapter 14 Files

    1. Persistence

    2. Reading and Writing

    3. Format Operator

    4. Filenames and Paths

    5. Catching Exceptions

    6. Databases

    7. Pickling

    8. Pipes

    9. Writing Modules

    10. Debugging

    11. Glossary

    12. Exercises

  15. Chapter 15 Classes and Objects

    1. User-Defined Types

    2. Attributes

    3. Rectangles

    4. Instances as Return Values

    5. Objects Are Mutable

    6. Copying

    7. Debugging

    8. Glossary

    9. Exercises

  16. Chapter 16 Classes and Functions

    1. Time

    2. Pure Functions

    3. Modifiers

    4. Prototyping Versus Planning

    5. Debugging

    6. Glossary

    7. Exercises

  17. Chapter 17 Classes and Methods

    1. Object-Oriented Features

    2. Printing Objects

    3. Another Example

    4. A More Complicated Example

    5. The init Method

    6. The __str__ Method

    7. Operator Overloading

    8. Type-Based Dispatch

    9. Polymorphism

    10. Debugging

    11. Interface and Implementation

    12. Glossary

    13. Exercises

  18. Chapter 18 Inheritance

    1. Card Objects

    2. Class Attributes

    3. Comparing Cards

    4. Decks

    5. Printing the Deck

    6. Add, Remove, Shuffle, and Sort

    7. Inheritance

    8. Class Diagrams

    9. Debugging

    10. Data Encapsulation

    11. Glossary

    12. Exercises

  19. Chapter 19 Case Study: Tkinter

    1. GUI

    2. Buttons and Callbacks

    3. Canvas Widgets

    4. Coordinate Sequences

    5. More Widgets

    6. Packing Widgets

    7. Menus and Callables

    8. Binding

    9. Debugging

    10. Glossary

    11. Exercises

  1. Appendix Debugging

    1. Syntax Errors

    2. Runtime Errors

    3. Semantic Errors

  2. Appendix Analysis of Algorithms

    1. Order of Growth

    2. Analysis of Basic Python Operations

    3. Analysis of Search Algorithms

    4. Hashtables

  3. Appendix Lumpy

    1. State Diagram

    2. Stack Diagram

    3. Object Diagrams

    4. Function and Class Objects

    5. Class Diagrams

  4. Colophon