Allen Downey on Teaching Computer Science with Python

The Python Podcast.__init__

Episode | Podcast

Date: Thu, 09 Jul 2015 05:00:00 -0400

<p>Find past episodes and more information about the show at <a href="http://pythonpodcast.com?utm_source=rss&amp;utm_medium=rss">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Stitcher</a> or <a href="http://tunein.com/radio/Podcast__init__-p726240/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">TuneIn</a></p> <p>Give us feedback! (iTunes, Twitter, email, Disqus comments)<br /> You can donate (if you want)<br /> Overview &#8211; Interview with Allen Downey, Prolific Author and Professor of Computer Science</p> <h3>Interview with Allen Downey</h3> <ul> <li>Introductions</li> <li>How did you get introduced to Python? &#8211; Chris <ul> <li>Wrote a Java book with an open license to allow anyone to make changes</li> <li>Jeff Elkner translated it to Python</li> </ul> </li> <li>What attributes of Python make it well suited for use in teaching computer science principles? <ul> <li>Syntax is simple, makes a difference for beginners</li> <li>Good error messages</li> <li>Batteries included</li> </ul> </li> <li>One of the things I found very compelling about <a href="http://interactivepython.org/courselib/static/thinkcspy/index.html?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Think Like a Computer Scientist</a> is its use of interactive turtle graphics early on. What makes the turtle continue to be a compelling educational tool and what made you choose it for this book in particular? <ul> <li>Everything you do has a visible effect, makes it easier to see what’s happening and debug</li> <li>Used to introduce functional decomposition because of no return value in turtle graphics</li> <li>Great way to explore complex geometric concepts</li> </ul> </li> <li>Did the structure of your courses change when you started using Python as the language used in the classroom? Were you able to cover more material as a result? <ul> <li>Able to make material more interesting</li> <li>Less time spent fighting with syntax</li> </ul> </li> <li>As a professor of computer science, do you attempt to incorporate the realities of software development in a business environment, such as unit testing and working with legacy code, into your lesson plans? <ul> <li>Unit tests useful as a teaching tool</li> <li>Version control getting introduced earlier</li> </ul> </li> <li>A number of your books are written around the format of ‘Think X’. Can you describe what a reader can expect from this approach and how you came up with it? <ul> <li>Learning how to program can be used as a lever to learn everything else</li> <li>You can understand what a thing is by understanding what it does</li> </ul> </li> <li>What are some of the more common stumbling blocks students and developers encounter when trying to learn about stastics and modeling, and how can they be overcome? <ul> <li>Traditional analytic methods for statistical computation &#8211; get in the way and impede understanding <ul> <li>P-values are a great example</li> <li>What test should I do? is the wrong question</li> </ul> </li> </ul> </li> <li>I’ve heard you refer to yourself as a ‘bayesian’. Can you elaborate on what that means and how bayesian statistics fits into the larger landscape of data science? <ul> <li>Frustration with frequentist approach to statistics <ul> <li>Wasted time over debate of objectivity vs subjectivity</li> </ul> </li> <li>Bayesian approach takes modeling ideas and makes them explicit <ul> <li>Can directly compare and contrast results of competing models</li> </ul> </li> <li>Classical approaches don’t answer the most interesting questions<br /> *We’re big fans of iPython notebook which you’ve used in at least one of your books already &#8211; can you describe some of the ways you have implemented it in an educational context, as well as some of the benefits and drawbacks?</li> <li>Started using about 2 years ago</li> <li>Appreciated usefulness for books and teaching because of synthesis of text, code and results</li> <li>Working on DSP really highlighted the usefulness of IPython notebooks</li> </ul> </li> </ul> <h3>Picks</h3> <ul> <li>Tobias <ul> <li><a href="https://github.com/vladimarius/imapy?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">IMAPy</a> &#8211; IMAP for humans</li> <li><a href="https://github.com/raelgc/scudcloud?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">ScudCloud</a> &#8211; Linux desktop Slack client</li> <li><a href="http://thrv.me/SCuHLd?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Thrive</a> &#8211; Online purchasing club for healthy and organic foods</li> <li><a href="https://floobits.com/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Floobits</a> &#8211; remote pair programming</li> </ul> </li> <li>Chris <ul> <li><a href="http://www.imdb.com/title/tt1441953/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Testament of Youth</a></li> <li><a href="https://www.masteringemacs.org/?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Mastering Emacs &#8211; The Website / Blog</a></li> <li><a href="https://chrome.google.com/webstore/detail/stayfocusd/laankejkbhbdhmipfmgcngdelahlfoji?hl=en&amp;utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">StayFocused</a></li> <li><a href="http://bethsoft.com/en-us/games/fallout_shelter?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Fallout Shelter</a></li> </ul> </li> </ul> <h3>Keep in Touch</h3> <ul> <li><a href="https://twitter.com/allendowney?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Twitter</a></li> <li><a href="http://allendowney.com?utm_source=rss&amp;utm_medium=rss" rel="noopener" target="_blank">Blog</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&amp;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&amp;utm_medium=rss" rel="noopener" target="_blank">CC BY-SA</a><img alt="" height="0" src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-14-allen-downey-on-teaching-computer-science-with-python%2F&amp;action_name=Allen+Downey+on+Teaching+Computer+Science+with+Python+-+Episode+14&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&amp;utm_source=rss&amp;utm_medium=rss" style="border: 0; width: 0; height: 0;" width="0" /></p>