Search
Go

Shop by category
 
Python for Software Design: How to Think Like a Computer Scientist
Email a friendView larger image

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

List Price: $42.00
Our Price: $34.29
You Save: $7.71 (18%)
Shipping: This item ships for FREE with Super Saver Shipping.
SKU:

197007

In Stock
Usually ships in 1 business days

Note: Item may be sold and shipped by another company. Learn more.
Product Promotions:
  • Buy $50 in qualifying physical textbooks, get $2 in Amazon MP3 Credit.  Here's how (restrictions apply)
Description:

Python for Software Design 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. 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 practice 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.

Product Details:
Author: Allen B. Downey
Paperback: 270 pages
Publisher: Cambridge University Press
Publication Date: March 16, 2009
Language: English
ISBN: 0521725968
Product Length: 9.9 inches
Product Width: 6.9 inches
Product Height: 0.7 inches
Product Weight: 1.1 pounds
Package Length: 10.0 inches
Package Width: 7.0 inches
Package Height: 0.6 inches
Package Weight: 1.05 pounds
Average Customer Rating: based on 9 reviews
Customer Reviews:
Average Customer Review: 4.0 ( 9 customer reviews )
Write an online review and share your thoughts with other customers.


Most Helpful Customer Reviews

21 of 22 found the following review helpful:

4A good introduction to programming using PythonJun 16, 2010
By Alexandros Gezerlis "Alex Gezerlis"
Allen Downey's "Python for software design" is a major revision of the author's earlier work "How to think like a computer scientist", and is intended as an introduction to software design using the Python programming language.

The Good: this book is easy and fun, just like Python itself. The author uses clear language, defining each new term as soon as it appears, and then gathering all the definitions in a glossary at the end of every chapter. The book is approximately 250 pages long, consisting of 19 chapters. Each of these is about ten pages long. Most chapters focus on elements of the language (e.g. functions, strings, tuples, inheritance) while a few of them are "case studies" which use the material introduced up to that point. Chapters are subdivided into at least 10 sections each, the last of which is always the exercise section. The author has provided solutions to some of the exercises on his website, where the interested reader can also find the example code used in the book, swampy (a suite of Python modules the author has written), as well as the complete text of the book (available for free). Toward the end of each chapter and in an appendix, Downey has provided material on debugging. These sections often provide him with an excuse to offer advice on programming best practices.

The Bad: classes and objects are introduced in chapter 15 (of 19). There are those who might think that such a chapter structure leads the reader to undervalue object-oriented programming. However, given the book's intended readership, I don't think this is a particularly egregious error. The question of the readers's required background (or lack thereof) is also connected to the choice of topics covered in this volume: since this is an introduction, many things are obviously left out (e.g. there is nothing on generator functions, lambda expressions, binary data, destructors, metaclasses and so on). Once again, this is unavoidable in a short book intended for people with no programming experience. Finally, with the exception of a few footnotes, this book describes Python 2.x, not the (backward-incompatible) Python 3.x. However, this is also the case for the majority of the good Python books out there, and for third-party software, so Downey's decision seems reasonable.

Taking the book's earlier title (which is now its subtitle) to heart exposes it to comparison with heavyweights claiming to be filling a similar niche: a) "Introduction to programming in Java: an interdisciplinary approach" (Sedgewick & Wayne), b) "Python programming: an introduction to computer science" (Zelle), and c) "How to Design programs: an introduction to programming and computing" (Felleisen, Findler, Flatt, & Krishnamurthi). The latter uses Scheme, following the classic volume "Structure and interpretation of computer programs" (Abelson, Sussman, & Sussman). All of these books are arguably deeper than "Python for software design", but it is important to note that they are also longer and more difficult to read.

In a nutshell, this book is optimal for high-school or college students making their first foray into programming. Such readers would benefit most from buying the paper copy and trying to do most of the exercises. The book might also prove useful to experienced programmers who are interested in an easy, idiomatic, and concise introduction to many aspects of Python.

Alex Gezerlis

12 of 14 found the following review helpful:

5Excellent Introduction to both Python and Computer ScienceJul 10, 2009
By Mfragin
This book fills a niche that few other Python books can fill: an introduction to Python that also gives a strong introduction to computer science and software design.

I have read many Python books aimed at students in Computer Science that are little more than translations of a previous book into Python. Many of those books are full of "non-Pythonic", unintuitive, or erroneous code. This book makes none of those mistakes. In a relatively small package it still manages to give a firm foundation in writing concise and efficient Python programs. Chapters are written around Python's basic data types and quickly show the correct way to use these structures.

The case studies included are excellent and get students involved with graphics early in the book--with help from the Swampy module. Other case studies show how easy it is to use Python to parse text files and write functions for lexicographical analysis. After covering the basic types (including files and modules), Downey moves on to object-oriented programming and wraps up the book with a look at Graphical User Interface (GUI) programming in Python.

This book is well suited to individual study, but I use it in a high school Computer Science course. I find this book to be much better than most textbooks aimed at introductory computer science students. This book compares well with the classic Python Programming: An Introduction to Computer Science [With CD-ROM] [PYTHON PROGRAMMING].

7 of 8 found the following review helpful:

4Good for teachingFeb 18, 2010
By Timothy B. Webster
I'm using this book to teach my (homeschooled high school sophomore) son programming, and it is working very well. It teaches programming basics, some computer science and software design, and debugging using Python. Unlike some others I glanced at, it is mercifully brief. It has solid exercises with online code solutions as well as modules to get up and running fast (swampy is fun) -- they can be easily supplemented with exercises from my son's math and physics texts. The author gets into some substantial topics early (like recursion) that have kept us challenged even in early chapters. I was a bit apprehensive about launching in to Python since I have never studied an object oriented language (my programming experience is dated by about 25 years), but the text is clear and Python is fun and accessible.

While I appreciate the author's emphasis on debugging, I think he goes into more detail on debugging than is useful at this level. That is, the exercises are not difficult or involved enough to practice the debugging strategies that he teaches. He is an experienced teacher, however, so perhaps his ounce of prevention will save students trouble down the road. You might want to consider a supplemental text that is more reference-oriented.

1 of 1 found the following review helpful:

5Great, high yield, intro to Python and Computer Science!Feb 12, 2012
By B. Unger
I was very impressed with this book. I've done some basic dynamic web development in the Ruby/Rails environment and decided to take a detour into Python and then hopefully Django. I started out with a different book called "Learning Python" and while I was impressed with how complete and thorough that book was, it was slow going and low yield. If you are familiar with computer languages at all you don't need to have every function and method spelled out. You know they exist and can look them up online as needed. LP takes you through each one. I googled "Best Python books" and someone pointed me in the direction of Allan Downey's book, one he wrote to teach his own intro college level classes. He was teaching Java to his college students and was apparently disappointed with the available textbooks for the same reasons I was. To paraphrase, he notes, "I would rather my students read 10 pages than not read 50 pages." Downey's 10 pages are very high yield. Downey now considers Python his favorite language and he gives the reader an overview of Python very quickly. He includes a lot of info on debugging that will be intuitive to programmers with some experience but are probably very useful to someone for whom this is their first exposure to programing. This book a great first book on Python and programing in general.

3 of 4 found the following review helpful:

3learn pythonMay 06, 2010
By Wayne E. Douglas
It's excellent for what it covers. I don't know if it's just me or not;but
I found that some of the exercises were too difficult too early.Otherwise,
the methods used to instruct were quite good.

See all 9 customer reviews on Amazon.com
About Us   Contact Us
Privacy Policy Copyright © , Security Books. All rights reserved.
Web business powered by Amazon WebStore