Higher-order Learning
I had the idea of writing this blog post almost a month ago. I even almost completed it.
I did not like it though, so I did not publish it. Now that I found a name, that I am happy with, for the approach.
I will try again. Previously, it was learning greedily. That sounded too negative.
I was inspired by higher-order functions.
It is a concept in math(h(g(f(x)))) and functional programming. Not to scare non-engineer friends, that was all, I will not go into that.
Basically, I am going to share my examples and methods of learning in learning in this post.
Learning something while learning something else. Then, see how the main goal becomes a side product, and almost effortless.
You may find it interesting if any other day learning methods are boring in the classroom, or in any other room, and you would like to mix things up. Yes, it sounds dirty, even more so when I will mention this method includes you, what you try to learn, and the third, and some more. Let’s start and see if endless fun could be generated or not.
learning English
I remember the first time that my enhanced learning attempt was with learning English language. I did not like studying grammar and usual books, not for a long time. I combined it with my other activities(sounds simple nowadays). At that time, I was mostly watching TV series, movies, and listening to music. So I enjoyed the top 250 movies in their original language, top 20 song lists, and relaxing TV series. As I transitioned to my university studying next year, I changed the context of my learning to computer science, math, physics etc. So I was learning many things at once, handling multiple tasks in the same setting until English was not an obstacle for me.
learning technical goodies
I graduated finally (of course challenging learning takes more time). Then I needed to work more on software development, engineering, and related tooling. So I remember a period that I read many books and watched many videos on programming all while I was:
- using command line tools (learning l-unix)
- using Github for storing my notes (learning git-github)
- taking notes using Vim (learning vim)
- taking notes in Markdown (learning markdown)
- taking notes in English (still improving English language)
- practising touch-typing (learning how to type faster)
As we can see the main thing I should learn becomes just a piece of dust among other things. It goes slow but results are explosive. This was an extreme period, I was lucky to be able to combine all together.
Slow but steady learning started to pay up. I had the chance to use all my knowledge in a professional setting, until the next milestone was reached.
learning Dutch
Studying for the driving licence exam in English in Belgium was going to be too easy. I was already getting familiar with Dutch language, so why not spice things up? I decided to study the material in Dutch. Long story short, I passed the theory exam in Dutch. Now I drive around preparing for the practical exam. Guess what? I listen to Dutch radios, podcasts in the car. Isn’t that awesome? Even more so, I travel to the Flemish part of the country. Main goal is obtaining the driving licence while:
- learning Dutch
- learning driving around
- learning the country/culture more
- solo traveling
learning cooking
How about healthy eating? Sounds boring in itself. Going shopping at the same place, cooking the same things over and over again. It is just mundane work, no creativity, simply boring. What if I tell you, you can learn cooking and eating healthy will be just a side product. YouTube is out there with thousands of high quality step-by-step recipes. I find recipes and follow them. Instead of random recipes, I recently started to focus on a specific culture, but that is another story for another post. This approach helped me learn:
- how to cook
- many new kitchen tools
- about lots of ingredients for the first time
- enjoying my shopping now as it serves a higher purpose
- have a better time cooking and relaxing
Want to go crazy? Why not try to go to a different shop each time by car and find recipes in Dutch? Maybe something like learning about meditation in Dutch resources and writing a cli program to keep track of new learned-words in memrise style.
All of these might sound good, but that is not always the case. Combining many unknowns while doing something for the first time might become overwhelming. This approach could make things harder than they are, even sometimes stopping you from taking the first step, taking care of the initial task. So sometimes it is better to start in a procedural way and build up on it. Software engineers are still trying to catch up with functional programming so no hurry.
I made things a bit personal, and even bragged about some things in the name of giving some examples. I hope that that gave you some ideas. This way of picking up stuff is the easiest when learning a new language is involved. However, there is always learning something in the learning itself. Could you imagine what other things are being learned in writing/publishing this blog post? How about your examples?