A Concise Introduction to Programming in Python: 2nd Edition (Paperback) book cover

A Concise Introduction to Programming in Python

2nd Edition

By Mark J. Johnson

Chapman and Hall/CRC

209 pages | 23 B/W Illus.

Purchasing Options:$ = USD
Paperback: 9781138082588
pub: 2018-03-30
SAVE ~$10.39
Hardback: 9781138082557
pub: 2018-04-06
SAVE ~$32.00
eBook (VitalSource) : 9781315112428
pub: 2018-04-17
from $24.98

FREE Standard Shipping!


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/.

Table of Contents

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

About the Author

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.

About the Series

Chapman & Hall/CRC Textbooks in Computing

Learn more…

Subject Categories

BISAC Subject Codes/Headings:
COMPUTERS / Programming / Games
COMPUTERS / Programming Languages / General
MATHEMATICS / Arithmetic