Date: Sun, 03 Feb 2019 21:00:00 -0500
<div class="wp-block-jetpack-markdown"><h3>Summary</h3> <p>Software development is a career that attracts people from all backgrounds, and Python in particular helps to make it an approachable occupation. Because of the variety of paths that can be taken it is becoming increasingly common for practitioners to bypass the traditional computer science education. In this episode David Kopec discusses some of the classic problems that he has found most useful to understand in his work as a professor and practitioner of software engineering. He shares his motivation for writing the book "Classic Computer Science Problems In Python", the practical approach that he took, and an overview of how the contents can be used in your day-to-day work.</p> <h3>Announcements</h3> <ul> <li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li> <li>When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don’t forget to thank them for their continued support of this show!</li> <li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li> <li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li> <li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&uo=6&at=&ct=&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li> <li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li> <li>Your host as usual is Tobias Macey and today I’m interviewing David Kopec about his recent book "Classic Computer Science Problems In Python"</li> </ul> <h3>Interview</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python?</li> <li>Can you start by discussing your motivation for creating this book and the subject matter that it covers? <ul> <li>How do you define a "classic" computer science problem and what was your criteria for selecting the specific cases that you included in the book?</li> </ul> </li> <li>What are your favorite features of the Python language, and which of them did you learn as part of the process of writing the examples for this book?</li> <li>Which classes of problems have you found to be most difficult for your readers and students to master? <ul> <li>Which do you consider to be most relevant/useful to professional software engineers?</li> </ul> </li> <li>I was pleasantly surprised to see introductory aspects of artificial intelligence included in the subject matter that you covered. How did you approach the challenge of making the underlying principles accessible to readers who don’t necessarily have a background in the related fields of mathematics?</li> <li>What are some of the most interesting or unexpected changes that you had to make in the process of adapting your examples from Swift to Python in order to make them appropriately idiomatic?</li> <li>By aiming for an intermediate audience you free yourself of the need to incorporate fundamental aspects of programming, but there can be a wide variety of experiences at that level of experience. How did you approach the challenge of making the text accessible while still being accurate and engaging?</li> <li>What are some of the resources that you would recommend to readers who would like to continue learning about computer science after completing your book?</li> </ul> <h3>Keep In Touch</h3> <ul> <li><a href="https://twitter.com/davekopec?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">@davekopec</a> on Twitter</li> <li><a href="http://oaksnow.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Website</a></li> </ul> <h3>Book Discount And Giveaway</h3> <ul> <li>Use code <em>podinit19</em> to get 40% off all <a href="https://www.manning.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Manning</a> products</li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://elementor.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Elementor</a></li> </ul> </li> <li>David <ul> <li><a href="http://nesdev.com?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">nesdev</a></li> <li><a href="https://www.history.com/shows/the-curse-of-oak-island?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Curse of Oak Island</a></li> </ul> </li> </ul> <h3>Links</h3> <ul> <li><a href="https://www.manning.com/books/classic-computer-science-problems-in-python?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Classic Computer Science Problems in Python</a></li> <li><a href="https://www.manning.com/books/classic-computer-science-problems-in-swift?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Classic Computer Science Problems in Swift</a></li> <li><a href="https://www.apress.com/us/book/9781430264811?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Dart For Absolute Beginners</a></li> <li><a href="https://www.dartlang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Dart</a></li> <li><a href="https://swift.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Swift</a></li> <li><a href="https://www.manning.com/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Manning Publications</a></li> <li><a href="https://www.apress.com/us?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Apress</a></li> <li><a href="https://docs.python.org/3/library/dataclasses.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Python Data Classes</a></li> <li><a href="https://docs.python.org/3/library/typing.html?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Python Type Hints</a></li> <li><a href="https://en.wikipedia.org/wiki/Recursion_(computer_science)?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Recursion</a></li> <li><a href="https://en.wikipedia.org/wiki/A*_search_algorithm?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">A* Search Algorithm</a></li> <li><a href="https://en.wikipedia.org/wiki/Artificial_neural_network?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Neural Network</a></li> <li><a href="https://www.champlain.edu/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Champlain College</a></li> <li><a href="https://en.wikipedia.org/wiki/Burlington,_Vermont?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Burlington, VT, USA</a></li> <li><a href="https://en.wikipedia.org/wiki/Hyperloop?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">HyperLoop</a></li> <li><a href="https://amzn.to/2Gl48Y5?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Data Structures And Algorithms In Python</a> by Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser</li> <li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">MyPy</a> <ul> <li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li> </ul> </li> <li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">PyTorch</a></li> <li><a href="https://en.wikipedia.org/wiki/Minimax?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Minimax</a></li> <li><a href="https://home.dartmouth.edu/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Dartmouth College</a></li> <li><a href="https://en.wikipedia.org/wiki/Big_O_notation?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">Big O Notation</a></li> </ul> <p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a></p> </div> <img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&rec=1&url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcomputer-science-in-python-episode-197%2F&action_name=Classic+Computer+Science+For+Pythonistas+-+Episode+197&urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" />