Cover
Brief Contents
Contents
About the Author
Preface
Chapter 1: Introduction
1.1 Two Fundamental Ideas of Computer Science: Algorithms and Information Processing
1.2 The Structure of a Modern Computer System
1.3 A Not-So-Brief History of Computing Systems
1.4 Getting Started with Python Programming
Chapter 2: Software Development, Data Types, and Expressions
2.1 The Software Development Process
2.2 Strings, Assignment, and Comments
2.3 Numeric Data Types and Character Sets
2.4 Expressions
2.5 Using Functions and Modules
Chapter 3: Loops and Selection Statements
3.1 Definite Iteration: The for Loop
3.2 Formatting Text for Output
3.3 Selection: if and if-else Statements
3.4 Conditional Iteration: The while Loop
Chapter 4: Strings and Text Files
4.1 Accessing Characters and Substrings in Strings
4.2 Data Encryption
4.3 Strings and Number Systems
4.4 String Methods
4.5 Text Files
Chapter 5: Lists and Dictionaries
5.1 Lists
5.2 Defining Simple Functions
5.3 Dictionaries
Chapter 6: Design with Functions
6.1 A Quick Review of What Functions Are and How They Work
6.2 Problem Solving with Top-Down Design
6.3 Managing a Program's Namespace
Chapter 7: Design with Recursion
7.1 Design with Recursive Functions
7.2 Higher-Order Functions
Chapter 8: Simple Graphics and Image Processing
8.1 Simple Graphics
8.2 Image Processing
Chapter 9: Graphical User Interfaces
9.1 The Behavior of Terminal-Based Programs and GUI-Based Programs
9.2 Coding Simple GUI-Based Programs
9.3 Windows and Window Components
9.4 Command Buttons and Responding to Events
9.5 Input and Output with Entry Fields
9.6 Defining and Using Instance Variables
9.7 Other Useful GUI Resources
Chapter 10: Design with Classes
10.1 Getting Inside Objects and Classes
10.2 Data-Modeling Examples
10.3 Building a New Data Structure: The Two-Dimensional Grid
10.4 Structuring Classes with Inheritance and Polymorphism
Chapter 11: Data Analysis and Visualization
11.1 Some Basic Functions for Analyzing a Data Set
11.2 Visualizing a Data Set
11.3 Working with More Complex Data Sets
Chapter 12: Multithreading, Networks, and Client/Server Programming
12.1 Threads and Processes
12.2 The Readers and Writers Problem
12.3 Networks, Clients, and Servers
Chapter 13: Searching, Sorting, and Complexity Analysis
13.1 Measuring the Efficiency of Algorithms
13.2 Complexity Analysis
13.3 Search Algorithms
13.4 Basic Sort Algorithms
13.6 An Exponential Algorithm: Recursive Fibonacci
Appendix A: Python Resources
Appendix B: Installing the images and breezypythongui Libraries
Appendix C: The API for Image Processing
Appendix D: Transition from Python to Java and C++
Appendix E: Suggestions for Further Reading
Glossary
Index
Lambert's FUNDAMENTALS OF PYTHON: FIRST PROGRAMS, 3rd EDITION, uses an easygoing, conversational writing style to introduce programming and problem solving to students from all types of backgrounds. This edition is designed so that the program examples gradually transition from simple snippets to realistic applications. These applications include graphics, image processing, graphical user interfaces and data visualization.