Learn Anything in 20 Hours: Languages

Thinking about my previous post on Josh Kaufman’s book “The First 20 Hours: How to Learn Anything…Fast” by Josh Kaufman, I realized I had actually done almost exactly what Kaufman outlined. Not only did I do it, but I found it to be very successful and self-motivating.

Around last March of last year, I decided I wanted to improve my Korean. I decided that I would take the Test of Proficiency in Korean (TOPIK – Beginner Level). This decision turned out to be an excellent one, as it gave me two benefits: a deadline to achieve a certain level by, and the reward of earning a certificate which would look quite nice on my CV/resume.

I bought an excellent book (Korean Grammar in Use) and found an excellent website to use. Every morning, I would do exercises in the book for about an hour to an hour and a half. I would make flashcards with gGlash+ and Quizlet and review them whenever I had free time, especially whenever I took the bus and subway. I also took a few practice tests.

When the taste came around in April, I felt prepared. The actual testing experience was mixed. Some parts were extremely easy, others were extremely hard. The results came in June and I was ecstatic that I passed. I was disappointed by my writing score, because I thought I had done very well, but I was pleasantly surprised that I earned a 100 on the reading section.

Without knowing it, I had actually follow Kaufman’s advice. And succeeded. All in all, I spent 1 month studying Korean. Am I a fluent Korean speaker? Hardly. Did I achieve the level of mastery I set forth? Yes. I earned Level II on the beginner TOPIK test (the highest beginner level). Here are Kaufman’s principles of skill acquisition, and a brief explanation of how I followed each one:

  1. Choose a lovable project. – I wanted to learn Korean.
  2. Focus your energy on one skill at a time. – I focused mostly on grammar. Vocabulary learning was ancillary.
  3. Define your target performance level. – I wanted to pass the TOPIK, hopefully earning Level II.
  4. Deconstruct the skill into subskills. – Grammar. Vocabulary.
  5. Obtain critical tools. – The book, the website, practice tests, flashcard apps
  6. Eliminate barriers to practice. – I removed mental doubts by believing this would be possible to do.
  7. Make dedicated time for practice. – I did 2 units from the book every morning, plus other types of studying throughout the day. In total, it was probably ~20 solid hours of studying.
  8. Create fast feedback loops. – I tried out my Korean at the gym. I also took practice tests.
  9. Practice by the clock in short bursts. – I was semi-strict about my time, trying to not miss any study sessions.
  10. Emphasize quantity and speed. – I went full speed through the book and flashcards (gFlash+ is a very rapid learning environment) but left time to review and relearn as well.

If I had continued to study in that manner, I would probably be near intermediate level by now. I stopped however, as I was preparing for a trip to Poland and had to switch what language I was studying. I repeated a similar study routine with Polish and found it to be equally as successful.

I think the most important principle of rapid skill acquisition is number three: Define your target performance level. Having a obtainable goal in mind is useful for staying motivated and “keeping your eye on the prize”. I would add that having a deadline is also important to add a bit of motivating pressure as well.

From my experience, rapid skill acquisition works. I have done it with two languages, but it can be applied to any skill. I suggest you take the time to read his book and follow his principles. If you stick with it, you are guaranteed success. On to programming!

Learn Anything in 20 Hours

I have always had an interest in computers and design. AnthonyTeacher.com is essentially my programming playground. I have learned a lot of PHP, CSS, and more while building it. However, my knowledge of programming is neither deep nor diverse. I only know how to work with client-side languages. However, I want (and need) to learn more. I have been thinking about pursuing a post-bacc or master’s in computer science, or at the very least taking some of the wonderful open courses offered through MIT, UC Berkeley, and more (see bottom of post). Then, I read “The First 20 Hours: How to Learn Anything…Fast” by Josh Kaufman. Despite its name, “The First 20 Hours” is not a scam or a fad learning program. It is based on science, including much of the science I have learned about while studying second language acquisition. He even cites linguist Stephen Krashen several times when discussing the difference between learning and acquisition. Learning is the explicit understanding of a skill through dedicated study. Acquisition is implicit internalization of a skill in context, through practice. For example, you can learn English grammar rules by studying conjugation charts, but knowing these rules won’t become automatic unless you practice them in context. It is in this contextualized practice that you begin to acquire (i.e. innately or implicitly learn) a skill. Discussing Krashen (and his monitor hypothesis) further, Kaufman states:

Learning helps you plan, edit, and correct yourself as you practice. That’s why learning is valuable. The trouble comes when we confuse learning with skill acquisition. If you want to acquire a new skill, you must practice it in context. Learning enhances practice, but it doesn’t replace it. If performance matters, learning alone is never enough.

“The First 20 Hours” offers practical advice on not mastering but becoming adequately good at a skill. It takes 10,000 hours to master a skill (or become fluent in a language). But it only takes around 20 hours to have a good grasp. What this requires is intelligent and dedicated practice. Through his research, he outlines 10 principles of skill acquisition:

  1. Choose a lovable project. – Do something you really want to learn.
  2. Focus your energy on one skill at a time. – Intense focus on one project or skill is important.
  3. Define your target performance level. – Create a realistic goal, which does not include the words “expert” or “master”.
  4. Deconstruct the skill into subskills. – Learn the skills needed to complete your project.
  5. Obtain critical tools. – Get the tools before you start.
  6. Eliminate barriers to practice. – Get rid of distractions, including mental and emotional ones.
  7. Make dedicated time for practice. – Ninety minutes each day, if possible.
  8. Create fast feedback loops. – This is needed to see how well you are performing.
  9. Practice by the clock in short bursts. – Pay attention to your time.
  10. Emphasize quantity and speed. – Try to get a lot done.
I liked his explanation of how 20 hours is a good benchmark for being decent at a skill. Being decent is a start. There is no need to start, but it is in these 20 hours that we can jump over the steep learning curve of knowing nothing to knowing enough to keep going. I’m sold.
Here’s a short list of everything I want to learn and why:
  • Computer Programming – creative output, job outlooks, coolness factor
    • Python – a programming useful for working with human languages
    • Android – to create useful and education-oriented apps on the most widespread and open platform
    • Ruby – dynamic application development, web apps
    • PHP, Javascript, responsive web design – for better-designed websites
  • The Cello – to make beautiful music like Apocalyptica or 2Cellos
  • Brazilian Jiu Jitsu – self-defense and fitness
  • French – because it is an interesting and beautiful language
  • Polish – because my wife and children speak it
  • Advanced linguistics (cognitive, computational) – because it is extremely interesting to me
  • Wilderness survival skills – because these will always come in handy
  • (I really thought my list would be longer)

Back to programming, this is where I will start with the 20-hour program. There are thousands of resources online on how to program. Kaufman himself has a chapter on programming with Ruby. Chris Wilson is also trying to learn Android in 20 hours. There are free videos, tutorials, and online courses. Where to start? I’m starting with the Introduction to Computer Science course offered by David Evans (University of Virginia) at Udacity because it introduces core concepts of CS while staying project-focused: we will learn Python by learning how to build a search engine. I’m going to start in a few weeks and you can follow my progress at http://20hourswithpython.tumblr.com. Here are some other useful resources for programming that I have come across. Check them out!

Find Song Meanings with Rap Genius!

If you like English music, but don’t always understand the words, Rap Genius is for you! Many songs’ meanings are based on cultural references, slang, and unique sentence constructions. With Rap Genius, just search for your song, look at the lyrics, and click the line you don’t understand. You will see a simple, user-submitted meaning. It’s not just useful for English students. Native speakers often don’t understand the meanings behind certain lyrics too.

Check it out!