Day 5. From Learning to Choosing to Coding - How Our Memory Plays a Central Role

By Yanina Bellini Saibene in Education Community 100DaysToOffload 30Ship30

May 10, 2024

Store disk red and white with withe background

Foto de Fredy Jacob en Unsplash

Miller’s Law suggests that our working memory can hold around seven items simultaneously.

In The Art of Choosing, author Sheena Iyengar explains how this capacity restriction influences our decision-making process and preference for manageable choices within this cognitive limit, for example, by limiting the number of options we consider when making choices.

In The Programmer’s Brain, Felienne Hermans shows how our memory characteristics influence how we understand and write code.

Today, I will explain a few simple facts about memory and share how to avoid overloading the learner by managing their cognitive load when teaching to code.

##The magic number 7+-2

In a very simple form, we have two types of memory: long-term and short-term. When you need something, your brain retrieves it from long-term memory and stores it in short-term memory.

When a teacher presents information, it is first stored in the learner’s short-term memory and is only transferred to long-term memory after it has been held there and rehearsed (encoded).

If the teacher presents too much information too quickly, the new information displaces the old before the latter is transferred and learned.

But I know things that are bigger than 7

Yes, because we have the ability to chunk information, organizing it into meaningful groups that are easier to retain and recall. That is why we see words as units, no matter how many letters it has.

Cognitive Load

Cognitive load theory proposes that people have to deal with three things when they’re learning:

  • Intrinsic load is what the learning task is supposed to be about.

  • Germane load is extra relevant work, such as remembering the programming language syntax or picking a proof strategy.

  • Extrinsic load is irrelevancies; it draws your attention but doesn’t add anything to the lesson.

People have to divide a fixed amount of memory between these three things. As teachers, we aim to maximize the memory available to handle the intrinsic load, reducing the germane load at each step and eliminating the extraneous load.

Lesson Design

Limits to short-term memory can tell us when we’re trying to teach too much too quickly:

  • Organize content into smaller chunks to help students process, understand, and memorize easily.

  • The breaking of the lesson can be guided by the formative assessments we can do.

  • Using the concept maps of what we want to teach is another way to split our content into digestible pieces.

  • Present and ask students to do one thing at a time.

Teaching to code

When teaching to code, we can reduce extrinsic and german load by:

  • providing a cloud solution with everything installed and functioning or

  • a template with all the code to load the libraries our students need.

  • We can also use different exercises like fill-in-the-blanks to complete code or Parson Problems to order code.

Taking these steps will also help with short-term memory limitations. For example, short-term memory stores keywords, variable names, and data structures. The information your students need to do their jobs has to be temporarily stored in short-term memory, but if they have to search a lot in different places or still don’t know a more complex chunk of knowledge, then they can forget things they read or need.

By understanding how our brain works and following these tips, you will be closer to our goal of helping our students have enough relevant facts present in their long-term memory to solve the coding problem we present to them.

Posted on:
May 10, 2024
Length:
3 minute read, 575 words
Categories:
Education Community 100DaysToOffload 30Ship30
Tags:
Education Community 100DaysToOffload 30Ship30
See Also:
Project 1 - rOpenSci's Code of Conduct and Code of Conduct Committee
El Codigo de Conducta en rOpenSci
Two years and twelve projects as Community Manager at rOpenSci