Spaced repitition within the freeCodeCamp platform would be really sweet

I know this would mean a lot of work, that I myself am not even skilled enough to do, but I will say it anyhow: a form of spaced repitition built into the freeCodeCamp platform would be really sweet.

e.g. on khan academy you work through 4 proficiency levels:
practiced > level one > level two > mastered

I don’t know. I just feel that I should do the exercises a couple of times and when the platform design suggest that is normal, and I am not indeed remarkable below average intelligence, I feel better. Mhhhh sugarcoat :drooling_face:

“I’m not the smartest kid in the world. Instead of having somebody say ‘Oh no David, you’re smart, don’t say that to yourself!’, I said to myself ‘No, you’re a dumb #§@*! Ok, roger that. So, how do I get smarter? Educate yourself.” – David Goggins

as you are there, notice that not even Khan Academy has done that for their Computer Programming curriculum…

instead they too try to explain the basic concepts and then present the documentation for extra research

maybe check out their computer programming curriculum?

1 Like

I thought about something similar ages ago, but instead settled on the idea that the value of learning to code isn’t in memorising syntax, but in building projects.

IMO it’s better to get a passing familiarity with the syntax in the challenges, but accept that the real learning takes place in the projects.

2 Likes

I’ve heard people recommending (Spaced Repetition Software or System) SRS to learn programming but from what I can gather, it is most useful if you are trying to recall conceptual type of information rather than skill.

Syntax is not a good candidate since we naturally repeat them to ourselves every time we code. When we don’t remember, it’s a great way to practice searching the internet for answers/solutions/docs, so that we can learn how and where to seek the information we need. Deliberate practice might be a better alternative than SRS.

But for concepts, say something like how scope and closure work in Javascript (note: You Don’t Know JS), might work well with spaced repetition. Though it’s effective only if we complement the unit of knowledge we want to memorise with our understanding of those units as a whole; the Feynman Technique or Rubber Duck Debugging are helpful for the understanding process.

With that all said, maybe some form of repetition system might work in FreeCodeCamp if the practices are varied and can scale depending on the student.

Those are my current thoughts at least.

1 Like

Hey guys,
Thanks for taking the time to comment on this. Interesting to read your thoughts.

I actually did their html/css exercises, but I posted their math interface - in particular their ‘world of math challenge’ - because I thought it is better.

True, but that is not what I meant. I wouldn’t suggest to simply memorzing syntax, but after a while repeating the harder exercises. Say, it took me a bit to grasp to solve Write Higher Order Arrow Functions, it wouldn’t hurt to do that exercise again after a week… and an algorithm that keeps track of what I struggled with and optimizes what I should repeat in order to save time… I would like that. But I am proposing that other people put a lot of effort in my dreams for free … :sweat_smile: So I guess the best way forward is dig into the learning techniques suggested by @wanzulfikri (Thank you!) and work on my own lo-fi learning technique.

2 Likes

I guess in visual terms, what I had in mind was something like this …

image

(maybe the “repitition” in “spaced repitition” would be enough :thinking: anyhoo, movin on)

1 Like

Glad that my suggestions helped :smiley:

I used to be zealous with spaced repetition but the more I learn, the more I realise that it’s a tool that fits certain situations and can’t be applied to everything.

it wouldn’t hurt to do that exercise again after a week… and an algorithm that keeps track of what I struggled with and optimizes what I should repeat in order to save time…

If you want a semi-automated method to do this, try something like the Question Book Method plus Anki. I used this method mainly for learning Japanese but it might work for programming.

Steps

  1. List down exercises that you have difficulty with in a table. (Example: here’s my practice notes for Japanese).
  2. Put each question into Anki.
  3. Modify the starting interval to 7 days or any number you want. If you set it 7 days, Anki will tell you to review the question next week.
  4. When the review time is up, answer the question again and note how difficult it is on a scale. My scale is 0 to 3: 0 means it is difficult and I can’t answer at all, while 3 is too easy. Anki will handle when to review next.
  5. Repeat.

The above are the rough steps but the main idea is there.

Normally, if I rate a question to be 3 (too easy), I’ll just delete the question because I’m certain that I understood how to answer it.

1 Like

ah, that’s quite a genius idea. thanks. i have actually used anki for vocabulary and test preparation before. (also reading ultralearning at the moment :joy:)

1 Like

Thanks.

Haha I got the idea from Scott but modified it a bit.

Works like a charm. When creating a card, I copied the exercise name from the curriculum overview into the Anki web version and it also adds the link to the exercise to the card automatically. (in the desktop app you have to add the link separatly)

image
image

1 Like

Looks great :smiley:

Best of luck with learning.