A no-nonsense introduction to software design using the Python programming language, for people with no programming experience.
A no-nonsense introduction to software design using the Python programming language. 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.
A no-nonsense introduction to software design using the Python programming language, for people with no programming experience.
A no-nonsense introduction to software design using the Python programming language. 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.
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.
“"... the book offers plenty of examples, very helpful explanations, and useful illustrations." F.H. Wild III, Choice Magazine”
'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 "I very much like Python for Software Design. I hope that instructors in computational science will learn some pedagogical lessons from it. Repeatedly, the book showed code that was simply readable. The feature, its rationale, its uses, and debugging hints are together for collective reference (like an object?). And ideas are repeated as they naturally reappear. Is that how computer scientists think? I don't know. But if that's how they teach, they're doing a fine job. When trying to teach the more difficult ideas of floating point errors, control of step size, mesh refinement, and parallel programming, computational scientists could learn something from Python for Software Design.
Dan Nagle, Scientific Programming "... the book offers plenty of examples, very helpful explanations, and useful illustrations."
F.H. Wild III, Choice Magazine "Downey successfully presents the programming language Python. The author provides details of Python in a cogent fashion, enabling a novice in programming to cover the material with relative ease. Downey succeeds in fulfilling his four goals, stated in the preface."
N. Chakrapani, reviews.com "It is short and well written, it follows a very smooth progression, and its companion web Site is very good."
O. Lecarme, reviews.com "a book that is nearly free from technical bugs; explains concepts in clear, readable prose; contains helpful illustrations; and integrates activities to engage its readers."
Max Hailperin, Computing in Science and Engineering
Allen B. Downey, Ph.D, is an associate professor of computer science at the Olin College of Engineering in Needham, Massachusetts. He has taught at Wellesly College, Colby College, and UC Berkeley. He has a doctorate in computer science from UC Berkeley and a Master's degree from MIT. Dr. Downey is the author of a previous version of this book, titled How to Think Like a Computer Scientist: Learning with Python, which he self-published in 2001.
This item is eligible for free returns within 30 days of delivery. See our returns policy for further details.