The podcast about Python and the people who make it great

Allen Downey on Teaching Computer Science with Python

July 09, 2015 00:37:42 32.43 MB Downloads: 0

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