6 ms·
classics: Sivers: "Memorizing a programming language using spaced repetition software" ( 2013) https://sivers.org/srs https://sivers.org/srs ( HN: https://new
by pella 11y ago
classics:
Sivers: "Memorizing a programming language using spaced repetition software" ( 2013)
https://sivers.org/srs https://sivers.org/srs ( HN: https://news.ycombinator.com/item?id=5015183 https://news.ycombinator.com/item?id=5015183 )
---
Janki Method: Using spaced repetition systems to learn and retain technical knowledge.
http://www.jackkinsella.ie/2011/12/05/janki-method.html http://www.jackkinsella.ie/2011/12/05/janki-method.html
https://www.oxbridgenotes.com/articles/janki_method_refined https://www.oxbridgenotes.com/articles/janki_method_refined
---
Gwern: SPACED REPETITION : http://www.gwern.net/Spaced%20repetition http://www.gwern.net/Spaced%20repetition
- pcote 11y agoAt the last programming job I was fired from, I was deemed to be a slow and all around poor performer. About a year ago, I started doing my own version of Jack Kinsella's Janki method. As a result, I've leveled up to what some call a "full stack" web engineer. SRS is a fun way to learn or else I wouldn't have kept at it so long. I would even go as far as saying it's made my personal projects a little bit easier for me to execute on. However..... What I don't know is how applicable this is in the "real world". SRS systems don't translate well in the "Learn-in-5-days-or-die" approaches to IT training. As for benefits for work-related development and maintenance, I don't have a clue one way or the other.
- asimilator 11y agoI'm surprised that memory or memorization would be the key (for some people? for yourself?) to learn a programming language. I've studied a number of different subjects in my life, from foreign languages to computer science to math, etc. I clearly see the benefit of SRS and necessity of memorization in foreign languages (vocab is so critical, and there's really no way to avoid straight memorization of it), but I don't see how you could effectively encode your knowledge of a programming language on to flash cards. And I'm not sure why you'd want to when you can easily look up things in the documentation or on Stackoverflow.
- ajays 11y agoTry that in an interview. Unfortunately, too many interviewers rely on one's ability to memorize obscure tricks to cute programming puzzles.
- chousuke 11y agoMemorization is definitely useful for programmers. It means you will spend less time browsing API documentation looking up existing functions applicable to your particular problem. If you program a lot in a particular language or API, a little bit of rote memorization saves a lot of time in the long run.
- reagency 11y agoBut if you just hit the docs as needed, you will automatically be doing spaced repitition on anything that isn't a one-off need.
- mrob 11y agoSpaced repetition relies on reviewing items before you forget them, and works best with active recall, not simply reading answers. Reading the docs whenever you forget is much less effective.
- dandrews 11y ago"...I don't see how you could effectively encode your knowledge of a programming language on to flash cards." I've occasionally wondered if an Anki deck composed of Clojure idioms would be valuable. It would be dependent on paredit conventions, teaching "shapes" along with symbols.
- dyadic 11y agoI have a Clojure Anki deck of function-name -> the output of (doc function). The reason I started it was because I just kept forgetting the names of functions. I'd know exactly what I wanted the code to do, but then I would find myself not remembering the which word to invoke to do it. The flash cards have helped a lot there. I'm not sure how you would fit an idiom into a flash card, but try it out and see how it goes.