Ap Computer Science How to Read Code Fast
past Steven Gilbert
How to apply spaced repetition with Anki to learn to code faster
Imagine you could speed upwards your learning and better recollect programming fundamentals, techniques, and commands.
Today I tell you how to do but that, using spaced repetition and a free open source tool called Anki.
Many take attested to the benefits of spaced repetition:
- Jeopardy! champion Robert Craig says he owes some of his success to using Anki for memorizing trivia.
- Googley as Heck, who studied full-time for 8 months for a Google interview, says "Spaced repetition is the key to memorization…Y'all go an good by revisiting and reviewing over time. If you practise so, y'all'll get to the point where [you] can't forget details."
- And Derek Sivers, founder of CDBaby, writes that spaced repetition is "the almost helpful learning technique I've found in 14 years of computer programming."
For me personally, Anki has been an indispensable office of my effort to learn to code. I use it to think important ideas from HTML, CSS, JavaScript, and commands from Git and Bash.
I'm currently in deferral at UC-Berkeley Law School, and Anki volition 100% be part of my strategy to master the police force.
In this article, I'll cover:
- What spaced repetition is
- How Anki helps with spaced repetition
- And how these tin speed up your learning and meliorate your retention of programming concepts.
What is Spaced Repetition?
Spaced repetition seeks to solve the problem of forgetting. Information technology holds that the platonic moment to remember a new piece of data is at the moment you are near to forget information technology.
For instance, suppose you lot don't know the majuscule of Colombia. And suppose correct now I tell you what the capital letter of Republic of colombia is.
The capital of Colombia is Bogotá.
Allow's assume your retentivity is such that you'll retrieve this new fact—that the upper-case letter of Colombia is Bogotá—after your very first exposure to it, for a clean xx minutes. Subsequently which yous'll forget.
But, if at xix minutes and 59 seconds, while we're having a loving cup of java, I remind you…
The uppercase of Colombia is Bogotá.
…spaced repetition theory says y'all'll be able to remember Bogotá is the capital letter of Colombia for at present say 40 minutes. After which you'll forget.
But, if I remind y'all again 39 minutes and 59 seconds afterwards that…
The capital letter of Colombia is Bogotá.
…yous'll exist able to retain this piece of geographic trivia in retention for an even longer flow, permit's say up to one hour.
And if we continue to continue in this style, where I proceed reminding you the capital of Colombia is Bogotá precisely at the moment you're about to forget, the time in betwixt retentiveness lapses grows exponentially from hours to days, and then to months, so to years.
And eventually, as the theory goes, the knowledge — that Bogotá is the capital of Colombia — will be more or less permanently lodged in your retentivity.
This notion of a decline in retentivity over time is known as the forgetting bend, and it was developed by Herman Ebbinghaus in 1885.
And this idea — that information technology'due south more than efficient and effective to infinite out learning over time as opposed to cramming — is known as the spacing consequence.
Together, the forgetting bend and the spacing effect are the cardinal concepts backside spaced repetition.
Depending on your forgetting bend, you determine the optimal interval to remind yourself of a retentivity particular (meaning any piece of information), and you space out reinforcement of the memory item appropriately. Piotr Woźniak, a pioneer in retentiveness inquiry, sums upward these ideas:
Optimum intervals are calculated on the basis of two contradictory criteria:
1. Intervals should be as long as possible to obtain the minimum frequency of repetitions, and to make the best use of the so-chosen spacing event, which says that longer inter-repetition intervals, upward to a certain limit, produce stronger memories
2. Intervals should be short enough to ensure that the knowledge is notwithstanding remembered
At this point, you might be asking, "but how practise you know precisely the moment you lot're about to forget that the capital of Republic of colombia is Bogotá? How do you know what your optimal interval is?"
Of course it'd be quite difficult to know down to the 2d without much painstaking trial-and-error and a Charles Darwin-level attention to detail. Just fortunately we don't demand such diligence because a familiar friend can help u.s.: software.
(You lot can also employ a not-automated arrangement chosen the Leitner system.)
Software, built on a mount of memory enquiry, can help yous determine the optimal time to reinforce memorization. And specifically Spaced Repetition Software.
What is Anki?
Anki is an open source Spaced Repetition Software tool developed and maintained past Damien Elmes. You can call up of information technology as a kind of "smart flashcard program" that leverages spaced repetition and makes memorization more efficient.
Anki is built on pinnacle of the premise that you lot best remember knowledge with periodic and strategically-timed reminders. Which ways it'southward congenital on height of the powers of spaced repetition.
You tin utilize Anki to remember virtually anything that needs remembering.
Notation, still, Anki is not a replacement for learning. You must get-go understand the fabric you're learning, and so commit it to Anki, which will brilliantly assistance you retain the knowledge you've acquired. Significant Anki is a part of the learning procedure that comes after understanding.
There's other space repetition software in the world such as SuperMemo, created by the aforementioned Piotr Woźniak. Anki in fact implements a version of the algorithm that powers SuperMemo.
I focus here on Anki because it'south what I've go accustomed to, information technology works well, and it's open source and free. If you've used SuperMemo or another SRS tool, let us know about your experience in the comments.
If y'all end upwards deciding to use Anki likewise, I yet encourage y'all to read up on Woźniak and what he'south had to say about retention and learning and creativity because it's highly insightful.
As far as devices go, Anki comes in a desktop version which, if you haven't used Anki earlier, is recommended you start with. At that place's also:
- A free companion spider web app, AnkiWeb.
- A free companion Android app AnkiDroid, fully uniform and synchronizable with Anki desktop/web.
- And for iPhone users, a $24.99 companion app AnkiMobile in the AppStore.
How Anki works
Know that y'all can go deep into how you use and configure Anki. I only give y'all a high-level overview so you become the gist.
- You create " decks ," which are a grouping of cards representing a broad category. For example, "JavaScript" or "Capitals" might exist a deck.
Here's an instance of an Anki deck in the desktop app. (Don't worry about the "New," "Learning," "To Review" for now. I'll come dorsum to these in a moment):
ii. You add together " cards " to your decks, which are customizable with HTML and CSS.
A carte du jour might be a standard front-and-back flashcard, where y'all're first presented with the front. Here'due south an instance from a deck on "Capitals":
And when you lot're fix for the answer, you hit Show Answer to reveal the answer on the back of the card:
ProTip: in that location are other bill of fare types, as well the front-and-back flashcard blazon, similar cloze deletion you'll desire to go familiar with. Cloze deletion is a particularly useful card type I apply all the fourth dimension (in fact virtually of my cards apply cloze deletion) because it'south simple and effective at organizing information.
ProTip: creating Anki cards is an art. And the more yous practise, the better you'll get. Equally a rule-of-thumb, y'all'll desire to try to follow the minimum information principle, which essentially means:
KISS — Keep it Simple Stupid. Yous want to go on your cards equally simple as possible because elementary is easier to recall.
3. Once you're done adding cards, you Anki (do).
Let'due south look dorsum at the Colombia-Bogotá card to meet how the process works.
Afterwards yous click Show Answer and you're brought to the dorsum of the bill of fare, you ask yourself:
How difficult was information technology to come up upwards with the answer?
- If you didn't know the answer, you might cull Over again, which will expose y'all to the card once again in less than a minute.
- If you came upwards with the answer afterwards pausing and earthworks into your memory bank, y'all might select Good, which will testify you the carte du jour again in less than 10 minutes.
- And if the answer was like shooting fish in a barrel, you choose Easy and you won't see the card again for four days.
Anki's programme then keeps rails of the country of your progress: which cards to review and when. Which means Anki is doing the slow work of tracking your forgetting bend for each and every menu.
This is the power of automating spaced repetition with software.
I should point out that you lot can alter some of the variables of Anki's spaced repetition algorithm. You practise so by going into your deck options and customizing what you desire to customize, such equally the number of reviewable cards per day, the time interval options, among other variables.
In the beginning, though, peradventure yous might want to exit these settings alone and just apply the defaults. And as you become more comfortable with Anki, yous can offset to be artistic with the deck options.
To re-visit our JavaScript deck:
- New means you've added 4 new cards to your JavaScript deck and they're ready to be reviewed
- Learning ways, if you're in the middle of working through a deck and yous chose, say, Good <10m, Anki volition store that carte in the learning queue and show information technology to y'all again in 10 minutes. See hither for more details.
- To Review means the number of cards outstanding for review.
And all this will get much clearer the more than and more you use Anki.
How to get started with Anki
Regarding tutorials and how to employ Anki, the docs on the website are phenomenal and will probably respond virtually of your questions. And there are also a few helpful video tutorials.
In the meantime I requite yous a checklist on how to get started with Anki because checklists can be helpful.
ane. Read Derek Siver'south commodity on spaced repetition considering it reinforces much of what I talked about.
two. Read this Wired interview with Piotr Woźniak because it gives y'all a holistic overview of spaced repetition, learning, and retentiveness research.
3. Read Effective learning: Xx rules of formulating knowledge by Piotr Woźniak because it gives yous techniques for how to formulate and structure your Anki cards.
Notably, retrieve that spaced repetition is non a substitute for learning. It is disquisitional you first sympathise the cloth before you commit it to spaced repetition. Kickoff sympathize and then reinforce with Anki. Remember to use the Kiss method to create cards, and to apply imagery in your cards when possible.
4. Create your ain decks.
five. Remember to keep your decks broad and full general. For example, if you're learning JavaScript, don't create one deck chosen "Closures" and another called "Prototypal inheritance." Instead create i "JavaScript" deck. Refer to Using Decks Appropriately in the documentation for more details.
six. Go one with cloze deletion because it'll help your learning tremendously.
7. Understand the downsides.
There are a few downsides to space repetition. Interference in remember is ane.
For instance, you lot can imagine experiencing interference in think with, say, the capitals of Martinique, Marituania, and Mauritius considering they're all similarly named.
Some interference is hard to escape, and you lot might want to implement other retentivity hacks in such cases. But you can limit the downside by keeping your cards elementary.
Acquire more about the downsides here (scroll downwards to downsides) and here (scroll downward to combat interference).
9. Recollect to keep your cards and decks synced. Cull i "domicile base" like the desktop version and then sync with AnkiWeb and one of the mobile apps each time you make a change. You lot put in endeavour to create your cards and decks. Avert the headache of having to redo your work.
nine. Make Anki a habit. In order to encounter the fruits of Anki's magic, you must brand a decision and commit to going through your cards every day they're due. Acquaintance Anki with a cup of java. Or the morning. Or tiffin time. Or something positive. Find means to make Anki a habit.
To review:
- Spaced repetition is the idea that y'all nearly effectively remember a piece of information if you lot're exposed to it at the moment of forgetting.
- Anki automates spaced repetition. This makes for an incredibly efficient and useful memorization tool.
- Anki can assist you build upward your knowledge base of estimator programming fundamentals, techniques, and best practices.
- In improver to computer programming cognition, you can use Anki to call up anything else y'all want to add to your retention.
- Recollect: Anki is a function of the learning process, not a replacement. You must kickoff understand. And then apply Anki.
If you lot have questions, you tin tweet me at @gilbertginsberg or find me at GilbertIndex.
Farther reading:
- Spaced repetition, Wikipedia
- Forgetting curve, Wikipedia
- Spacing event, Wikipedia
- Hermann Ebbinghaus, Wikipedia
- Leitner arrangement, Wikipedia
- Damien Elmes, creator of Anki
- Anki docs
- General principles of SuperMemo past Piotr Woźniak
- The roots of creativity and genius by Piotr Woźniak
- Optimization of repetition spacing in the practice of learning by Piotr Woźniak and Edward J. Gorzelanczyk
- Want to Recall Everything You'll Ever Larn? Give up to This Algorithm past Gary Wolf in Wired
- Memorizing a programming language using spaced repetition software past Derek Sivers
- Using spaced repetition systems to larn and retain technical knowledge. by Jack Kinsella
- Spaced repetition past @gwern
Acquire to code for free. freeCodeCamp's open source curriculum has helped more than than 40,000 people go jobs as developers. Go started
Source: https://www.freecodecamp.org/news/use-spaced-repetition-with-anki-to-learn-to-code-faster-7c334d448c3c/
Post a Comment for "Ap Computer Science How to Read Code Fast"