🧠 Como utilizar o Anki para reter o que você vem estudando
Problema
Enquanto programador existe MUITA coisa para aprender e lembrar.
Precisamos ficar afiados em tópicos mais antigos à medida que aprendemos coisas novas todos os dias.
Imagine uma forma simples de reter o que você já aprendeu. Ai que entra o Anki.
Como funciona a retenção de conhecimento?
Já reparou que pouco tempo depois que a gente aprende uma coisa, esquecemos logo em seguida?
Quanto menos tivermos a oportunidade de utilizar o que se aprendeu, maior será a velocidade com que este conhecimento recém-adquirido se evaporará da sua memória. Há muito tempo que se sabe que a repetitio est mater studiorum (do latim: a repetição é a mãe da aprendizagem). Por outras palavras, a melhor maneira de recordar-se é fazer repetições do material aprendido.
📉 Curva do esquecimento
A curva do esquecimento é uma representação gráfica da relação entre a retenção de informações adquiridas e o tempo em que elas permanecem na nossa memória.
O gráfico mostra o declínio da retenção da memória com o passar do tempo. A memorização de um conteúdo vai se perdendo, a não ser que o revisemos periodicamente e de forma consciente.
Baseado na curva do esquecimento, o filósofo Ebbinghaus propos o método da repetição espaçada. Suas conclusões foram publicadas em Memory: a contribution to experimental psychology.
🗂 Repetição Espaçada
1º de tudo, repetição espaçada não é uma técnica de estudo.
A repetição espaçada é uma técnica de memorização que lhe recordará conceitos em intervalos espaçados para maximizar a retenção de memória de forma eficiente. É uma estratégia para lembrar os nossos cérebros de fatos; explorando que o melhor momento para se lembrar de um fato é antes mesmo de o esquecermos. Para uma leitura aprofundada sobre o tema recomendo o artigo Spaced Repetition for Efficient Learning
O que é o Anki e o que ele tem haver com isso?
O Anki é um famoso software, gratuito, open-source 🥳, de repetição espaçada, onde você vai converter conhecimento em pequenos cartões conhecidos como flashcards.
Os Flashcards são para recordar o que se aprendeu. Antes de criar um flashcard para algo, é necessário aprender e compreender realmente o que aprendeu. Crie o flashcard depois de ter realmente compreendido.
Tutoriais do Anki voltado para estudo de programação
- https://www.liamgower.com/main-blog/learn-code-with-anki
- https://empiria.io/blog/remembering-r-with-spaced-repetition/
- https://www.lesswrong.com/posts/gHjsQpEDmL5jHyTuZ/how-i-use-anki-expanding-the-scope-of-srs
Extensões para melhorar seu workflow
- https://ankiweb.net/shared/info/1463041493
- https://www.liamgower.com/main-blog/multi-line-typed-answers-in-anki
- https://ankiweb.net/shared/info/867316254
- https://ankiweb.net/shared/info/1933645497
Alternativas ao Anki
Acho o Anki o melhor software do ramo, mas entendo que na questão visual ele pode não ser tão agradável. Existem várias extensões para deixar ele bonitão mas se mesmo assim não for do seu agrado o que não falta no mercado são softwares de flashcards. Algumas opções que já utilizei e gostei:
- obsdian (através de plugins) - esse app merece um post só pra ele <3
- remnote
- neuracache
- mochi
Mastigando tudo
- Aprendeu algo novo e não quer esquecer? faz um flashcard (de uma olhada nas regras de formulação de conhecimento para criar bons flashcards)
- Revise todos os dias, pelo menos 10 minutos.
- Não reveja os cards de forma passiva, torne a revisão um processo ativo (leia sobre o active recall)
- O flashcard me pergunta como fazer uma query no SQL. Abre o DBeaver e escreve.
- O outro flashcard te pergunta "qual comando é utilizado pra sair do Vim" abre o Vim e descubra 😅.
- Prática intercalada -> Varie os tópicos.
- Depois de trabalhar com Javascript durante uma hora, passe alguns minutos revise o seu deck sobre "Git".
- A questão é, o deck que você estuda deve ser diferente da sua atividade principal de estudo/trabalho. Isto vai te ajudar a se manter afiado com o material previamente aprendido.
Conclusão
Você pode estar pensando "que perda de tempo, se eu esquecer algo é só dar um google 😎"
Mas leve em consideração estes pontos...
- Espera-se que os programadores conheçam as próximas tendências e estejam atualizados em diversos tópicos.
- Os programadores são criaturas de hábitos. Faça da revisão de seus flashcards a sua primeira tarefa de trabalho. Pare de entrar toda hora no StackOverflow pra pesquisar "como é que eu altero o meu commit no git".
- Em vez de usar EverNote, Notion, etc., para tomar notas, guarde-a como um flashcard.
- Ser um bom programador requer lifelong learning.
Referências
- https://www.freecodecamp.org/news/use-spaced-repetition-with-anki-to-learn-to-code-faster-7c334d448c3c/
- https://sive.rs/srs
- http://www.jackkinsella.ie/articles/janki-method-refined
- https://ncase.me/remember/
- https://thepeakperformancecenter.com/educational-learning/learning/memory/classification-of-memory/memory-process/
- https://thepeakperformancecenter.com/educational-learning/learning/memory/forgetting/
- https://www.scotthyoung.com/blog/2019/02/15/memory/
Isto não é um tutorial. Eu simplesmente curto ciência do aprendizado e programação, então juntei um pouco dessas áreas em um post. É isto, bons estudos!!!