Reading List

  • Mindstorms
  • Deschooling Society


FOSS Developement

The structure of development shouldn't be on individual projects but on collaborative ones following the FOSS software development methodology.

Code review, working with issues, writing readmes and docs, all allow for deeper thinking about programming and allow for more responsibility for the learners.

Pair programming

Definitely trendy at the moment in the professional field, pair programming is where two people code together, one person "driving", typing and interacting with the code, and the other "navigating", thinking about what comes next, keeping an eye out for bugs.


  • interacting with other people's code is fundamental to programming it's good to learn to do that live and early
  • you have to explain what you're doing so it deepens understanding
  • keeps focus and support during problem solving


The biggest difficulty is that it requires coincidence of projects and skill levels. It also requires a certain baseline of interpersonal skills.


The Recurse Center

A self directed programming retreat. There's lots to learn from them in facilitating a productive and healthy space for learning programming. In particular their social rules are very worthwhile.

Code day

A day long event/hackathon to get students (mainly high schoolers) to code. There's a tutorial + time to hack.


built with nextjs, mdx, and typescript view source