Video description
"Whether you're a novice or a seasoned professional, there's an Aha! moment in this book for everyone."
James Watson, Adaptive
Classic Computer Science Problems in Python deepens your knowledge of problem solving techniques from the realm of computer science by challenging you with time-tested scenarios and algorithms. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and discover classic solutions to your "new" problems!
Computer science problems that seem new or unique are often rooted in classic algorithms, coding techniques, and engineering principles. And classic approaches are still the best way to solve them! Understanding these techniques in Python expands your potential for success in web development, data munging, machine learning, and more.
Classic Computer Science Problems in Python sharpens your CS problem-solving skills with time-tested scenarios, exercises, and algorithms, using Python. You'll tackle dozens of coding challenges, ranging from simple tasks like binary search algorithms to clustering data using k-means. You'll especially enjoy the feeling of satisfaction as you crack problems that connect computer science to the real-world concerns of apps, data, performance, and even nailing your next job interview!
Inside:- Search algorithms
- Common techniques for graphs
- Neural networks
- Genetic algorithms
- Adversarial search
- Uses type hints throughout
- Covers Python 3.7
This book/course is made for For intermediate Python programmers.
David Kopec is an assistant professor of Computer Science and Innovation at Champlain College in Burlington, Vermont. He is the author of Dart for Absolute Beginners (Apress, 2014) and Classic Computer Science Problems in Swift (Manning, 2018).
A fun way to get hands-on experience with classical computer science problems in modern Python.
Jens Christian Bredahl Madsen, IT Relation
Highly recommended to everyone who is interested in deepening their understanding, not only of the Python language, but also of practical computer science.
Daniel Kenney-Jung, MD, University of Minnesota
Classic problems presented in a wonderfully entertaining way with a language that always seems to have something new to offer.
Sam Zaydel, RackTop Systems
NARRATED BY LISA FARINA
Table of Contents
Chapter 1. Small problems
Small problems
Trivial compression
Unbreakable encryption
The Towers of Hanoi
Chapter 2. Search problems
Search problems
Binary search
Maze solving
Breadth-first search
A* search
Missionaries and cannibals
Chapter 3. Constraint-satisfaction problems
Constraint-satisfaction problems
The Australian map-coloring problem
SEND+MORE=MONEY
Chapter 4. Graph problems
Graph problems
Building a graph framework
Finding the shortest path
Minimizing the cost of building the network
Finding shortest paths in a weighted graph
Chapter 5. Genetic algorithms
Genetic algorithms
A generic genetic algorithm
A naive test
Optimizing list compression
Chapter 6. K-means clustering
K-means clustering
The k-means clustering algorithm
Clustering Michael Jackson albums by length
Chapter 7. Fairly simple neural networks
Fairly simple neural networks
Artificial neural networks
Preliminaries
Classification problems
The classic iris data set
Speeding up neural networks
Chapter 8. Adversarial search
Adversarial search
Tic-tac-toe
Connect Four
Minimax improvements beyond alpha-beta pruning
Chapter 9. Miscellaneous problems
Miscellaneous problems
The Traveling Salesman Problem
Phone number mnemonics