Why We’re Teaching Programming Wrong: A Haskell Perspective
summary
Argues that discovery learning fails for most beginners and that a structured, data-first method produces reliable results: uses design recipes, teaching languages and a stripped-down IDE (DrRacket) to turn problem descriptions into templates, then abstracts to folds and combinators. Reports iterative evidence (dozens of course iterations, a compressed four-day pro course) showing beginners and professional devs become productive, error messages and whining drop, and long-term maintainability improves via algebraic data modelling and lower coupling. Mentions Helium and Bootstrap as successful implementations.
AI-written summary · about
chapters (15)
- 0:00Introduction And Teaching Background
- 3:02Why SICP Often Fails Beginners
- 8:23Common Teaching Fallacies
- 17:04Constructionism And One Laptop Per Child
- 29:34Motivation, Memory, And Learning
- 31:10The Limits Of Learning By Example
- 34:08Deliberate Practice And Structured Learning
- 50:10Program By Design And DrRacket
- 56:42Design Recipes And Data-Driven Programming
- 1:08:14Confidence Through Systematic Program Construction
- 1:20:08Functional Software Architecture
- 1:31:32Teaching Haskell To Professional Developers
- 1:41:11Data Modelling, Monads, And Domain Design
- 1:48:10Coupling, Maintainability, And Functional Architecture
- 1:55:22Questions And Discussion
related talks
08mThe Noobs and the Programmers: On Teaching Programming
41mThe way we teach tech
42mHow to Learn Haskell in Less Than 5 Years
49mLearning from Haskell - An experience report
30mLessons Learned: A Developer's Perspective on Teaching & Learning
50mWhy Is Haskell So Hard To Learn? (And How To Deal With It)
01h 22mHaskell for Everyday Programmers
04h 08mHaskell Beginners' Track
