The Python Podcast.__init__

The Python Podcast.__init__



The podcast about Python and the people who make it great


09 July 2015

Allen Downey on Teaching Computer Science with Python - E14

Rewind 10 seconds
1X
Skip 30 seconds ahead
0:00/0:00

Share on social media:


Find past episodes and more information about the show at iTunes, Stitcher or TuneIn

Give us feedback! (iTunes, Twitter, email, Disqus comments)
You can donate (if you want)
Overview – Interview with Allen Downey, Prolific Author and Professor of Computer Science

Interview with Allen Downey

  • Introductions
  • How did you get introduced to Python? – Chris
    • Wrote a Java book with an open license to allow anyone to make changes
    • Jeff Elkner translated it to Python


  • What attributes of Python make it well suited for use in teaching computer science principles?

    • Syntax is simple, makes a difference for beginners
    • Good error messages
    • Batteries included


  • One of the things I found very compelling about Think Like a Computer Scientist 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?

    • Everything you do has a visible effect, makes it easier to see what’s happening and debug
    • Used to introduce functional decomposition because of no return value in turtle graphics
    • Great way to explore complex geometric concepts


  • 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?

    • Able to make material more interesting
    • Less time spent fighting with syntax


  • 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?

    • Unit tests useful as a teaching tool
    • Version control getting introduced earlier


  • 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?

    • Learning how to program can be used as a lever to learn everything else
    • You can understand what a thing is by understanding what it does


  • 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?

    • Traditional analytic methods for statistical computation – get in the way and impede understanding
      • P-values are a great example
      • What test should I do? is the wrong question




  • 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?

    • Frustration with frequentist approach to statistics
      • Wasted time over debate of objectivity vs subjectivity


    • Bayesian approach takes modeling ideas and makes them explicit

      • Can directly compare and contrast results of competing models


    • Classical approaches don’t answer the most interesting questions

      *We’re big fans of iPython notebook which you’ve used in at least one of your books already – can you describe some of the ways you have implemented it in an educational context, as well as some of the benefits and drawbacks?

    • Started using about 2 years ago

    • Appreciated usefulness for books and teaching because of synthesis of text, code and results

    • Working on DSP really highlighted the usefulness of IPython notebooks



Picks

Keep in Touch

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA


Share on social media:


Listen in your favorite app:



More options

Here are shows you might like

See show recommendations
Data Engineering Podcast
Tobias Macey
AI Engineering Podcast
Tobias Macey