Just got the new book “What can be computed” by John MacCormick, famous for his epic book “9 algorithms that changed the future”. When I was an undergrad I found it hard to understand theoretical computer science. In the last 25 years after torturing several generations of undergrads, professors figured out how to teach it properly. See in this book how you can actually use computational theory in your every day python life. The book is full of python examples, (see below some python “impossible programs”) which makes it easy for the practitioners to follow. Besides, I have to say that we get used to reading popular science books and avoid getting deeper and scratch only the surface. Sometimes it is worth diving deeper.