2nd Edition

A Concise Introduction to Programming in Python

By Mark J. Johnson Copyright 2018
    227 Pages 23 B/W Illustrations
    by Chapman & Hall

    227 Pages 23 B/W Illustrations
    by Chapman & Hall

    227 Pages 23 B/W Illustrations
    by Chapman & Hall

    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


    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.