Read more about Think Python: How to Think Like a Computer Scientist - 2e

Think Python: How to Think Like a Computer Scientist - 2e

(10 reviews)

Allen B. Downey, Franklin W. Olin College of Engineering

Copyright Year: 2012

ISBN 13: 9781491939369

Publisher: Green Tea Press

Language: English

Formats Available

Conditions of Use

Attribution-NonCommercial Attribution-NonCommercial


Learn more about reviews.

Reviewed by Rekha Rao, Adjunct Instructor, Portland Community College on 7/1/22

The text covers all subject areas well with a comprehensive index, debugging tips at end of each chapter, with glossary and exercises, together forming a good scaffolding structure. Case studies are presented after each set of congruent concepts,... read more

Reviewed by Sheikh Ariful Islam, Assistant Professor, University of Texas Rio Grande Valley on 11/4/20

This book is well structured and outlined to introduce each topic as it builds on the previous. The reader is presented with clear examples related to mathematics and is presented with techniques for building programs. Each chapter gives the... read more

Reviewed by Jefferson Fernandes, Associate Professor, Bunker Hill Community College on 6/24/20

The book was easy to get a quick understand of it's focus and areas. Table of Content and index are well built. End of each chapter has glossary review, very useful. read more

Reviewed by Qiuming Zhu, professor, University of Nebraska - Omaha on 3/28/20

The book covers the structures and components of the Python programming language thoroughly and effectively. It is appropriate for use as a textbook for an Introductory course for computer science with Python programming. read more

Reviewed by Ali Baheri, Research Assistant Professor, West Virginia University on 3/15/20

This book provides a nice overview all necessary materials required to understand Python like a real programmer. More importantly, the book aims to encourage to learn Python conceptually instead of just learning the syntax of a certain programming... read more

Reviewed by Euisuk Sung, Assistant Professor, New York City College of Technology on 12/4/19

This book covers a wide range of techniques that are necessary to understand programming in Python. The book starts with introducing fundamental backgrounds of programming languages how they have evolved. Since Python is a type of interpreter... read more

Reviewed by Elizabeth Milonas, Assistant Professor, New York City College of Technology on 3/30/19

The text covers all areas and ideas of Python comprehensively and thoroughly. The first few chapters introduce basic concepts needed to understand programming in general. Basic Python programming concepts are also introduced in the first few... read more

Reviewed by Amy Connolly, Assistant Professor, James Madison University on 3/7/19

Python is a great language for beginners to learn the basics of computer programming. This book covers most of the primary Python syntax. It would make a good reference book to supplement existing lectures, without being too unwieldy. For a... read more

Reviewed by Sid Suryanarayanan, Associate Professor, Colorado State University on 12/5/16

Python is becoming increasingly important in its use for scientific and engineering applications. This text is an easy-to-read short volume on the use of Python for coding, that teaches the reader generic skills of good programming. The topics... read more

Reviewed by David Pieczkiewicz, Director of Graduate Studies and Clinical Assistant Professor, University of Minnesota on 7/15/14

The text concisely but thoroughly covers the basics of programming in the Python language, from expressions and functions to file processing and object-oriented programming. The HTML version of the text has an index, but the DF version lacks it,... read more

Table of Contents

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

Ancillary Material

  • Green Tea Press
  • About the Book

    Think Python is a concise introduction to software design using the Python programming language. Intended 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.

    This textbook has been used in classes at Bard College, Olin College of Engineering, University of California, Santa Barbara, University of Maine, University of Northern Colorado.

    About the Contributors


    Allen B. Downey is an American computer scientist, professor of computer science at the Franklin W. Olin College of Engineering and writer of free textbooks.

    Downey received in 1989 his BS and in 1990 his MA, both in Civil Engineering from the Massachusetts Institute of Technology, and his PhD in Computer Science from the University of California at Berkeley in 1997.

    He started his career as Research Fellow in the San Diego Supercomputer Center in 1995. In 1997 he became Assistant Professor of Computer Science at Colby College, and in 2000 at Wellesley College. He was Research Fellow at Boston University in 2002 and Professor of Computer Science at the Franklin W. Olin College of Engineering since 2003. In 2009-2010 he was also Visiting Scientist at Google Inc.

    Contribute to this Page

    Suggest an edit to this book record