This book is for anyone who wants to understand computer programming. You'll learn to program in a language that' s used in millions of smartphones, tablets, and PCs. You'll code along with the book, writing programs to solve real-world problems as you learn the fundamentals of programming using Python 3. You'll learn about design, algorithms, testing, and debugging, and come away with all the tools you need to produce quality code. In this second edition, we've updated almost all the material, incorporating the lessons we've learned over the past five years of teaching Python to people new to programming. You don't need any programming experience to get started. First, you'll get a detailed introduction to Python and to programming. You'll find out exactly what happens when your programs are executed. Through real-world examples, you'll learn how to work with numbers, text, big data sets, and files. Then you'll see how to create and use your own data types. The incremental examples show you the steps and missteps that happen while developing programs, so you know what to expect when you tackle a problem on your own. Inspired by "How to Design Programs" (HtDP), you'll learn a six-step recipe for designing functions, which helps you as you start to learn the concepts--and becomes an integral part of writing programs by the end. As you learn to use the fundamental programming tools in the first half of the book, you'll see how to document and organize your code so that you and other programmers can more easily read and understand it. Beyond the basics, you'll learn how to ensure that your programs are reliable, and how to work with databases, download data from the web automatically, and build user interfaces. Most importantly, you'll learn how to think like a professional programmer. You'll need to download Python 3, available from "python.org". With that download comes IDLE, the editor we use for writing and running Python programs. (If you use Linux, you may need to installPython 3 and IDLE separately.)
This is about what you'd expect from a beginners textbook.
The topics are covered well, and I appreciate their early explanations of memory in particular. I also think that they did well on topic selection and pacing throughout the book. I found the text easy to follow and well written.
They introduce iteration later than I'd prefer, after functions and objects. I also would have preferred some more depth on the topics of numbers and their underlying representation in memory but I suppose that could be hard in Python.
I also think the book could have been enhanced by additional graphics. The copy of the book I had was also in black and white and this, like all programming texts, would have benefited significantly from a color printing. Your milage may vary depending on where you get the book from.
I see this as something for a programmer familiar with another language who wants to learn basic Python. For a true novice, it is not straightforward without an instructor's guidance. Also, the programming examples do not pop out of the text in a way that makes it easy to identify.
Used with a Coursea MOOC, fundaments of programming, great book for beginners. Covers a good amount of information at a good pace without getting overwhelming.
The title should be Foundations of Practical Programming. Tends to be very basic, but very well written. The memory model used in Python is explained very well. The book picks up toward the end with discussions about timing measurements and efficiency. Some mildly thought provoking exercises. Also very comprehensive - talks about algorithm design, sorting, searching, OO, GUI development, testing, as well as databases toward the end, with concrete examples using basic libraries. Very lucidly written and easy to follow. 4 stars because well, it's still very basic. Would heartily recommend to any beginner. Not too heavy on Python 3.
The title is a bit misleading - it's more appropriate to call it Foundations of Python Programming or Intro to Python Programming.
The book is the recommended read for the Coursera course by University of Torronto - Learn to Program: The Fundamentals.
However you can also solo read it and solve the exercises. It's nothing too troublesome and beginners will be able to understand the material well enough to jump into more serious books to enhance their knowledge.
As a novice to the world of programming, I found the book interesting and relatively easy-to-follow, although I did have to get clarification on a couple of things from a programmer.
The book introduces basic concepts and building blocks in coding, so while it is Python-specific ostensibly, the same principles can be applied across programming languages for the most part.
They give you a few snippets of the book as you follow the course. But I bought the book too, great reference material. It can be used stand-alone, but I recommend to take the course because of the assignments.
I like this book. It introduce me about python and make me fall in love with python. I think this is the great starter for you who wants to learn python for the first time. The authors explain so easy to understanding. I really recommend it.
5 stars no doubt for helping me through this awful class (the teacher was horrible). The book was well written and informative, easy to understand and very useful. Yet, I still despise computer programming so I can only award 3 stars at most!