DEV Community

[Comment from a deleted post]
Collapse
 
vier31 profile image
Jan Schröder • Edited

I have a background in teaching German as a foreign language and I found there a certain pattern in which to structure classes. Since that pattern applies to learning in general, I would like share it with you, to add to the conversation.

When talking about learning, I want to differentiate between
a. learning systematically and
b. learning unsystematically.

The first one is choosing a topic and then setting out to learn that topic and the latter is doing a task and learn as you go, without control of what you will learn. As an example from learning a foreign language, the first way is picking a grammar topic and then sitting down to learn that, the second way is going to get a haircut in a country/region where the language is spoken. You certainly will learn something, but it is unpredictable what you will learn.
Both are valid ways to learn, but you should be aware of their existence and choose consciously.

A class/learning session to learn something systematically is ideally structured in the following way:

1 Introduction: Get an overview of the topic and see what you might know already.

When self teaching coding, this would be some theoretical articles or high level view presentations.

2 Presentation: Take a closer look at the problem/phenomenon you want to learn in that session. Read, talk about the details and facts, rules, etc.

This is getting into the nitty gritty. Rwad documentation and highly detailed articles.

3 Verify. Check the understanding. Answer questions, if in doubt, go to 2.

When learning alone, this one is tricky. I recommend that you talk about it with someone, write a blog or make a video. Try to explain what you learned. See Feynman.

4 Guided practice. Follow guided exercises. There is no need for creativity here, it is supposed to be more of a drill at this stage.

This is where you code along and follow tutorials. You'll use the learned information but in a guided way.

5 Transfer. Apply what was learned in a different context on your own.

Finally, go do something on your own. Use what you learned in a context that is relevant to you. This is the hardest and most important step, don't skip it before moving on to the next.