I am pleased to announce the availability of my third book, Classic Computer Science Problems in Python. Starting today, you can purchase early access to the book from Manning. Use promo code mlkopec2 for 50% off through August 3rd, 2018. I have completed drafts of the first four of nine chapters, three of which are available today from Manning, with the next three to follow over the summer. The final version of the book will arrive in Fall 2018. The book requires Python 3.7 and makes extensive use of type hints.
Classic Computer Science Problems in Python is a great “second book on Python.” It is aimed at those with some basic knowledge of Python’s syntax who want to delve deeper into the covered problem solving techniques, brush up on core algorithms, or learn more Python using problems familiar to them from other languages. It is suitable for professionals looking to deepen their understanding of the covered topics, students with some programming background looking to expand their computer science knowledge, and anyone preparing for coding interviews.
What is a “Classic Computer Science Problem?” It is a problem one typically finds in an undergraduate computer science curriculum. The topics covered in the book span the gamut from core computer science algorithms you would find in a data structures & algorithms class to artificial intelligence and its sub-discipline machine learning. There are both practical and whimsical problems. They include classic search problems, constraint satisfaction problems, graph algorithms, genetic algorithms, k-means clustering, simple neural networks, and more!
All of the code in the book is available on GitHub. The book takes advantage of the latest features in Python 3.7 like dataclasses and improved support for type hints. The code only uses the Python standard library throughout (with the small exception of the typing_extensions
package for improved type hints), so there’s no wrestling with third-party libraries. You will learn how to solve all of the problems in the book “from scratch” so that you gain a deeper understanding of how each problem solving technique works under-the-hood.
To learn more, checkout the Classic Computer Science Problems in Python page on Manning’s website where you will find a full table of contents and free access to the Introduction and Chapter 1 (Small Problems). If the table of contents looks appealing to you, dive in with promo code mlkopec2 which will give you 50% off through August 3rd!
This is the second book in the Classic Computer Science Problems series. If the contents of the book interests you, and you are a Swift developer, you may want to checkout the prior book, Classic Computer Science Problems in Swift. The two books have similar contents, but in the Python book we are careful to write our code in a Pythonic way, whereas in the Swift book we made every effort to solve each problem in a Swifty way… For example, whereas in the Swift book you’ll find protocol-oriented programming in the fourth chapter (Graph Problems), in the Python book you’ll find extensive use of object-oriented patterns, first-class functions, decorators, and new Python features like dataclasses.
Remember that you are purchasing a pre-release version of the book, so you will be joining me on the journey to its final release in the fall. You will be receiving rough drafts of chapters before they have been fully developed. I encourage you to send me your feedback, but keep-in mind that these are early days and everything is not yet perfect. You will receive the final version of the book upon publication.