Here’s a thought for the week: If I tell you a fact, and it has nothing to do with anything you’ve ever learned, you’ll forget. Conversely, if I tell you a fact, and it connects to other things in your life, you’ll remember.
Imagine being at a party, and someone introduces another guest to you. “This is Fred. He works at Microsoft and rides mountain bikes.” See what happened? You have two connections to Fred: You have heard of Microsoft and mountain bikes. If you ever forget Fred’s name, you might find yourself asking, “Who was that guy who works at Microsoft? The mount bike guy?” When you try to recall something, you’re following connections from things you can remember towards things you can’t remember.
But we’re on a new adventure! Programming! How are we going to remember all of these new things? We can’t say, “Here’s Fred. He does over X at Y corp.”
In other words, we don’t want to have islands in our learning. If we have islands, we won’t be able to get back to them. In other words, if we make a graph of our learning, so that things we know are nodes, and things they relate to are edges, we really want the graph to be dense. If the graph of our learning is dense, new things are likely to have many edges to old things, so we’re likely to remember new things.
In order to ensure that new things are connected to old things, we want to expand from knowledge we already have. For example, when I was first messing with building websites and running them on my local machine, I noticed that the URL in my browser what “localhost:1234”. But when I visit sites on the public Internet, there’s no colon after the host name. What’s going on? Turns out that’s a port number.
Just last night, I was messing with Rust, and I got a compiler warning I didn’t understand. This warning has a strong connection to the rest of my learning graph. I’ve seen compiler warnings before. I’m learning Rust. The warning is generated compiling a program that I wrote. There are half a dozen ways that compiler warning connects back to what I’ve learned, so I’ll remember the answer to that StackOverflow question.
So here’s my thought for the week: You’ll learn faster if you follow up on little questions that occur to you when you’re working and studying, and learning that comes from that direction is particularly memorable.
Till next time, happy learning!