Effective learning
Learning tips
http://first20hours.com/ by Josh Kaufam.
The First 20 Hours - How to Learn Anything by Josh Kaufman at TEDxCSU.
- Deconstruct the skill
- Learn enough to self-correct
- Remove practice barriers (distraction and tools)
- Practice at least 20 hrs (overcome frustration barrier)
The major barrier to skill acquisition isn’t intellectual, it’s emotional.
Overcome the resistance to learn a new skill (initial excitement and realization of the difficulty).
- Focus of very few topics
- Set concrete performance targets
- Make sure you have necessary tools
- General overview -> Divide into subtopics
- Learn in short bursts (< 1h)
- Fast feedback
- Active recall
Examples:
- I spent some time learning what “programming” and “web applications” are in general, then deconstructed these skills into smaller sub-skills that are easier to understand and practice.
- I set my target performance level by choosing two specific projects I wanted to create, then defined what those projects would look like when finished.
- I deconstructed those projects into smaller sub-steps then identified which sub-steps seemed most important.
- I made sure I had the tools I needed to work (like the latest version of Ruby), and that I was able to find and use any additional tools I needed.
- I found a few reliable sources of programming information, but I skipped canned tutorials in favor of jumping in and writing the actual programs.
- I worked on the most important sub-steps first, like figuring out how to test programs on my computer, push the finished application to production, etc.
- I used reference examples to get started and build confidence, then tested various approaches to figure out how to program the features I wanted.
- When I made an error, the program crashed and gave me an error message, creating a fast feedback loop.
- After getting an error, I experimented with several ways to fix it. If I couldn’t fix the problem myself, I searched for help.
- I kept using the build / test / fix approach until my programs were complete.
- I learned how to change my keyboard layout to Colemak.
- I created a fast feedback loop by rearranging the physical keys on the keyboard, so if I forgot where a character was located, I could find it easily.
- I used the Keyzen typing tutor to learn the placement of characters by touch, learning the most-used characters first. Keyzen re-introduced characters to the training set as I made mistakes, so I spent most of my time practicing difficult characters until my accuracy improved.
- I practiced for 45 minutes every night, just before going to bed, so my brain could consolidate the motor skills into long-term memory most effectively.
- Once I got to functional speed (20 WPM), I switched to Type-Fu, focusing on typing sentences as fast as possible with over 99% accuracy.
- When I reached 40 WPM, I used Amphetype to train the most common English bigrams and trigrams, further increasing my speed and accuracy.
- Once I mastered the n-gram set, I switched to training the most common English words in Amphetype until I reached 60 WPM sustained with 99% accuracy, which happened at the 21 hour mark.