Unstuck Episode 1: Learning to Code is Hard. Difficult is Better.

I am beginnig a web show for people who are learning, or want to learn to code. The show shall be named - Unstuck, and this marks the first episode of the show. You may watch the video below, or you may also read my notes for the show beneath the video. Enjoy.

Part I: Learning To Code Is Hard

Do you want to learn to code? Well, you have access to a wealth of free an affordable online resources to teach you. Treehouse, Lynda.com, Codecademy, Codeschool, and many many more. So what are you waiting for? What's that? You've already done those? Great! So you can code now, right? What's that? You still don't feel like you can code? Oh. You still cannot build a program from scratch? Oh, oh, oh, I see. You are in - what the Erik Trautman of Viking Code School refers to as the "gulf of dispair". So first, you go through this hand-holding honeymoon period, where like little child you are guided through a trail . And you gain confidence with each lesson and each successful challenge. Coding is not so bad! One might even say it's easy! As you get closer to the end of the course, you are thinking, I am almost there! Soon I'll be a real programmer. Little did you know, that the end is only the beginning. Here's the thing. Once the gentle hand-holding is over, you are on your own, and then things ain't so easy anymore.

So, despite this vast amount of knowledge we have online, a lot of learners are struggling, and maybe you are one of them. Why is this?

Programming is kinda like cooking, but as you'll see, it's also not like cooking.

When you learn to cook a new dish, you follow a recipe. Chefs - in contrast - don't cook by recipes. Chefs create, improvise, and explore with different ingredients, different flavors and different techniques. They tailor meals to the occation and make different choices depending on who he's cooking for and what ingredients are available. Really good chefs create something they've never created before with every meal.

When you cook, as long as you know how to follow the instructions, you are going to be alright. People will be feed and people will be happy. When you learn programming, yes you can follow a tutorial, and yes you will end up with a working program if you follow the instructions correctly, but most likely, no one will use that program.

Here's the thing, with food - you make more cake to feed more people. But with code, there is no point - from the economic point of view - in writing the exact same program twice, because once that program has been made, you can copy it any many times as you want without costing anything. Therefore, the only reason people write programs - again from the economic point of view - is to create something that has never existed before.

In other words, in order to be a proficient programmer, someone who people will pay for to write programs, you have to be able to program like a chef cooks.

And yet, these online courses have not gone much further than just training you to follow instructions.

Part II: Difficult Is Better

We love easy. Google answers any question in an instant, and not only that: it can read your mind. We can drive to any destination without actually knowing how to get there. Taking pictures and videos is easier than ever. And yet, as if it weren't easy enough, we can now snapchat a video with one touch of the thumb instead of two.

Technology makes things easy - that is what it's for. However, easy isn't always better.

Psychology researcher Robert Bjork has shown in a series of experiments that when people learn things quickly, they are more likely to forget what they learned in the long run, and also are less able to relate what they've learned with things they already know.

One of the experiments went like this:

Two groups of students were asked to do a reading comprehension test - where they read an article, and then later have to answer questions about the article. Before reading the text, the students were given an summary outline of that text. The first group was given an online that follows the order of the text. The second group was given an online that is out of order with respect to the text. The students in the first group did better on recall. However, when the students were asked to do creative problem solving related to the text - a requirement that required a deeper understanding of the material, the second group won.

Another group of studies showed that if students make a mistake first before getting it right, their learning improves. In one such study, two groups of students were asked to do a standard reading comprehension test. The students in the first group would first read the article, and than answer questions about that article. The students in second group would answer questions about the article first, then read the article, and then answer the same set of questions again - they are given an opportunity to correct mistakes they made the first time. The second group of students performed better.

The brain has two subsystems: the fast, low level, intuitive, automatic, and primitive brain, and then there is the slow, high level, methodical, analytical, logical, and calculating brain.

Normally, people default to using their fast system, but when they encounter failure and difficulty, they then switch to their slow system. The more you think about a concept using your slow system, the better in stores in your long-term memory, and the more able you are to retrieve it in the future and relate it to different concepts.

Bjork has since coined the term "desirable difficulties". It means that if you want to learn something well, really well, chef level well, say, you actually want to make sure you don't learn it in a hurry. Instead, you are better off learning the material slowly and effortfully.

A course that makes it easy for students to learn may in fact, in the long run, be less effective.

Difficult is better.

Part III: Implications

So what does that means for you, the learner?

  1. Learn slower - slow and steady wins the race. Don't rush to move on.
  2. Delibrately make connections between the new material and material you already know.
  3. Customize the material so it's more challenging. To borrow a phrase from American Idol - make it your own.


blog comments powered by Disqus