I've been learning [x] on and off since [date] and I still don't feel like I can make anything on my own. I've been following tutorials for years but I never feel like I can make anything on my own.

Source code for this slide deck

Tutorial Hell

"Tutorial hell" is the cycle of following tutorials but not actually building anything with it leading you to forget what you learned! YT/bigboxSWE/How to get out of tutorial hell

Introduction

  • I'm Ryan
  • I grew up in a tiny town
  • informal computer science education since 2021
    • hackathons, workshops, classes
  • M.S. in Curriculum and Instruction at UW-Madison
  • I used to competitively eat lettuce

About this workshop

  • No need to take notes
  • All resources available on the github
  • Theoretical grounding in lesson-plan.md

Motivation

  • Learning in real life, you'll often be starting with someone else's [x]
    • ex: llm, tutorials, follow-mes, starter-code, books
    • sense making
    • make it our own

Remixing

That aesthetic of the Star Wars universe: the do-it-yourself, hotrod ethic that George Lucas exported from his childhood, is exactly the same kind of soul behind what we do and build for the show. It may not look pretty, but it gets the job done.

Adam Savage

Code remixing

code remixing graphic Github/processing/p5

Memes

snake eating elephant meme
Memetic approach to cultural evolution

Music


  1. "Original music video"
  2. Remix of the music video

Remixing for learning

Absorb what is useful, discard what is useless and add what is specifically your own.

Bruce Lee

Use-Modify-Create Framework

use-modify-create graphic
KSU/use-modify-create

Mastery and expertise

skills can be grown at different rates graphic

Skills can grow at different rates even if they're part of the same domain.

Situated Creativity

Creativity is not a trait that some people have and some people don't, but rather a situated process that emerges from the interaction of individuals with their social and material environment.

Glăveanu, Vlad Petre

Methods for Modding

  • methods of coming up with mod ideas
    • aesthetics -> inspiration
    • bugged by -> improvements
    • confused by -> build an example
  • methods of implementing and troubleshooting mod ideas
    • whiteboard: frame by frame and relative positioning
    • debugging: print statements, frame by frame

Practice

Appendices

These are material that isn't necessarily explicitly mentioned in but here's some resources and citations if you want to learn more or dig into the theoretical grounding of this workshop.

Useful vocabulary

  • Tutorial hell [sic]: cycle of following tutorials but not actually building anything with it leading you to forget what you learned!
  • Cognitive load: the amount of things that your brain can handle at a time.

Good programming habits

  1. avoiding deeply nested code with inversion^1
  2. extracting logic into functions or variables
  3. have good naming conventions
  4. avoiding magic numbers^2
  5. self-documenting code
  6. avoiding too many function parameters

Learning Theories at play

  • creativity scaffolding matrix^3
  • aesthetics and ownership^4
  • PBL ^5
    • bare bones framework: define problem, brainstorm, solve, evaluate
  • Productive Failure ^5
    • even if you don't fully succeed, there is still value in trying!
    • close the feedback loop
    • treat it as exploration

More learning theories at play

  • Tenets of Maker Movement ^6
    • Designing as learning
    • Creating and sharing artifacts
    • Attending to process and product as outcomes (iterations)
  • Cognitive load theory ^8
    • 4-7 items
    • searching and processing are hard work
  • Expertise ^9
    • experts encode and organize "schemas" more efficiently
    • experts have strong mental models

    Footnotes

    1. YT/Kantan Coding/3 laws of writing readable code
    2. YT/Kantan Coding/3 more laws of writing readable code
    3. Scaffolding Creative Programming Projects
    4. Electronic Textiles as Disruptive Designs: Supporting and Challenging Maker Activities in Schools
    5. Learning through problem solving
    6. The Maker Movement and Learning
    7. YT/bigboxSWE/How to get out of tutorial hell
    8. Cognitive Load During Problem Solving: Effects on Learning
    9. How People Learn and YT/Veritasium/The Expert Myth