Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
-33% $33.42$33.42
Ships from: Amazon.com Sold by: Amazon.com
$16.40$16.40
FREE delivery May 20 - 21
Ships from: Orion LLC Sold by: Orion LLC
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.
OK
Practical Programming: An Introduction to Computer Science Using Python 3.6 3rd Edition
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.
- ISBN-101680502689
- ISBN-13978-1680502688
- Edition3rd
- PublisherPragmatic Bookshelf
- Publication dateJanuary 9, 2018
- LanguageEnglish
- Dimensions7.4 x 0.9 x 9.1 inches
- Print length412 pages
Frequently bought together
Similar items that may deliver to you quickly
From the brand
-
The Pragmatic Programmers publishes hands-on, practical books on classic and cutting-edge software development and engineering management topics. We help professionals solve real-world problems, hone their skills, and advance their careers.
-
From the Publisher
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.
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
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
- Best Sellers Rank: #159,743 in Books (See Top 100 in Books)
- #162 in Python Programming
- #210 in Introductory & Beginning Programming
- #3,595 in Unknown
- Customer Reviews:
About the author
Discover more of the author’s books, see similar authors, read author blogs and more
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.
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
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.
Top reviews from other countries
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.
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.
Reviewed in Singapore on April 24, 2021
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.