wired 1.0 - how your brain learns new programming languages

Abstract

  • Use Creative Contextual Association to improve your retrieval strength: use multiple senses when learning something.
  • Actively apply what you learn.
  • Find someone that can correct you.
  • Automate your long term memory retrieval.
  • Learn together.

Memory

Question

  • How your brain saves new information?
  • How does our memory storage work and how can we retrieve it?

Our brain has multiple memory storages:

1. Sensory Memory

  • Stores everything that we sense, e.g. visual memory, read or write code.
  • A little like .folders, you don’t know it’s there until it gets to your attention.

2. Short Term Memory

  • Like RAM.
  • Limited amount of data: we can only store 2 to 6 chunks!
  • Each chunk has a time to live of 30 seconds!
  • We need to be quite efficient with that.
  • A chunk can be anything: a letter, a word or a concept.

Tips

  • Avoid abbreviations.
  • Make use of Design Patterns.

3. Working Memory

Entity that is on its own or is the same as the Short Term Memory?

  • Can process 2 to 6 chunks.
  • Once we process more than the max chunks, we get a cognitive load.
  • We need repetition to overgrow a pathway so that we can easily retrieve information, concepts, etc…
  • Automatic retrievals will save you a chunk on your working memory.

Warning

About 20% of a developer’s time is spent on interruptions!

It takes at least 15 minutes to get back in your “flow” after an interruption.

4. Long Term Memory

  • Like a hard drive.
  • Metaphor for representing this memory: a forest. We need to revisit the pathway time after time again in order to have a clear pathway. Otherwise, it will overgrow. At one point the pathway gets consolidated, and it will be easier to retrieve information.
  • We never forget things! We just failed to retrieve them.
  • Network structure
    • Our brain functions a little bit like a network structure.
    • It’s a map of words that are all hooked together.
    • The more words you have, the easier it is to retrieve that information.

Tips

Include other senses in your learning process to strenghten the retrieval of information, like smelling the tree, reading out loud, writing, etc…

  • Contextual Association:
    • Correlations that are being created between different sensory perceptions.
    • Correlations that are intentionally being created, e.g. connect a symbol to a meaning or grammatic rule.

Tips

Create a visualization:

  • per context
  • per meaning / rule

Learn from kids:

  • parroting
  • actively apply what you’ve read / learned
  • start easy

Warning

It’s hard to unlearn, as we never forget things! Find someone that can correct you. ⚠️ Be careful of bad examples!

Transactive Memory

You remember where information can be retrieved, instead of remembering it yourself, e.g. from another person, in a book, a website, keywords to use on search engine, promt for LLM, …

Learning

Question

How can we learn as effortlessly as possible?

The idea is to building a highway.

  • Think before you search / use AI.
  • Practice often rather than longer. Repetition to overgrow the pathway to consolidate it.
  • Use flashcards, e.g. Anki.
  • Dictionary + association cards:
    • Mnemonics.
    • Different scenarios.
    • Visualization.
    • Pros and cons.
    • Things to be aware of.

Weekly learning schedule suggestion:

  • Study time: take 20 minutes of learning (stop searching after the 20 minutes)
    • Write down
    • Visualize
    • Associate
  • Use them.
  • Evaluate.
  • Explain to others.
    • Great tool in order to check with yourself if you really understand the concept.

Learning together:

  • Talking about new concepts and techniques.
  • The curse of expertise: stay humble, gentle and empathetic.

AI

Question

How AI is influencing the way we are learning stuff? Is it or not beneficial?

Automatic code generation

Impact different depending on the expertise:

  • Novice
      • Variety / context
      • Less cognitive overload
      • Reduced memorization
      • Risk for wrong assumptions and suggestions
  • Expert
      • Efficiency
      • Focus on the complex and domain specific code
      • Reduced critical thinking
      • Reduced creativity

Large Language Models

  • Novice
      • Access to information
      • Reduced fear or rejection
      • Customized learning
      • Overreliance
      • Inaccuracies
  • Expert
      • Efficiency
      • Focus on the complex and domain specific code
      • Reduced critical thinking
      • Reduced creativity
      • Security risks

🔗