This is fourth part of 7 part series discussing ideas presented in “How Learning Works: 7 Research-Based Principles for Smart Teaching”.

The fourth chapter of “How Learning Works” discusses the steps necessary to develop mastery. As described in the principle, there three necessary steps on the path to mastery:

To develop mastery, students must acquire component skills, practice integrating them, and know when to apply what they have learned.

Students have to acquire component skills before they can practice integrating them. Integration process does not come automatically with acquiring skills, it has to be practised too. Even after students master combining skills to solve complex tasks they not necessarily see the similarity of the problems, when they are presented in different context or apply them in a different domain.

Teachers have to support students in each of those three steps. This requires: 1. disassembling the problem into component skills 2. facilitating integration by slowly increasing the complexity 3. teaching how to apply new skills through examples, counter-examples and comparisons

To understand why teachers may make mistakes in this process it is convenient to look at four stages of the mastery development process: 1. unconscious incompetence 2. conscious incompetence 3. conscious competence 4. unconscious competence

The beginners are at the unconscious incompetence stage when they do not know what they don’t know. The experts of the topic are in the state of unconscious competence. They do not know what they know. Experts behave automatically and instinctively. Because of those expert blind spots expert teachers have problems unpacking the problem and defining component skills.

One can support the learning of solving complex tasks through combining different skills by slowly increasing the complexity. Students do not learn when “cognitive load” of the task is too high. The lesson can have a higher impact if some parts of it are lightened so that students can focus on parts most essential to the learning objectives.

It is important that the students learn how to apply new skills in different contexts. This is called “transfer”. As it is with combining skills to solve complex tasks, the transfer does not come naturally. The teacher needs to actively facilitate transfer learning. This can be achieved by explicitly discussing the applicability of skills in different contexts and conditions that determine this applicability.

I think one of the strongest messages of this chapter is that experts are not necessarily the best teachers. They are also not best equipped to build good learning materials. In fact, instructors who are in “conscious competence” phase are most likely to effectively deconstruct complex skills. I think this is why Carpentries model works so well. Instructors are usually very close to the time when they learned those skills by themselves. They remember what was the most challenging for them, what helped them better understand complex topics. That is also why it is so helpful that fresh or soon to be instructors can contribute and help improving learning materials. I have been recently working more and more on building various learning materials. At eScience Center, we are developing tutorials for the software we build. I find that tutorials are of much better quality when built by someone not connected to the project as opposed to the developer who suffers from expert blind spot.

The other important message is about slowly increasing the complexity and avoiding high “cognitive load”. I think this is very difficult to achieve in short time workshops like Carpentries. There are so many new concepts: command line, working with the interpreter, new programming concepts. One example of avoiding cognitive load which I see works great is using RStudio to teach R. That is mostly thanks to how good RStudio is. I really miss similar IDE for Python. I know that some people teach Python with Jupyter notebooks but until now I only taught with the IPython REPL. This is on my soon to try out list. If you have experience with using Jupyter at Carpentry workshops, I’d like to hear from you in the comments. The other helpful feature adding cheat sheets to the lessons. I am very happy to see more of those added recently.

The third, which I think has been also popping up multiple times in previous chapters is how important it is to make comparisons, emphasising deep features and presenting concepts in various different context. I never thought about looking at all the lessons with this in mind and I’m not sure how much connection there is in between the lessons. Seems like something to look into.