# Classic Computer Science Problems in Python This repository contains source code to accompany the forthcoming book *Classic Computer Science Problems in Python* by David Kopec. You will find the source organized by chapter. As you read the book, each code listing contains a file name that corresponds to a file in this repository. ## Get the Book The book is now available in early access form [through Manning's MEAP program](https://www.manning.com/books/classic-computer-science-problems-in-python). By purchasing the MEAP you will get access to each chapter's draft and join me on the manuscript's development journey. You will also receive the final version of the book upon publication in late 2018/early 2019. ## Versioning and Packages The source code in this repository requires Python 3.7 and installation of the [typing_extensions](https://github.com/python/typing/tree/master/typing_extensions) package. Due to its extensive use of Python 3.7 features (data classes, advanced type hints, etc.), most of the source code will not work with earlier versions of Python. You can install the `typing_extensions` package with `pip3 install typing_extensions` or `pip install typing_extensions` depending on your Python/pip setup. ## License All of the source code in this repository is released under the Apache License version 2.0. See `LICENSE`. ## Other Books in the Series This is the second book in the Classic Computer Science Problems series by David Kopec and published by Manning. It aims to teach classic computer science problems in a Pythonic way. You may also want to checkout the first book in the series, *Classic Computer Science Problems in Swift*, which covers most of the same problems in a more Swifty way. You can check out the repository for that book on [GitHub as well](https://github.com/davecom/ClassicComputerScienceProblemsInSwift). A reader has also reimplemented the first five chapters of the book [in C++](https://github.com/araya-andres/classic_computer_sci).