In this episode I talk with Matthias Felleisen. We talk his history with Schemes from The Little Lisper, How to Design Programs, to Typed Racket. We also cover teaching math to middle schoolers with Bootstrap, and using programming to teach problem solving and more.
Our Guest, Matthias Felleisen
Matthias Felleisen’s home page
Announcements
On May 2nd and 3rd flatMap(Oslo) is taking place in Oslo, Norway. flatMap(Oslo) is a conference about functional programming, mainly on the JVM. The call for speakers is now open. To find out more visit http://2016.flatmap.no for more information, and make sure to use code GEEKERY when registering to find out more.
PolyConf 2016 will be taking place on June 30th – July 2nd. The Call For Proposals is now open, and will be taking submissions through the 13th of March. Visit http://polyconf.com/ to keep updated with news as more details become available, and http://eventil.com/events/polyconf-16 to submit your talk proposal.
If you have a conference related to functional programming, contact me, and I will be happy to announce it.
Topics
About Matthias
Realm of Racket
Racket
William Byrd episode of Functional Geekery
Matthew Flatt episode of Functional Geekery
How Matthias fell in love with parenthesis
How a Ph.D. works and how Dan Friedman led him through his Ph.D.
Essentials of Programming Languages
Research into continuations
The Little Schemer
How to improve teaching The Little Lisper
Structure and Interpretation of Computer Programs
The Seasoned Schemer
The approach of the Socratic manner in The Little Lisper
The Reasoned Schemer
How to Design Programs
“Students didn’t actually get how to write programs well”
Tinkering vs repeatable design process
Teaching programming to teach mathematics
Using programming to teach problem solving
Bootstrap to teach programming
Learning path from middle school through graduating college
“How ‘Hello, World!’ allows them to view problem solving as a very systematic process”
Relationship of How to Design Programs and PLT Scheme/Racket
“Aiming for a programming language in which it was easy to make little languages”
DrRacket
“Domain Specific Languages […] is the ultimate abstraction”
Types as a tool to express what was in one’s mind when designing software
Typed Racket
How Typed Racket came into being in Racket
Interaction between typed and untyped modules
Importance of new, fresh eyes to explore, stretch, and break Typed Racket
RacketCon
StrangeLoop
As always, a giant Thank You goes to David Belcher for the logo design.