Python for Software Design: How to Think Like a Computer Scientist

Python for Software Design: How to Think Like a Computer Scientist

  • £14.59
  • Save £20

Allen B. Downey
Cambridge University Press
Edition: Illustrated, 5/28/2009
EAN 9780521725965, ISBN10: 0521725968

Paperback, 272 pages, 25.4 x 17.8 x 1.5 cm
Language: English

A no-nonsense introduction to software design using the Python programming language. Written for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters. The focus is on the programming process, with special emphasis on debugging. The book includes a wide range of exercises, from short examples to substantial projects, so that students have ample opportunity to practise each new concept. Exercise solutions and code examples are available from thinkpython.com, along with Swampy, a suite of Python programs that is used in some of the exercises.

1. Preface
2. The way of the program
3. Variables, expressions and statements
4. Functions
5. Case study
interface design
6. Conditionals and recursion
7. Fruitful functions
8. Iteration
9. Strings
10. Case study
word play
11. Lists
12. Dictionaries
13. Tuples
14. Case study
data structure selection
15. Files
16. Classes and objects
17. Classes and functions
18. Classes and methods
19. Inheritance
20. Case study
Appendix 1

'I liked this book. The presentation is neat and clean, I might even say cheerful. And I learned a lot, not least of all where higher level languages are going, and the terminology used to express that. ... I liked the pace of presentation. I liked the constant stirring of topics: a new feature, a hint on debugging, a few words on programming style, some thoughts on programming principles, then on to the next new feature. It really is a nice mix. If one is writing a textbook on scientific programming (rather than computer science as this one is), one could well learn some style tips here.' Scientific Programming