~/talk

Techniques for Teaching Scala

Talkat Scala Days Lausanne 2019 · 2019-06-11..06-13· [career-development, scala]
slides:none on file

Five concrete teaching moves: use notional machine substitution to reason about pure code; teach ten repeatable programming strategies and show three—algebraic data types, structural recursion, and follow the types—with the map-on-list worked example so types force the implementation; prefer live coding to expose editor use and compiler error recovery; enforce thinking time and prompts rather than rescuing students; use peer teaching (pair/mob programming, the rubber duck). ScalaBridge examples show beginners reaching conference-quality Scala after a short course.

AI-written summary · about

  1. 0:00Intro
  2. 0:22Outline
  3. 0:55Teaching is a distinct skill
  4. 1:40Seniors teach juniors
  5. 3:52Notional Machines
  6. 4:39Understanding requires a simplified machine model
  7. 5:02Substitution
  8. 6:10For methods
  9. 6:34For types
  10. 6:49For pure code
  11. 8:42Programming Strategies
  12. 8:55Systematic and repeatable programming
  13. 10:09Algebraic data types Structural recursion Following the types
  14. 14:14Pattern matching or Polymorphism
  15. 17:23What is the goal? What is available? Assemble the jigsaw
  16. 21:47Debugging and tool use are essential to programming
  17. 23:57Demonstrate error recovery
  18. 24:15Demonstrate tool use
  19. 26:17Give prompts for thinking
  20. 26:39What strategy are you using?
  21. 28:06The teachers job is to uncover and correct flaws in their mental models
  22. 28:44The best way to learn is to teach
  23. 30:34Pair Programming
  24. 36:29Your own practice
  25. 37:52Notional machine Strategies 3 More than coding Shut up
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.