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
IntroductionsHow did you get introduced to Python? – ChrisWrote a Java book with an open license to allow anyone to make changesJeff Elkner translated it to PythonWhat attributes of Python make it well suited for use in teaching computer science principles? Syntax is simple, makes a difference for beginnersGood error messagesBatteries includedOne 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 debugUsed to introduce functional decomposition because of no return value in turtle graphicsGreat way to explore complex geometric conceptsDid 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 interestingLess time spent fighting with syntaxAs 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 toolVersion control getting introduced earlierA 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 elseYou can understand what a thing is by understanding what it doesWhat 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 understandingP-values are a great exampleWhat 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 statisticsWasted time over debate of objectivity vs subjectivityBayesian approach takes modeling ideas and makes them explicit Can directly compare and contrast results of competing modelsClassical 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
TobiasIMAPy – IMAP for humansScudCloud – Linux desktop Slack clientThrive – Online purchasing club for healthy and organic foodsFloobits – remote pair programmingTestament of YouthMastering Emacs – The Website / BlogStayFocusedFallout ShelterKeep in Touch
TwitterBlogThe intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA