Python for Software Design
How to Think Like a Computer Scientist
$120.00 (X)
- Author: Allen B. Downey, Olin College of Engineering, Massachusetts
- Date Published: March 2009
- availability: Available
- format: Hardback
- isbn: 9780521898119
$
120.00
(X)
Hardback
Other available formats:
Paperback, eBook
Looking for an examination copy?
If you are interested in the title for your course we can consider offering an examination copy. To register your interest please contact [email protected] providing details of the course you are teaching.
-
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.
Read more- 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 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 ProgrammingSee more reviews"... 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 EngineeringCustomer reviews
Not yet reviewed
Be the first to review
Review was not posted due to profanity
×Product details
- Date Published: March 2009
- format: Hardback
- isbn: 9780521898119
- length: 270 pages
- dimensions: 260 x 184 x 20 mm
- weight: 0.64kg
- contains: 25 b/w illus. 118 exercises
- availability: Available
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.Instructors have used or reviewed this title for the following courses
- Advanced Game Design Workshop
- Advanced Web Development
- Agent-Based Simulation
- Algorithmic Problem Solving
- Computational Techniques for Linguists
- Computational strategies for collaborative problem solving
- Computer Information Systems
- Computer Programming
- Computer Science ll
- Computing for Scientists
- Current Topics in Computer Science and Engineering
- Foundations of Computing
- Foundations of Computing through Digital Media
- Foundations of Software
- Fundamental Ideas in Computer Science
- GIS Application Programming
- General Computer Science for Engineers
- Information Retrieval and Analysis
- Intermediate 3D Computer Animation
- Intermediate Web Development and Design
- Intro to Computer Science and Problem Solving
- Intro to Computing
- Intro to Programming
- Intro to Statistical and Computational Genomics
- Introduction to Programming
- Introduction to Computational Problem Solving
- Introduction to Computer Programming
- Introduction to Computer Science
- Introduction to Computer Science (Python)
- Introduction to Computer Science and Programming using Python
- Introduction to Computers and Programming
- Introduction to Computing
- Introduction to Formal Logic
- Introduction to Software Design
- Principles of Computer Technology
- Problem Solving & Programming
- Problem-Based Introduction to CS
- Programming Concepts
- Programming Fundamentals I
- Programming in Python
- Python Programming
- Python for Linux System Administration
- Roadmap to Computing
- The Art of Programming
- Thinking Like A Computer Scientist
Sorry, this resource is locked
Please register or sign in to request access. If you are having problems accessing these resources please email [email protected]
Register Sign in» Proceed
You are now leaving the Cambridge University Press website. Your eBook purchase and download will be completed by our partner www.ebooks.com. Please see the permission section of the www.ebooks.com catalogue page for details of the print & copy limits on our eBooks.
Continue ×Are you sure you want to delete your account?
This cannot be undone.
Thank you for your feedback which will help us improve our service.
If you requested a response, we will make sure to get back to you shortly.
×