A Functional Start to Computing with Python

A Functional Start to Computing with PythonReviews
Author: Ted Herman
Pub Date: 2013
ISBN: 978-1466504554
Pages: 427
Language: English
Format: PDF
Size: 10 Mb


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.


Table of Contents

Part I. Motivation and Background
1. Inspirations of Computing
2. Preview of Computing with Python
3. General Landscape of Computing Languages
4. Python Setup

Part II. Functional-Style Python
5. Types
6. Operators
7. Expressions
8. Printing
9. Functions I
10. Functions II
11. Conditional Logic
12. Slice, Split, Join
13. Comprehensions
14. Functional Patterns

Part III. Imperative-Style Python
15. Names for Data
16. Functions and Variables
17. Mutation
18. Modules
19. Repetition
20. Documentation
21. Debugging
22. Accumulation Loop Patterns
23. Search Loop Patterns
24. Drawing
25. Input and Output
26. Network Programs
27. Objects, Classes, and Inheritance
28. Randomness, Time, and System Modules
29. Graphical User Interfaces

Part IV. Appendices
30. Advanced Topics
31. Solutions to -Exercises
32. Reference Tables