Always thought the best way to learn a programming language is not to consume a tutorial. It's slow and tedious, it has no affordances w.r.t. slowing down/speeding up based on what you're already familiar with. Plus it needs to have personality to be good writing, but not enough personality so as to be annoying - I don't envy the task of writing tutorials (which I think is still necessary).
Rather, open 2 windows. On the left is code you know to be "good" in that language. On the right, vim. Just type what you see on the left into the right. That's right, "mindless" copying is what I consider to be the best thing at first.
The end goal is to code mindlessly, start there. Go elsewhere in the in-between times.
The real aha flashes of understanding should come uncertainly, and should be dependent on your actual world experience - not statically determined by the tutorial writer switching to bold or italics or whatever at the end of a section.
The real understanding comes while you're asleep anyway. At the beginning, instilling familiarity as soon as possible is all that determines success, I've found. Besides, to look up what you don't know will be a skill you'll need to build up all the time, along the way.
Thanks for sharing your thoughts. It's an interesting approach: it's a poor man's worked example, if I understand your approach correctly. Is that right?
Pretty much. Programming is just reading and typing, reading and typing. So it makes some sense to just start out by reading and typing code you wish you could write.
I’ve recently joined Justin Sung’s icanstudy.com.au which is supposed to be an implementation of Cognitive Load Theory’s predictions. I’m finding Cognitive Load Theory to be very useful for improving my personal learning routine.
I’ve started reading Sweller’s book and from an evolutionary theory perspective, it really makes sense. Sweller argues for several principles that must be true of any information processing system.
Rather, open 2 windows. On the left is code you know to be "good" in that language. On the right, vim. Just type what you see on the left into the right. That's right, "mindless" copying is what I consider to be the best thing at first.
The end goal is to code mindlessly, start there. Go elsewhere in the in-between times.
The real aha flashes of understanding should come uncertainly, and should be dependent on your actual world experience - not statically determined by the tutorial writer switching to bold or italics or whatever at the end of a section.
The real understanding comes while you're asleep anyway. At the beginning, instilling familiarity as soon as possible is all that determines success, I've found. Besides, to look up what you don't know will be a skill you'll need to build up all the time, along the way.