Our systems are now restored following recent technical disruption, and we’re working hard to catch up on publishing. We apologise for the inconvenience caused. Find out more

Recommended product

Popular links

Popular links


Python for Software Design

Python for Software Design

Python for Software Design

How to Think Like a Computer Scientist
Allen B. Downey, Olin College of Engineering, Massachusetts
April 2009
Adobe eBook Reader
9780511501555

    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.

    • No-nonsense style, perfect for beginning undergraduates and first-time programmers
    • Difficult concepts explained in bite-size portions
    • Lots of exercises, from short examples to substantial projects, with solutions and example code available from www.thinkpython.com

    Reviews & endorsements

    '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.' Scientific Programming

    '… explains concepts in clear, readable prose; contains helpful illustrations; and integrates activities to engage its readers.' Computing in Science and Engineering

    See more reviews

    Product details

    April 2009
    Adobe eBook Reader
    9780511501555
    0 pages
    0kg
    25 b/w illus. 118 exercises
    This ISBN is for an eBook version which is distributed on our behalf by a third party.

    Table of Contents

    • 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: Tkinter
    • Appendix 1: debugging.