A Concise Introduction to Programming in Python, Second Edition provides a hands-on and accessible introduction to writing software in Python, with no prior programming experience required.
The Second Edition was thoroughly reorganized and rewritten based on classroom experience to incorporate:
- A spiral approach, starting with turtle graphics, and then revisiting concepts in greater depth using numeric, textual, and image data
- Clear, concise explanations written for beginning students, emphasizing core principles
- A variety of accessible examples, focusing on key concepts
- Diagrams to help visualize new concepts
- New sections on recursion and exception handling, as well as an earlier introduction of lists, based on instructor feedback
The text offers sections designed for approximately one class period each, and proceeds gradually from procedural to object-oriented design. Examples, exercises, and projects are included from diverse application domains, including finance, biology, image processing, and textual analysis. It also includes a brief "How-To" sections that introduce optional topics students may be interested in exploring.
The text is written to be read, making it a good fit in flipped classrooms. Designed for either classroom use or self-study, all example programs and solutions to odd-numbered exercises (except for projects) are available at: http://www.central.edu/go/conciseintro/.
1. Turtle Graphics
1.1 Getting Started
1.2 Calling Functions
1.3 Writing Functions
1.4 Repetition
1.5 Checking Conditions
1.6 Conditional Repetition
1.7 More Complex Choices
1.8 Randomness
1.9 Thinking with Functions
2. Numeric Data
2.1 Variables and Assignment
2.2 Calculations
2.3 Accumulation Loops
2.4 Accumulator Options
Project: Simulation
2.5 Numbers in Memory
2.6 Repeated Input
2.7 Lists of Numbers
2.8 List Indexing and Slicing
2.9 List Accumulation
2.10 Searching a List
2.11 Recursion
3. Text
3.1 Strings
3.2 String Accumulation
3.3 Text in Memory
3.4 String Processing
How-To: Output Formatting
3.5 Lists of Strings
3.6 Reading Text Files
Project: Word-Guessing Game
Project: Flash Cards
How-To: Reading Csv Files
3.7 Handling Exceptions
How-To: Writing Text Files
3.8 Dictionaries
Project: Eliza
Project: Reading DNA Frames
4. Images
4.1 Creating Images
4.2 Color Transformations
Project: Gamma Correction
Project: Color Quantization
4.3 Size Transformations
4.4 Geometric Transformations
4.5 Combining Images
Project: Image Filters
5. Objects and Classes
5.1 Using Turtle Objects
5.2 Writing Classes
5.3 Composition
5.4 Importing Classes
5.5 Inheritance
5.6 Graphical User Interfaces
Biography
Mark J. Johnson is professor of computer science and mathematics at Central College in Pella, Iowa, where he holds the Ruth and Marvin Denekas Endowed Chair in Science and Humanities. Mark is a graduate of the University of Wisconsin-Madison (Ph.D., mathematics) and St. Olaf College. He is the author of A Concise Introduction to Data Structures using Java, also published by Chapman & Hall/CRC Press.