Declarative Programming and Education
summary
Education faces threats from Python dominance, huge legacy code, and code synthesis, yet declarative ideas already appear inside modern frameworks. Concrete outcomes: an exemplar on pirate IDE that checks student-written input/output examples against correct and buggy implementations to catch misconceptions like the median vs average misconception; using property-based testing (Hypothesis) and Alloy to teach specs; a data-centric introduction that makes tables first-class, immutable by default, and supplies a B2T2 benchmark for tabular typing. These are implemented and studied with student data.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 2:30Pressure from Above
- 7:10Blank Page Syndrome
- 18:13Exampler
- 21:12Verification Tools
- 21:40Ease and Power
- 22:23PropertyBased Testing
- 23:18Exercise
- 24:38Discussion
- 37:51Conclusion
- 40:36Whats missing
- 43:34Immutability
- 45:00Mechanics
- 46:50Excel
- 53:11ide support
- 55:11Questions
related talks
43mStop Writing Dead Programs
51mProgramming is Debugging
34mHow do our ideas about coding affect the software we create?
56mProgramming is writing is programming
40mProperty-based Thinking
32mTeaching Programming with Graphics: Pitfalls and a Solution
45mMoldable Development: Programming Through Custom Tools
25mCode is a User Interface
