Building Python Programs, 1st edition
- Stuart Reges
- , Marty Stepp
- , Allison Obourn
- Study simpler and faster
Use flashcards and other study tools in your eTextbook
- Listen on the go
Learn how you like with full eTextbook audio
- Find it fast
Quickly navigate your eTextbook with search
- Stay organized
Access all your eTextbooks in one place
- Easily continue access
Keep learning with auto-renew
Building Python Programs offers you a layered, back-to-basics approach to Python programming. The authors of the long successful Building Java Programs bring their proven, class-tested and back-to-basics strategy to teaching Python programming. Their signature layered approach introduces programming fundamentals first, with new syntax and concepts added over multiple chapters. Object-oriented programming is discussed only after you have developed a basic understanding of Python programming.
The text focuses on problem-solving with an emphasis on algorithmic thinking and is appropriate for the 2-semester sequence in introductory computer science.
Published by Pearson (July 14th 2021) - Copyright © 2019
ISBN-13: 9780137530731
Subject: Programming - Introductory
Category: Python
Chapter 1 Introduction to Python Programming
- 1.1 Basic Computing Concepts
- Why Programming?
- Hardware and Software
- The Digital Realm
- The Process of Programming
- Why Python?
- The Python Programming Environment
- 1.2 And Now: Python
- Printing Output
- String Literals (Strings)
- Escape Sequences
- Printing a Complex Figure
- Comments, Whitespace, and Readability
- 1.3 Program Errors
- Syntax Errors
- Logic Errors (Bugs)
- 1.4 Procedural Decomposition
- Functions
- Flow of Control
- Identifiers and Keywords
- Functions That Call Other Functions
- An Example Runtime Error
- 1.5 Case Study: Drawing Figures
- Structured Version
- Final Version without Redundancy
- Analysis of Flow of Execution
Chapter 2 Data and Definite Loops
- 2.1 Basic Data Concepts
- Types
- Expressions
- Literals
- Arithmetic Operators
- Precedence
- Mixing and Converting Types
- 2.2 Variables
- A Program with Variables
- Increment/Decrement Operators
- Printing Multiple Values
- 2.3 The for Loop
- Using a Loop Variable
- Details about Ranges
- String Multiplication and Printing Partial Lines
- Nested for Loops
- 2.4 Managing Complexity
- Scope
- Pseudocode
- Constants
- 2.5 Case Study: Hourglass Figure
- Problem Decomposition and Pseudocode
- Initial Structured Version
- Adding a Constant
Chapter 3 Parameters and Graphics
- 3.1 Parameters
- The Mechanics of Parameters
- Limitations of Parameters
- Multiple Parameters
- Parameters versus Constants
- Optional Parameters
- 3.2 Returning Values
- The math Module
- The random Module
- Defining Functions That Return Values
- Returning Multiple Values
- 3.3 Interactive Programs
- Sample Interactive Program
- 3.4 Graphics
- Introduction to DrawingPanel
- Drawing Lines and Shapes
- Colors
- Drawing with Loops
- Text and Fonts
- Images
- Procedural Decomposition with Graphics
- 3.5 Case Study: Projectile Trajectory
- Unstructured Solution
- Structured Solution
- Graphical Version
Chapter 4 Conditional Execution
- 4.1 if/else Statements
- Relational Operators
- Nested if/else Statements
- Factoring if/else Statements
- Testing Multiple Conditions
- 4.2 Cumulative Algorithms
- Cumulative Sum
- Min/Max Loops
- Cumulative Sum with if
- Roundoff Errors
- 4.3 Functions with Conditional Execution
- Preconditions and Postconditions
- Raising Exceptions
- Revisiting Return Values
- Reasoning about Paths
- 4.4 Strings
- String Methods
- Accessing Characters by Index
- Converting between Letters and Numbers
- Cumulative Text Algorithms
- 4.5 Case Study: Basal Metabolic Rate
- One-Person Unstructured Solution
- Two-Person Unstructured Solution
- Two-Person Structured Solution
- Procedural Design Heuristics
Chapter 5 Program Logic and Indefinite Loops
- 5.1 The while Loop
- A Loop to Find the Smallest Divisor
- Loop Priming
- 5.2 Fencepost Algorithms
- Fencepost with if
- Sentinel Loops
- Sentinel with Min/Max
- 5.3 Boolean Logic
- Logical Operators
- Boolean Variables and Flags
- Predicate Functions
- Boolean Zen
- Short-Circuited Evaluation
- 5.4 Robust Programs
- The try/except Statement
- Handling User Errors
- 5.5 Assertions and Program Logic
- Reasoning about Assertions
- A Detailed Assertions Example
- 5.6 Case Study: Number Guessing Game
- Initial Version without Hinting
- Randomized Version with Hinting
- Final Robust Version
Chapter 6 File Processing
- 6.1 File-Reading Basics
- Data and Files
- Reading a File in Python
- Line-Based File Processing
- Structure of Files and Consuming Input
- Prompting for a File
- 6.2 Token-Based Processing
- Numeric Input
- Handling Invalid Input
- Mixing Lines and Tokens
- Handling Varying Numbers of Tokens
- Complex Input Files
- 6.3 Advanced File Processing
- Multi-Line Input Records
- File Output
- Reading Data from the Web
- 6.4 Case Study: ZIP Code Lookup
Chapter 7 Lists
- 7.1 List Basics
- Creating Lists
- Accessing List Elements
- Traversing a List
- A Complete List Program
- Random Access
- List Methods
- 7.2 List-Traversal Algorithms
- Lists as Parameters
- Searching a List
- Replacing and Removing Values
- Reversing a List
- Shifting Values in a List
- Nested Loop Algorithms
- List Comprehensions
- 7.3 Reference Semantics
- Values and References
- Modifying a List Parameter
- The Value None
- Mutability
- Tuples
- 7.4 Multidimensional Lists
- Rectangular Lists
- Jagged Lists
- Lists of Pixels
- 7.5 Case Study: Benford’s Law
- Tallying Values
- Completing the Program
Chapter 8 Dictionaries and Sets
- 8.1 Dictionary Basics
- Creating a Dictionary
- Dictionary Operations
- Looping Over a Dictionary
- Dictionary Ordering
- 8.2 Advanced Dictionary Usage
- Dictionary for Tallying
- Nested Collections
- Dictionary Comprehensions
- 8.3 Sets
- Set Basics
- Set Operations
- Set Efficiency
- Set Example: Lottery
Chapter 9 Recursion
- 9.1 Thinking Recursively
- A Nonprogramming Example
- Iteration to Recursion
- Structure of Recursive Solutions
- Reversing a File
- The Recursive Call Stack
- 9.2 Recursive Functions and Data
- Integer Exponentiation
- Greatest Common Divisor
- Directory Crawler
- 9.3 Recursive Graphics
- Cantor Set
- Sierpinski Triangle
- 9.4 Recursive Backtracking
- Traveling North/East
- Eight Queens Puzzle
- Stopping after One Solution
- 9.5 Case Study: Prefix Evaluator
- Infix, Prefix, and Postfix Notation
- Evaluating Prefix Expressions
- Complete Program
Chapter 10 Searching and Sorting
- 10.1 Searching and Sorting Libraries
- Binary Search