Whether readers want to become a professional software developer, create web sites, analyze scientific data, or just automate tedious business tasks, learning to program is the first step. Fortunately, learning to program doesn't have to be difficult.
Learn Programming with Python is an introduction to the core skills and uses of computer programming. This easy-to-follow tutorial is full of exercises to practice and reinforce each new concept, so readers have the confidence to move on to each new bite-sized lesson. By the end of the book, they'll have a practical grasp of how to write Python programs along with some solid programming best practices.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
I like to manage expectations first in my reviews, so let's start with what this book is definitely not: it is called "Get Programming: Learn to code with Python" for a reason, and this is not to make you the most advanced or knowledgeable Python developer of all times after reading this book. In that sense, it is a bit different than "Get Programming with Go" from the same publisher (Manning) which cover has similar looks. However, after reading the description about the author it becomes very clear why this is so; the author wanted to write this book to fill a need for a book that truly taught programming from scratch, and that presented programming as an activity that can help you with daily tasks. And I have to admit here, that the author definitely succeeded in both in this book! (Also, to be fair, the book literally says "learn to code" in the title, so that was expected)
The author was rather experienced in this, and that is very clear from the understandable and concise writing style and language in the book. Ana Bell teaches an introductory Python computer science course for undergraduates, and fills the gap present in most (online) learning resources regarding programming; they all expect prior knowledge of programming before teaching you a language (Python in this case). That is exactly why this book is literally focused on being a gentle, approachable introduction to Python programming for (pretty much) everybody.
The book is intended for anyone who is curious about programming but doesn't necessarily want to pursue a career in it. The book is organized in two different ways: units and lessons. Units are a collection of several lessons, and are focused on a specific concept. A typical Unit contains ~5 Lessons and ends with a capstone project. Lessons (chapters) usually start with a gentle introduction to a subject, and then dive deeper by presenting the more advanced possibilities of the subject. The capstone projects then test your Unit knowledge in practice.
As said before, the book is very accessible and well-written, and I have yet to find any other book with the same goal that was executed so well.
Very clear explanations and logical progression. Example programs are good but not exactly inspiring. Read only about half because I never figured out what I would use the programming for.