Buy new:
-33% $33.42
FREE delivery Thursday, May 16 on orders shipped by Amazon over $35
Ships from: Amazon.com
Sold by: Amazon.com
$33.42 with 33 percent savings
List Price: $49.95

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
Get Fast, Free Shipping with Amazon Prime FREE Returns
FREE delivery Thursday, May 16 on orders shipped by Amazon over $35. Order within 8 hrs 43 mins
In Stock
$$33.42 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$33.42
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Sold by
Amazon.com
Returns
30-day easy returns
30-day easy returns
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Returns
30-day easy returns
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$16.40
FREE delivery May 20 - 21. Details
Only 1 left in stock - order soon.
$$33.42 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$33.42
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Ships from and sold by Orion LLC.
Loading your book clubs
There was a problem loading your book clubs. Please try again.
Not in a club? Learn more
Amazon book clubs early access

Join or create book clubs

Choose books together

Track your books
Bring your club to Amazon Book Clubs, start a new book club and invite your friends to join, or find a club that’s right for you for free.
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Something went wrong. Please try your request again later.

Practical Programming: An Introduction to Computer Science Using Python 3.6 3rd Edition

4.6 4.6 out of 5 stars 81 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$33.42","priceAmount":33.42,"currencySymbol":"$","integerValue":"33","decimalSeparator":".","fractionalValue":"42","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"MKES2FWYmoO0fcrca2JdbjkmUV5Sfo%2Fonny9fIccgYxvleTTZ1quYs9NDgJQ7RJxCCP4RI8Chl1ihLQh01GNbh9pqnXp%2F1t9GaefaOeupjxwT3oUqgQKHHMwZstyKZ0HxrfsnTYXC7KF3Q5G9GlBWQ%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$16.40","priceAmount":16.40,"currencySymbol":"$","integerValue":"16","decimalSeparator":".","fractionalValue":"40","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"MKES2FWYmoO0fcrca2JdbjkmUV5Sfo%2Focx0S5pde5xbIzDGfGSB7V5c%2FifZBkAKaCKOiMbSEe8KDi18uIf4qdHeiSv2M3a0qj6z1MzwdTZeg3IR5wlijBV%2BotXVRRWnybg4nNu%2B5FDNxt7ccYWN5qyBPowV7d%2Fxcy%2FyJCkHonJjIwyeqDTrGnje6jV3KMkcP","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

Classroom-tested by tens of thousands of students, this new edition of the bestselling intro to programming book is for anyone who wants to understand computer science. Learn about design, algorithms, testing, and debugging. Discover the fundamentals of programming with Python 3.6--a language that's used in millions of devices. Write programs to solve real-world problems, and come away with everything you need to produce quality code. This edition has been updated to use the new language features in Python 3.6.

Read more Read less

Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

$33.42
Get it as soon as Thursday, May 16
In Stock
Ships from and sold by Amazon.com.
+
$17.59
Get it as soon as Thursday, May 16
In Stock
Sold by Read All About It Books and ships from Amazon Fulfillment.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
These items are shipped from and sold by different sellers.
Choose items to buy together.

From the brand


From the Publisher

Practical Programming: An Introduction to Computer Science Using Python 3.6

From the Preface

This book uses the Python programming language to teach introductory computer science topics and a handful of useful applications. You’ll certainly learn a fair amount of Python as you work through this book, but along the way you’ll also learn about issues that every programmer needs to know: ways to approach a problem and break it down into parts, how and why to document your code, how to test your code to help ensure your program does what you want it to, and more.

We chose Python for several reasons:

  • It is free and well documented. In fact, Python is one of the largest and best-organized open source projects going.
  • It runs everywhere. The reference implementation, written in C, is used on everything from cell phones to supercomputers, and it’s supported by professional-quality installers for Windows, macOS, and Linux.
  • It has a clean syntax. Yes, every language makes this claim, but during the several years that we have been using it at the University of Toronto, we have found that students make noticeably fewer 'punctuation' mistakes with Python than with C-like languages.
  • It is relevant. Thousands of companies use it every day: it is one of the languages used at Google, Industrial Light & Magic uses it extensively, and large portions of the game EVE Online are written in Python. It is also widely used by academic research groups.
  • It is well supported by tools. Legacy editors like vi and Emacs all have Python editing modes, and several professional-quality IDEs are available.
Practical Programming: An Introduction to Computer Science Using Python 3.6
Our Approach

We have organized the book into two parts. The first covers fundamental programming ideas: how to store and manipulate information (numbers, text, lists, sets, dictionaries, and files), how to control the flow of execution (conditionals and loops), how to organize code (functions and modules), how to ensure your code works (testing and debugging), and how to plan your program (algorithms).

The second part of the book consists of more or less independent chapters on more advanced topics that assume all the basic material has been covered. The first of these chapters shows how to create and manage your own types of information. It introduces object-oriented concepts such as encapsulation, inheritance, and polymorphism. The other chapters cover testing, databases, and graphical user interface construction.

Editorial Reviews

About the Author

Paul Gries has been teaching in the Department of Computer Science at the University of Toronto for more than 15 years. During his time at UofT, Paul has won numerous teaching awards, has co-authored two textbooks, has been a leader in departmental curriculum design and renewal, and with Jennifer Campbell, got to teach Python to tens of thousands of students in a MOOC.

Jennifer Campbell is a teaching stream professor in Computer Science at the University of Toronto. In 2014, she received the Faculty of Arts and Science Outstanding Teaching Award. Jen engages in computer science education research, studying student experiences, factors for success, and the effectiveness of various course formats, including flipped and online courses.

Jason Montojo is a veteran software developer with 19 years of professional experience. He specializes in applied software archaeology and has mentored dozens of students as part of the Google Summer of Code and Software Carpentry programs.

Product details

  • Publisher ‏ : ‎ Pragmatic Bookshelf; 3rd edition (January 9, 2018)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 412 pages
  • ISBN-10 ‏ : ‎ 1680502689
  • ISBN-13 ‏ : ‎ 978-1680502688
  • Item Weight ‏ : ‎ 1.47 pounds
  • Dimensions ‏ : ‎ 7.4 x 0.9 x 9.1 inches
  • Customer Reviews:
    4.6 4.6 out of 5 stars 81 ratings

About the author

Follow authors to get new release updates, plus improved recommendations.
Jason Montojo
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Discover more of the author’s books, see similar authors, read author blogs and more

Customer reviews

4.6 out of 5 stars
4.6 out of 5
81 global ratings

Top reviews from the United States

Reviewed in the United States on November 15, 2020
I had a lot of experience with c. I learned a lot from this book. I wish it was around when I first learned to program.
3 people found this helpful
Report
Reviewed in the United States on September 19, 2023
Very comprehensive and allows you to learn a majority of python straight from the book.
Reviewed in the United States on October 19, 2018
Vine Customer Review of Free Product( What's this? )
I am one of those people who believe everyone should know how to code. If you learn how to code, you also learn some of what has become known as “computer science”.

This excellent teaching text begins with an explanation for the author’s choice of Python as their teaching language. Within a very few pages, the student is learning what programming is, what a program does and straight into the basics of programming with Python.

This is not a comprehensive soup-to-nuts treatment of programming with Python.

Rather, it is more intent on teaching the underlying concepts of computer science.

So we begin with designing and using functions, then working with text, making choices the use of Python modules and so on. In all, 17 chapters walk you through the bedrock elements of computer science and programming with Python.

The intent is not so much teaching a person how to become competent as a Python programmer, but rather instructing the student in the principles of computer science.

It succeeds, I think. The language is very clear, with subjects being introduced on a step-by-step basis.

I think this succeeds as a classroom text and also as a platform for self-study.

Jerry
11 people found this helpful
Report
Reviewed in the United States on December 12, 2019
Vine Customer Review of Free Product( What's this? )
If new to programming, or a seasoned veteran seeking to become familiar with the popular Python language, this Practical Programming book, even at its introductory level, is a fantastic resource.

Initially, I had scowled because I wanted to follow along in a widely available compiler I was wanting to concurrently learn, but it is easy enough to use a preferred environment by learning it on its own, and having this book for the Python walkthrough.

It has your typical procedural format, presenting operators, conditionals, and the various language attributes, all while assisting students in becoming familiar with Computer Science as a subject. The book is useful for beginners to programming, and those new to Python alike. One can never have too many tools at one's disposal.
3 people found this helpful
Report
Reviewed in the United States on October 24, 2018
Vine Customer Review of Free Product( What's this? )
The authors of "Practical Programming: An Introduction to Computer Science Using Python 3.6" make clear the distinction between programming and computer science. This book offers an introduction to both, but will take the novice much further down the path of computer programming. The authors do make a good practical case for learning Python (especially craeer-wise), though I would question Python as being the best choice for learning computer science.
One person found this helpful
Report
Reviewed in the United States on December 6, 2018
Vine Customer Review of Free Product( What's this? )
This delivers as promised - it provides fundamental information for those who are new to programming and computer science. My interest is as a hobby so I know next to nothing. This assumes the reader is a novice and begins with basic explanations then moves forward from there. Not the most interesting but very useful.
3 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Josué Herrera
5.0 out of 5 stars Excelente
Reviewed in Mexico on September 9, 2020
Muy bueno
J. Lepage
5.0 out of 5 stars I couldn't be happier with it
Reviewed in Canada on March 24, 2018
This book introduces you to the world of computer science by way of Python 3.6. It does exactly what the title of the book suggests. I couldn't be happier with it.

Remember, there is no singular book that will teach you everything you need to know about Computer Science or Python for that matter, but this book is an amazing stepping stone in the right direction.

As with anything you are trying to learn, practice along with the book. You will learn much better by doing, than by just reading it.
One person found this helpful
Report
SOBHIT CHATURVEDI
5.0 out of 5 stars A very good product
Reviewed in India on April 5, 2019
This book is written in a very easy to understand language. And it is very good book beginners.
JSLEE
4.0 out of 5 stars An entry-level textbook with the "memory model"
Reviewed in Singapore on April 24, 2021
I was looking for a book to self-learn both computer science and Python. I had borrowed and read the first edition of this book from my local library several years back, but gave up half-way when I ran into obstacles when getting my code to run. Nevertheless, I remembered this book to be quite user-friendly and decided to buy it anyway.

The presentation of the material in this book reminds me of the textbooks written for tertiary students. The font sizes for normal text are not too small, and that of the code examples, though smaller, are still easily readable. However, the font sizes for the normal text does vary throughout the book, which I find to be strange, but doesn't cause much of an issue for me. There is white space around the text, which allows readers to put in their own notes.

The level of this book is definitely at entry-level, and teaches the basic of computer science using Python 3. All major topics of computer science are covered, with an extensive coverage of features of Python too. I find it interesting that the topic of Functions is introduced in Chapter 3, very early on in the book, and Iteration is postponed till Chapter 9. In between, there are some difficult chapters, like Modules and Methods. The longer code examples in Chapter 10, "Reading and Writing Files", can also be challenging for some entry-level readers. I also don't find their write-up on advanced concepts, like Algorithms, Searching & Sorting and Object-Oriented Programming to be outstanding. I think Jay Wengrow did a better job in his book "A common-sense guide to data structures and algorithms".

However, I have no regrets buying this book. The coverage is wide and thorough. The authors are not afraid to tackle difficult aspects of programming and provide a lot of code examples to make their explanations clearer. You would want to be aware and alerted to the possible pitfalls, and I think the authors have done a great job in this book.

Another aspect that deserves high commendation is the inclusion of programming problems in the book. There is no lack of literature in the market on computing. However, I find that many books have code examples but no programming challenges, making the learning experience incomplete. In this book, there is an exercise section with a decent number of problems at the end of every chapter, except Chapter 1. The problems range in different levels of difficulty: you have the questions with a one-liner answer, and plenty of others that require coding, which is exactly what beginners need. The icing on the cake is that solutions in PDF's are available at the book's website for download for free, which is extremely useful for those who might be struggling with the questions. I personally benefit from comparing my own codes with theirs. A little problem though: there is no explanation to the solutions; the answers are just presented, and sometimes in a haphazard fashion. But this is better than no answers, in my view. At least some help is available if we are stuck.

Another unique feature about this book that I have to mention is their creation of the "memory model" to explain how computers stores data. This model is introduced in Chapter 2, and comes up continually throughout the book. This model allows me to have a deeper understanding of the concept of Aliasing, Mutability and how computers store data for different Python data structures. I believe this takes the level of understanding of a beginner to a deeper level.

I was lucky enough to have ordered this book from Amazon SG during the initial days of COVID, just before prices surged (I purchased it for S$46.65). This book is not all easy, but if one perseveres, I believe one will be rewarded with solid programming knowledge in Python.
Customer image
JSLEE
4.0 out of 5 stars An entry-level textbook with the "memory model"
Reviewed in Singapore on April 24, 2021
I was looking for a book to self-learn both computer science and Python. I had borrowed and read the first edition of this book from my local library several years back, but gave up half-way when I ran into obstacles when getting my code to run. Nevertheless, I remembered this book to be quite user-friendly and decided to buy it anyway.

The presentation of the material in this book reminds me of the textbooks written for tertiary students. The font sizes for normal text are not too small, and that of the code examples, though smaller, are still easily readable. However, the font sizes for the normal text does vary throughout the book, which I find to be strange, but doesn't cause much of an issue for me. There is white space around the text, which allows readers to put in their own notes.

The level of this book is definitely at entry-level, and teaches the basic of computer science using Python 3. All major topics of computer science are covered, with an extensive coverage of features of Python too. I find it interesting that the topic of Functions is introduced in Chapter 3, very early on in the book, and Iteration is postponed till Chapter 9. In between, there are some difficult chapters, like Modules and Methods. The longer code examples in Chapter 10, "Reading and Writing Files", can also be challenging for some entry-level readers. I also don't find their write-up on advanced concepts, like Algorithms, Searching & Sorting and Object-Oriented Programming to be outstanding. I think Jay Wengrow did a better job in his book "A common-sense guide to data structures and algorithms".

However, I have no regrets buying this book. The coverage is wide and thorough. The authors are not afraid to tackle difficult aspects of programming and provide a lot of code examples to make their explanations clearer. You would want to be aware and alerted to the possible pitfalls, and I think the authors have done a great job in this book.

Another aspect that deserves high commendation is the inclusion of programming problems in the book. There is no lack of literature in the market on computing. However, I find that many books have code examples but no programming challenges, making the learning experience incomplete. In this book, there is an exercise section with a decent number of problems at the end of every chapter, except Chapter 1. The problems range in different levels of difficulty: you have the questions with a one-liner answer, and plenty of others that require coding, which is exactly what beginners need. The icing on the cake is that solutions in PDF's are available at the book's website for download for free, which is extremely useful for those who might be struggling with the questions. I personally benefit from comparing my own codes with theirs. A little problem though: there is no explanation to the solutions; the answers are just presented, and sometimes in a haphazard fashion. But this is better than no answers, in my view. At least some help is available if we are stuck.

Another unique feature about this book that I have to mention is their creation of the "memory model" to explain how computers stores data. This model is introduced in Chapter 2, and comes up continually throughout the book. This model allows me to have a deeper understanding of the concept of Aliasing, Mutability and how computers store data for different Python data structures. I believe this takes the level of understanding of a beginner to a deeper level.

I was lucky enough to have ordered this book from Amazon SG during the initial days of COVID, just before prices surged (I purchased it for S$46.65). This book is not all easy, but if one perseveres, I believe one will be rewarded with solid programming knowledge in Python.
Images in this review
Customer image Customer image Customer image
Customer imageCustomer imageCustomer image
TPantazo
5.0 out of 5 stars Very Useful
Reviewed in Canada on October 10, 2019
Used by my son for a university course. Great book.
One person found this helpful
Report