Learn to Program by Solving Problems is a practical introduction to programming using Python, one of the world's most popular programming languages. The book emphasizes problem-solving strategies that teach readers not only the mechanics of coding, but how to think like savvy programmers.
- Teaches readers how to use Python to solve short, situational problems (for example, how to predict when a gambler will run out of money while playing slot machines; how to create a program to track cell phone data usage; how to set up a system of identifying the popularity of berths in a parking lot) - Each chapter requires the reader to learn a new feature or function of Python in order to solve a problem - Emphasizes basic programming concepts, problem-solving strategies, and critical thinking skills that lay the groundwork for readers to think like good programmers
Daniel Zingaro wrote Learn to Code By Solving Problems. The book utilizes the Python Programming Language to solve snippets of problems from coding competitions. The book is great for the beginner. It describes the logic Zingaro uses to solve the problem and covers the tool he will use during that chapter.
Along the way, Zingaro introduces lists, dictionaries, loops using for, loops using while, and more. Zingaro covers algorithmic efficiency in the final chapters of the book. The problems listed have time limits for how long they run, so you could use one method to solve it, but it would exceed the requisite time.
I enjoyed the book. Thanks for reading my review, and see you next time.
I was recently asked to review this book by the author. This book teaches you the basics of Python programming. However, it does not use the typical approach of first showing a programming concept and then applying it. Instead, each chapter introduces a problem and then demonstrates a concept that can be used to solve the problem. I found this way of teaching programming quite nice and gives the reader a good understanding of why various concepts are useful.
Programming problems can often be difficult to understand. However, I found that the book presented each problem in a way that is easy to comprehend. The solutions are described step-by-step and are easy to understand.
I found this way of teaching very nice since it also demonstrates the problem-solving skills used when programming. Additionally, it provides some nice concrete problems to solve. The chapters also list extra problems for the user to solve on their own. Overall, it is a really enjoyable book that provides a nice introduction to the basics of programming and problem-solving.
I am very impressed by NoStarch Books, in how the materials are always presented well and with pedagogy and learning in mind. Also learn a new thing in the judges thing.
The author does not just teach syntax but also algorithmic thinking and planning (liked the Big O concept at the end). The check-in questions can be tricky but they really seek to teach. This book is suitable for beginners to intermediates.
This book is too easy for a real learner to devote into using computers to solve problems or a real algorithm competitor. Although the writing of this book is very orderly and clear, it is too easy for me, as an ACM-ICPC algorithm competitor, so the score is not very high. But it can be a good introduction about solving problems by using coding.