In “Advice to beginners” I said, “Learn how you learn,” and many people stepped up to tell me that learning styles are a myth. I know the research about learning styles, but people are over-applying it to dictate how people should learn.
If you haven’t heard about the theory and its debunking, you can read about it in The Atlantic or Education Next. Briefly: the theory was that some people were inherently visual learners, while others were textual learners, among other kinds. This has been proven untrue.
When I said “learn how you learn,” I meant for learners to take an active role in choosing what their path should be. I’m not talking about the four modalities from the debunked “learning styles” myth. There are many effective ways to learn how to program, and you have to choose your way. There are lots of possible choices:
- Do you want to start with computer science theory, or jump into writing small programs?
- Do you want to know the inner workings of things, or just how to use them?
- Do you want to work on small exercises, or choose a project of your own?
- Once you’ve started a project, do you complete it, or are you willing to leave things unfinished because something else has drawn your attention?
- Do you work a fixed amount of time each day, or do you adapt as your energy waxes and wanes?
- Do you want to dive deep into one technology or language, or dabble in many?
- Are you proactive (learn what you might need it later) or reactive (learn what you need right now)?
- Does studying with others help you, or are you better off learning alone?
- Are you choosing an industry, and aiming your work directly at it, or trying out many different domains?
- Do you like videos, or reading text?
These aren’t always binary choices: you might be somewhere in the middle, or shift over time, or seesaw back and forth. Understand what works for you.
I saved videos vs text for last because it seems to be the most contentious. Many people will tell you that watching videos is a bad way to learn programming. I agree that passively watching videos can lull you into thinking you understand concepts. You must write code to truly cement your understanding. Videos can be a fine way to learn, as long as you are active in the learning. But some people will simply rail against videos entirely.
Some experts lean too hard on “learning styles are a myth” and “videos are bad.” This seems to be just another gate-keeping flavor of “the way I did it is the right way.”
The debunking of learning styles was important because teachers were being expected to develop curriculum in many styles to suit different students’ needs. This was extra work, and could also prevent the students from developing learning skills in other modalities.
But I’m not talking about teachers’ choice of modality. I’m talking about learners finding paths that work for them. Today we have an abundance of learning materials, and learners have to choose among them. Everyone has to be empowered to use the ones that suit them. This is a much bigger range than visual/textual/auditory.
Learners have to learn how they learn, and choose the path and materials that work best for them.
Comments
I first encountered the “learning styles theory” during a time of despair, while I was six months or so into my journey to learn programming (recursion, j’accuse and curse you).
This (’in’ | ε)famous Coding Horror article, was promising me years of wasted effort, and reinforcing an ever growing belief that I wasn’t cut out for programming. That belief was only kept at bay by the even more unsettling realization that learning how to code was my only path out of a future as a telemarketer or worse. Turning back was no option.
And there it was, the “theory of learning styles”, a shortcut towards realizing my dream of chilling while CPUs were following my instructions. Now I only need to know whether I am a visual, an auditory or a text learner.
Alas, this shortcut turned out to be an emotional draining detour towards realizing that there isn’t a single possible answer to what kind of learner I am, especially one that could hold true against time.
And how could it be?
Yes, our minds are different and to each mind its preferences for how to approach endeavours but the word mind is often used interchangeably with the word psyche for a reason. We use one or the other depending on whether we wish to convey order or chaos.
When we wish to qualify a human individual as a rational thinker, we use the word mind. When we, eventually, wish to explain why a human individual is the furthest thing possible from rationality, we use the word psyche. Therefore, saying the way your mind works makes you suited for visual|auditory|text|that-fancy-sounding-adjective learning evaluates to saying: I predict that your psyche will stay in a constant state for eternity.
Understanding that foreign concepts such as recursion (or space time complexity, or aynchronicity) aren’t some kind of a cognitive shibboleth but rather new notions that can be internalized and made to work in one’s favor takes time and –>–>effort<–<–.
I encourage everybody to reply to Ned’s set of questions mentioned in this article because that is essentially how you keep yourself going through times of uncertainty while learning programming, a field that is as cut and dried as a field can be.
As for the impact that this “theory” (the sarcastic quotation marks stay or so help me god) might have on teachers’ well being, I would like to say: kids, leave them teachers alone. They are among the most neglected, underappraciated, underpraised, overlooked, overexploited groups in human society. Or as John Lennon could have said: Teacher is the woman of the world.
I like watching videos, I get a bunch of useful information and then can apply. Things like list[-1] for example was just on someone writing some code and I remembered.
What I really like to do is when I encounter some concept I’m not familiar with, on Leetcode or something. After I’ve exhausted my effort on my own I’ll watch a video.
I won’t write code till the next day so that it’s just the concept I remember and then I can practice the application and coding
Add a comment: