## Notes I would love to combine coding with [[Spaced Repetition]]. The idea is that this will help me learn/maintain my knowledge on key topics focused on software development. ## Brainstorm Based on [[Reflect on EPAM Interview]] and [[Java Flashcards from Interview Feedback]], it looks like there are two types of Cards: - Knowledge-based - Code examples ### Spaced Repetition It's a memorization/recall technique where the user is forced to recall something while the brain is forgetting it. Attempting to recall this information helps the brain improve future recall by thickening the myelin sheath for relevant axons. There are a variety of algorithms for Spaced Repetition. ## Features - [[Spaced Code Repetition Feature - Config File]] - [[Spaced Code Repetition Feature - Get Next Flashcard]] ## User Experience Discussion about the "contract" of how the user will interact with the extension. ### Use Flashcard I think for the sake of simplicity, this extension should have only one command. That one command should 1. Parse files 2. If there are any to present to the user, present it 3. Otherwise print out "all done for the day" or something like that ### Create Knowledge Card A `Knowledge Card` is a flashcard where a the user must answer the question using human-friendly language. It is a card that does not require any coding. ### Create Coding Card A `Coding Card` is a flashcard that prompts the user to write code to demonstrate they know certain knowledge. ## Cards The base cards need to have the following info: - Question - Answer - System-only data for use with the algorithm This is similar to the [Obsidian Spaced Repetition Plugin - GitHub](https://github.com/st3v3nmw/obsidian-spaced-repetition) ## Workflow When a user fetches a card, do the following 1. Parse cards for cards due today based on algorithm 2. If there are no cards, display message 3. Else 1. Check and see if today's folder is created 1. If not created, create it 2. Create file in today's folder with question 3. User fills out question ## Development - [[2025-11-26 Spaced Code Repetition]] - [[2025-11-25 Spaced Code Repetition]] - [[2025-11-21 Spaced Code Repetition]] - [[2025-11-20 Spaced Code Repetition]] - [[2025-11-19 Spaced Code Repetition]] - [[2025-11-18 Spaced Code Repetition]] - [[2025-11-11 Spaced Code Repetition]] - [[2025-11-06 Spaced Code Repetition]] ## References - [[Tech Ideas MOC]] - [Filesystem Consumer Examples - GitHub - VSCode Extension](https://github.com/microsoft/vscode-extension-samples/blob/main/fsconsumer-sample/src/extension.ts) - [[How to Code a VSCode Extension]]