victorlf
Joined 12 years ago
Joined 12 years ago
The hard thing is building the deck. With pre-built decks I expect to greatly reduce the effort required while getting most of the benefits of spaced repetition learning.
I think a sense of community can help provide this motivation (like a group of people all learning at the same time), but it's still tricky.
I've been using it recently to remember recipes and cooking facts, such as the time it takes to boil X vegetable, or the ingredients for some dish.
Apart from language learning and medicine, there's a lack of pre-built decks that you can use to learn topics. I'm building Python.cards [3] to apply spaced repetition to learn Python with pre-built decks, daily reminders, etc. to make it the most convenient.
[1] https://www.thediligentdeveloper.com/spaced-repetition-reall...
[2] https://www.esquire.com/es/tecnologia/a36913467/pasapalabra-...
I'd love to know if you find it useful or miss something.
I'd love to know if you find it useful or miss something.
I recommend this interview with Duolingo's founder Luis von Ahn: https://www.npr.org/2020/05/22/860884062/recaptcha-and-duoli...
Anyway, I can sign you up manually if you wish.
I believe the hardest part of using spaced repetition to learn programming is creating good decks, it's a ton of work.
About open sourcing the web app, I might do it. It's a Django app, and I've published some videos while coding it (https://www.youtube.com/channel/UCyWUj9r0soytotuuh2JnPrw), so it's no secret.
Just a few days ago, I published a Python implementation of the classic SM-2 algorithm that I use for https://python.cards, but I may switch to FSRS. https://github.com/vlopezferrando/simple-spaced-repetition
I don't suggest you should learn Python _only_ with python.cards. I assume every python.cards user will be doing some online course, or working with Python, and my decks will just boost their knowledge of the language.
I think a lot of people program in Python but programming in Python is not their main occupation. These people struggle to accumulate knowledge, because they may encounter concepts or APIs only from time to time, and by that time they already forgot.
Also, I want to cover some "unorthodox" topics for which spaced repetition may be specially well suited. For example, I'm building a deck called "A tour of the standard library", where you can learn all the modules that are available, just so you know what is out there, without going deep into it.
Another idea is to have decks to learn all the built-in exceptions by heart, or the nomenclature. I think this helps build a mental model of the width and depth of the language so you can better integrate all the knowledge you find while coding, searching online, or reading code.