Early versions of SuperMemo (1987-1989)

SuperMemo 1.0 (December 1987)

SuperMemo 1.0 was a simple question-and-answer program with options for adding new items and memorizing them in the same sequence as they were added to the database:

  1. First software implementation (Turbo Pascal 3.0 for DOS)
  2. Applying the optimization algorithm to individual items grouped by E-Factor difficulty category (SuperMemo on paper would group items in pages)


SuperMemo 2.0 (July 1988)

SuperMemo 2.0 had the look of SuperMemo 1.0 and added some new options without changing the optimization method. The program was recompiled with Turbo Pascal 4.0. In June 1991, SuperMemo 2 was released as public domain software and circled the globe over the academic Internet. You could still run this program in Windows two decades later. The entire file is just 59 KB


SuperMemo 3.0 (October 1988)

The whole program was written again from scratch to apply the then popular DOS standards of windows, pull-down menus, and other elements of user-friendly interface.

Most interesting enhancements:

  1. Databases were given separate names (previously, each database, made up of 6 files, had to be kept in a separate directory)
  2. Item editor could be activated during repetitions (earlier, learning had to be interrupted to edit items)
  3. Burden parameter became a popular indicator of student's progress
  4. An option for changing the system date was helpful in managing the learning process (esp. that early PCs might often lose the date)

SuperMemo 4.0 (February 1989)

SuperMemo 4.0 was only a minor improvement over SuperMemo 3.0 in terms of its functionality, but it has, for the first time, used a variable function of optimal intervals that would adapt to the student's performance:

  1. Improved optimization method: function of optimal intervals modified to adjust it to the student profile and to given learning material
  2. Option for displaying optimal intervals
  3. Option for displaying the number of repetition cases used in computing optimal intervals
  4. Option for displaying distribution of intervals in the database
  5. Fast search written in assembly language (1000 items per second on an 8086 computer with a RAM-disk)

SuperMemo 5.0 (October 1989)

1989 has seen two turning points in the development of the SuperMemo method. The old repetition spacing algorithm from the earliest versions of SuperMemo gave way to the function of optimal intervals based on the matrix of optimal intervals (SuperMemo 4.0) that was promptly replaced with the matrix of optimal factors (SuperMemo 5.0). In terms of functionality, SuperMemo 5.0 did not go far beyond SuperMemo 3.0 developed just a year earlier. However, its new approach to computing the optimum repetition spacing has provided a foundation for Algorithm SM-6 (1991) and yet sturdier Algorithm SM-8 (1995).
In March 1993, SuperMemo 5 has entered public domain and has since gained substantial popularity among freeware users around the globe. New features of SuperMemo 5:

  1. Advanced optimization technique based on computing optimal factors rather than optimal intervals
  2. Option for displaying optimal factors
  3. Option for displaying the approximate values of optimal intervals
  4. Option for printing items
  5. Option for resetting memorized items (i.e. removing them from the learning process)
  6. Date of the next repetition displayed in the item window