Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Practical Programming: An Introduction to Computer Science Using Python (Pragmatic Programmers) 1st Edition
There is a newer edition of this item:
Welcome to computer science in the 21st century. Did you ever wonder how computers represent DNA? How they can download a web page containing population data and analyze it to spot trends? Or how they can change the colors in a color photograph? If so, this book is for you. By the time you're done, you'll know how to do all of that and a lot more. And Python makes it easy and fun.
Computers are used in every part of science from ecology to particle physics. This introduction to computer science continually reinforces those ties by using real-world science problems as examples. Anyone who has taken a high school science class will be able to follow along as the book introduces the basics of programming, then goes on to show readers how to work with databases, download data from the web automatically, build graphical interfaces, and most importantly, how to think like a professional programmer.
Topics covered include:
Basic elements of programming from arithmetic to loops and if statements.
Using functions and modules to organize programs.
Using lists, sets, and dictionaries to organize data.
Designing algorithms systematically.
Debugging things when they go wrong.
Creating and querying databases.
Building graphical interfaces to make programs easier to use.
Object-oriented programming and programming patterns.
- ISBN-101934356271
- ISBN-13978-1934356272
- Edition1st
- PublisherPragmatic Bookshelf
- Publication dateJune 23, 2009
- LanguageEnglish
- Dimensions7.5 x 0.7 x 9.25 inches
- Print length350 pages
Popular titles by this author
Editorial Reviews
About the Author
Jennifer Campbell is a senior lecturer in the Department of Computer Science at the University of Toronto. Over the past 10 years, Jen's primary focus has been on teaching and curriculum design of introductory courses. Jen is involved in several projects exploring student experiences in introductory computer science courses and the factors that contribute to success, including the effectiveness of the inverted classroom.
Product details
- Publisher : Pragmatic Bookshelf; 1st edition (June 23, 2009)
- Language : English
- Paperback : 350 pages
- ISBN-10 : 1934356271
- ISBN-13 : 978-1934356272
- Item Weight : 1.25 pounds
- Dimensions : 7.5 x 0.7 x 9.25 inches
- Best Sellers Rank: #3,244,092 in Books (See Top 100 in Books)
- #768 in C# Programming (Books)
- #1,089 in Software Design & Engineering
- #3,043 in Python Programming
- Customer Reviews:
About the author

Dr. Greg Wilson is a programmer, author, and educator based in Toronto. He co-founded and and was the first Executive Director of Software Carpentry, which has taught basic software skills to tens of thousands of researchers worldwide, and has authored or edited over a dozen books, including "Beautiful Code", "The Architecture of Open Source Applications", and most recently "Software Design by Example". Greg is a member of the Python Software Foundation and a recipient of ACM SIGSOFT's Influential Educator of the Year award.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
That said, the editing isn't quite up to par. An uncomfortable number of the raw code examples look like this (p19):
def <code:bold>function_name</code:bold>(<code:bold>parameters</code:bold>):
<code:bold>block</code:bold>
The parts in <tags> are not something you'd type into Python, but just leftover markup code from the manuscript. It should read much more simply:
def function_name(parameters):
block
There's something like that every twenty pages or so. I can easily see a beginner trying to type it all in and being bombarded with errors.
My only gripe is that the authors do not use recursion which I thought was odd for an introductory CS book. Recursion is an important concept to learn and it would simplify some of the algorithms.






