Tips For Mastering A Programming Language Using Spaced Repetition
- By Mattan Griffel
- August 19th, 2014
- 0 Comments
Since initial conference of spaced exercise a few years back, I’ve used it for a far-reaching operation of things, from training people’s names to memorizing communication to augmenting my influence of books.
Today, I’ll share best practices that I’ve detected from regulating spaced exercise to learn and master a programming language.
Some good articles on this subject are already out there, including “Memorizing a Programming Language Using Spaced Repetition Software1” by Derek Sivers and “Janki Method2” by Jack Kinsella. But since you’re busy, I’ll fast promulgate some of a best practices that I’ve schooled along a way.
First things first.
What Is Spaced Repetition?
Spaced exercise is a complement for henceforth remembering something regulating a smallest series of repetitions necessary. The many renouned apparatus for this is Anki3, a giveaway desktop app that enables we to emanate and examination digital flashcards orderly by deck.
In short, whenever we wish to remember something, we would emanate a label in Anki and examination it regularly.
The cold partial about Anki is that, if we do it right, you’ll need to spend customarily about 5 to 10 mins a day reviewing your cards. If we do this, you’ll be means to remember approach some-more than we ever imagined, and you’ll be most some-more productive.
Let’s dive into a specifics.
How to Use Anki
For anything we wish to learn, emanate a flashcard with a front and a back. When we examination a card, Anki will uncover we a front, stealing a answer side.
Answer a doubt in your head, and afterwards exhibit a other side to see either we got it right.
Then, consider how simply we answered a question, and name one of 4 options: “again,” “hard,” “good” or “easy.” Based on your selection, Anki total out when to uncover we that label again.
And, yes, we can even use images in your cards.
By now, you’re vehement to get started. But before we do, let me share a few tips.
1. Break Down Your Knowledge Into The Smallest Possible Units
Though not apparent during first, there are good and bad ways to emanate cards. For example, here’s a bad approach to write a card:
- Front
“What does Ruby’sstrip
process do?” - Back
“It trims spaces and vacant lines from a commencement and finish of a string.”
Why Is This bad?
First, we substantially won’t be means to remember how accurately we phrased a answer since it will have been so prolonged ago. So, any time we answer a card, you’ll have to decider either a approach you’ve explained it corresponds to what we wrote on a behind of a card.
Secondly, answers that are open-ended and that include of some-more than customarily one or dual disproportion take longer to answer. Even if it takes customarily a few additional seconds, those additional seconds supplement adult over time.
Thirdly, we wouldn’t be training how to request this concept. Definitions are not as unsentimental as transparent examples.
Instead, we would do this:
- Front
“What Ruby process would we use to formatJessica
?” - Back
strip
That’s most easier.
For a good beam to formatting knowledge, check out “20 Rules of Formulating Knowledge8” by Piotr Wozniak.
2. Use Cloze Deletion
Following a order above about Ruby methods was flattering easy until someone told me that category names, procedure names and constants start with an uppercase minute in Ruby. So, we combined a following card:
- Front
“In Ruby, that things start with an uppercase letter? (Hint: 3 things)” - Back
“Class names, procedure names and constants”
The problem is that we had to remember 3 things, and a doubt was ambiguous, so it took a prolonged time to understand.
Then, we schooled about a underline of Anki called cloze deletion.
Instead of environment a front and behind of a card, we would use cloze deletion to set a retard of content and afterwards tell Anki that pieces of a content to mislay from a label and to exam we on. It looks something like this:
- Text
In Ruby,c1::class names
,c2::module names
andc3::constants
start withc4::an uppercase letter.
.”
This generates 4 cards, any of that blanks out customarily one of those variables.
There’s even a bad-ass plugin, Image Occlusion13, to request cloze deletion to images.
3. Add A Card Only After You’ve Tested It
While Anki is an implausible training aid, it’s customarily one approach to keep information. At a finish of a day, we need to request what you’re learning. Remembering a judgment will be most easier if we have knowledge requesting it.
If we customarily examination about a programming judgment though perplexing it out for yourself, afterwards your bargain will substantially be incomplete. When we consider something is pardonable or obvious, like where to put a space or comma, I’ll customarily have a tough time remembering it when it matters. For example:
- Front
“In Ruby, emanate getter and setter methods forname
andemail
.” - Back
attr_accessor :name, :email
Without indeed perplexing this out, we competence forget either attr_accessor
has a colon after it, either it accepts strings, where a commas go, etc.
A good side outcome of this is that if we brush adult on this any once in a while, you’ll infrequently find that a label is no longer accurate.
4. Save Cool Tricks And Best Practices
Always save tricks and best practices that we examination about, see in a video or notice in other people’s code.
I once saw someone do a cold pretence in a authority line to arrangement all of Ruby’s core methods in a interactive Ruby bombard (IRB). So, we done this card:
- Front
“How do we arrangement all of a core methods in a IRB?” - Back
Kernel:: + (Tab) + (Tab)
Doing this guarantees that your formula will get improved over time. Even gifted developers should demeanour out for best practices and crafty techniques. It could meant a disproportion between fast remembering a name of that problematic authority and sport by StackOverflow for half an hour.
5. Practice Every Morning For About 10 Minutes
The genuine value comes from frequent, brief use sessions. If we take some-more than a few days off, afterwards your examination reserve will grow, and you’ll have difficulty recalling contribution that you’ve recently learned. (Don’t worry: Anki caps any rug during 60 cards, and we can adjust this number.)
I like to use my spaced exercise in a morning on a subway. As prolonged as we stay adult to date, it customarily takes around 5 to 10 mins to finish.
One final thing. we know that some of we will ask to see my deck. we rarely suggest formulating your own. Sure, we could download some decks out there to get started — such as Jack Kinsella’s web growth deck14 or Derek Sivers’ decks for Ruby15 (ZIP) and JavaScript16 (ZIP) — though your possess cards will be most some-more personal, formatted to how we learn and remember facts. You won’t learn or remember scarcely as good by regulating someone else’s deck.
I’m certain that my techniques will change over a subsequent few years, so I’ll try to keep this post adult to date. Have we used spaced exercise or any other techniques to master a programming language? Do we have any tips to share? Please do so in a comments below.
(al, ml, il)
Footnotes
- 1 http://sivers.org/srs
- 2 http://www.jackkinsella.ie/2011/12/05/janki-method.html
- 3 http://ankisrs.net/
- 4 http://www.smashingmagazine.com/wp-content/uploads/2014/08/01-flashcard-front-opt.jpg
- 5 http://www.smashingmagazine.com/wp-content/uploads/2014/08/01-flashcard-front-opt.jpg
- 6 http://www.smashingmagazine.com/wp-content/uploads/2014/08/02-flashcard-back-opt.jpg
- 7 http://www.smashingmagazine.com/wp-content/uploads/2014/08/02-flashcard-back-opt.jpg
- 8 http://www.supermemo.com/articles/20rules.htm
- 9 http://www.smashingmagazine.com/wp-content/uploads/2014/08/03-deletioncard-front-opt.jpg
- 10 http://www.smashingmagazine.com/wp-content/uploads/2014/08/03-deletioncard-front-opt.jpg
- 11 http://www.smashingmagazine.com/wp-content/uploads/2014/08/04-deletioncard-back-opt.jpg
- 12 http://www.smashingmagazine.com/wp-content/uploads/2014/08/04-deletioncard-back-opt.jpg
- 13 https://ankiweb.net/shared/info/282798835
- 14 http://www.oxbridgenotes.co.uk/other/web_development_flashcards
- 15 http://sivers.org/file/Ruby-sivers.apkg.zip
- 16 http://sivers.org/file/JavaScript-sivers.apkg.zip
↑ Back to topShare on Twitter
Tips For Mastering A Programming Language Using Spaced Repetition
Nenhum comentário:
Postar um comentário