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
- Traditional analytic methods for statistical computation – get in the way and impede understanding
- 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
- Frustration with frequentist approach to statistics
Picks
- Tobias
- Chris
Keep in Touch
The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA