Programmable SuperMemo

Programmable SuperMemo makes it possible to use all imaginable forms of knowledge representation and repetitions procedures in the process of learning. This makes it possible to use SuperMemo in procedural learning that includes motor tasks such as touch typing, playing musical instruments, driver”s training, motor rehabilitation, etc. Programmable SuperMemo also widens the application of SuperMemo in guided problem solving that includes: all sorts of mathematical and algorithmic skills, intelligence tests, creativity tests, etc. The only limitation to the applicability of Programmable SuperMemo in any form of learning is the database author”s imagination.

A programmed database must include a Windows compatible dynamic link library that implements the minimum set of the rehearsal procedures that will later be used by SuperMemo in the process of spacing repetitions. This means that the database author(s) must have the ability to write DLL modules in a programming language of choice.

In the simplest case, the database author will implement only the repetition procedure whose only obligatory output is the response grade. For example, to develop a database for learning musical notation, the author will have to implement a procedure that would test the student on his or her ability to write down MIDI tunes in a selected notation. This procedure placed in an appropriate DLL file will make Programmable SuperMemo supervise the entire learning process in a standard way, while the author”s procedure would be responsible only for the act of repetition. The entire SuperMemo shell will retain its standard functions.

See also: Using programmed databases and Principles of Programmable SuperMemo
All programmers who wish to write programmed database will obtain full and free support from SuperMemo World with respect to the programmed database specification, possible implementation problems, as well as possible extensions to the presented release in cases where specific service for a particular database is needed. It is also possible to enroll in a beta-testing program on the development of new components of the present model.