This easy-to-follow and classroom-tested textbook guides the reader through the fundamentals of programming with Python, an accessible language which can be learned incrementally. This revised and updated new edition will teach students how to recognize and apply abstract patterns in programming through the extensive use of illustrative examples and practical exercises. The book also demonstrates the benefit of using a debugger to inspect the state of a program while it is executing.
Topics and features: incudes numerous examples and practice exercises throughout the text, with additional exercises, solutions and review questions at the end of each chapter; highlights the patterns which frequently appear when writing programs, reinforcing the application of these patterns for problem-solving through practice exercises; introduces the use of a debugger tool to inspect a program, enabling students to discover for themselves how programs work and enhance their understanding; presents the Tkinter framework for building graphical user interface applications and event-driven programs; provides instructional videos and additional information for students, as well as support materials for instructors, at an associated website.
Ideal for introductory programming courses for undergraduates in computer science, this hands-on textbook for interactive classroom learning will help students to develop the necessary skills to begin writing their own programs. Due to the wealth of support material available, Python is selected as a good first language with little overhead in learning to write simple programs."
The problem in selecting a programming language book is finding one that meets your specific needs. For example, I have certain family members that are convinced they can learn software development, but gravitate to books that are over their heads and ignore the prerequisites for those books. Then they get frustrated, quit, and give the book a bad rating. I also have friends who are brilliant, need something on a graduate level, but make the mistake of grabbing a book that is below their level. Rating it from their point of view, they call it stupid and uninformed. So this is my review:
This book is excellent.
I have a decent math background, grew up in a family of engineers, my mother is an electrical engineer, my cousins and siblings are engineers, programmers, and mathematicians, and my husband works in technology with data storage systems. I am not any of these things, but being surrounded by them enabled me to pick up and recall basic terminology. The most important thing I brought to this book, though, was my math background. Because, let's face it, you can only go so far in programming without math.
Pros: 1. Size. It is thin and doesn't weigh 10 lbs. 2. Concise. Lee doesn't waste words trying to come up with cute analogies for remembering concepts. He states the concept, defines terms, and avoids extraneous explanations. 3. Indexes. It is well-organized and has indexes. 4. Pre-requisite knowledge of programming. I knew pretty much nothing when I picked up the book and followed it just fine. 5. Thoroughness/Scope. It is called a "Fundamentals" book and that is exactly what you get. It is intended to give a student the basic preparation for doing something more in-depth with the language. 6. Review questions and exercises. Yes. And there is a suitable amount, unlike other books which really don't have enough problems to test your comprehension.
Cons: 1. Math. Certain family members are unable to progress very far in this book because they struggle with the math. Let's face it: programming is easier all the way around if you remember everything from geometry and Algebra 2. It also helps that I have had experience with other base numbering systems before. If math is not your strong suit, go review it or get another book. 2. Pace. because it is concise, there is a LOT packed into each little section. I'm not a brilliant person, so I sometimes did only a paragraph in a day instead of a full section. Of course, you brilliant people won't have any problems here. 3. Solutions to review questions and problems. The book includes solutions to the practice problems scattered throughout the chapter, but not the problems at the end of the chapter. And that is just frustrating.
Conclusion: it was great for me; it might not be for you. Consider your needs before purchasing and using this book.
Basic intro to both Python and general computer programming at the same time. This helped me review the Python language after I had tried to learn the basics from Göktürk Üçoluk's inferior book, Introduction to Programming Concepts with Case Studies in Python.
Seems like a fine place for someone to start. The exercises included in the book have the answers included if you get stuck.
A good introduction to Python. If you're thinking of learning and aren't sure where to start python might not be a bad choice. It's simple and elegant and not quite as bogged down in detail as other high-level languages, yet it still manages to be quite powerful. Once you've learned the basic concepts of programming other languages come easily, so the language you start out with isn't that important anyway.
A superb resource I've found is the online textbook "How to Think Like a Computer Scientist". Nothing compare with actually writing code when you're learning to program, but this is definitely a good supplement: http://interactivepython.org/runeston...