supermemo | TypeScript implementation of the SuperMemo | Game Engine library
kandi X-RAY | supermemo Summary
kandi X-RAY | supermemo Summary
A JavaScript/TypeScript implementation of the SuperMemo 2 (SM2) algorithm for spaced based repetition flashcards. Hit the Star button if you love this project ️.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of supermemo
supermemo Key Features
supermemo Examples and Code Snippets
Community Discussions
Trending Discussions on supermemo
QUESTION
In order to make a vocabulary practice app in Android, I want to implement the SuperMemo (SM-2) algorithm in Java. This is a popular choice for spaced repetition software and Anki even adopts it as I understand. The source code example given here was difficult (for me) to follow because of the lack of code formatting and because it is written in Delphi.
The author of SuperMemo states:
- Split the knowledge into smallest possible items.
- With all items associate an E-Factor equal to 2.5.
- Repeat items using the following intervals: I(1):=1
I(2):=6
for n>2: I(n):=I(n-1)*EF
where:
I(n) - inter-repetition interval after the n-th repetition (in days),
EF - E-Factor of a given item
If interval is a fraction, round it up to the nearest integer.- After each repetition assess the quality of repetition response in 0-5 grade scale: 5 - perfect response
4 - correct response after a hesitation
3 - correct response recalled with serious difficulty
2 - incorrect response; where the correct one seemed easy to recall
1 - incorrect response; the correct one remembered
0 - complete blackout.- After each repetition modify the E-Factor of the recently repeated item according to the formula:
EF':=EF+(0.1-(5-q)*(0.08+(5-q)*0.02))
where:
EF' - new value of the E-Factor,
EF - old value of the E-Factor,
q - quality of the response in the 0-5 grade scale.
If EF is less than 1.3 then let EF be 1.3.- If the quality response was lower than 3 then start repetitions for the item from the beginning without changing the E-Factor (i.e. use intervals I(1), I(2) etc. as if the item was memorized anew).
- After each repetition session of a given day repeat again all items that scored below four in the quality assessment. Continue the repetitions until all of these items score at least four.
Here are some related (but different) questions on Stack Overflow:
- What is the spaced repetition algorithm to generate the day intervals?
- Open Source implementation of a Spaced Repetition Algorithm in Java
- Spaced repetition (SRS) for learning
How do you implement this in Java?
(I've been working on this recently and I think I have an answer, so I am submitting this as a Q&A pair to help other people doing the same thing.)
...ANSWER
Answered 2019-Dec-14 at 17:20Here are some terms that we will deal with when impementing the SuperMemo (SM-2) algorithm of spaced repetition.
- repetitions - this is the number of times a user sees a flashcard.
0
means they haven't studied it yet,1
means it is their first time, and so on. It is also referred to asn
in some of the documentation. - quality - also known as quality of assessment. This is how difficult (as defined by the user) a flashcard is. The scale is from
0
to5
. - easiness - this is also referred to as the easiness factor or EFactor or EF. It is multiplier used to increase the "space" in spaced repetition. The range is from
1.3
to2.5
. - interval - this is the length of time (in days) between repetitions. It is the "space" of spaced repetition.
- nextPractice - This is the date/time of when the flashcard comes due to review again.
QUESTION
I'm having a problem with WKWebView on iOS. After taping element appears ActionSheet with three options: Photo Library, iCloud, Cancel.
Then, when I tapped Photo Library, ActionSheet disappears, and WebView prevent to open ActionSheet once again. I'm stuck, with uploading photos via WebView.
I've added permissions in info.plist file (Privacy - Photo Library Usage Description). Here is how I create WebView
...ANSWER
Answered 2017-Jul-10 at 14:01I finally solve it. I had to implement UIViewController method:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install supermemo
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page