A Functional Start to Computing with Python

Ted Herman

July 26, 2013 by Chapman and Hall/CRC
Textbook - 427 Pages - 52 B/W Illustrations
ISBN 9781466504554 - CAT# K14528
Series: Chapman & Hall/CRC Textbooks in Computing


Add to Wish List
FREE Standard Shipping!


  • Introduces data structure operations, including textual/string computing, early in the text
  • Requires no prior programming experience
  • Integrates core computer science ideas, such as self-referencing structures, aliases, and finite state machines
  • Covers recursion in both functional- and imperative-style Python
  • Reinforces students’ understanding of unit testing through interactive programming exercises, with selected answers in an appendix
  • Offers chapter supplements, demos, and other ancillary materials on a companion website

Figure slides available upon qualifying course adoption


A Functional Start to Computing with Python enables students to quickly learn computing without having to use loops, variables, and object abstractions at the start. Requiring no prior programming experience, the book draws on Python’s flexible data types and operations as well as its capacity for defining new functions. Along with the specifics of Python, the text covers important concepts of computing, including software engineering motivation, algorithms behind syntax rules, advanced functional programming ideas, and, briefly, finite state machines.

Taking a student-friendly, interactive approach to teach computing, the book addresses more difficult concepts and abstractions later in the text. The author presents ample explanations of data types, operators, and expressions. He also describes comprehensions—the powerful specifications of lists and dictionaries—before introducing loops and variables. This approach helps students better understand assignment syntax and iteration by giving them a mental model of sophisticated data first.

Web Resource
The book’s supplementary website at http://functionalfirstpython.com/ provides many ancillaries, including:

  • Interactive flashcards on Python language elements
  • Links to extra support for each chapter
  • Unit testing and programming exercises
  • An interactive Python stepper tool
  • Chapter-by-chapter points
  • Material for lectures