========================================================================== REVIEW OF THE DEVELOPMENT OF THE SUPER-MEMO METHOD AND SOFTWARE SuperMemo World, June 1, 1991 ========================================================================== CALENDAR OF MAJOR DEVELOPMENTS 1982 - Application of the recall principle 1984 - Application of the minimum information principle 1985 - Application of the optimum intervalization 1987 - First computer implementation: SM1 Introducing the concept of the e-factor 1988 - SM2 and SM3 1989 - SM4 - optimization based on the matrix of optimal interval SM5 - optimization based on the matrix of optimal factor 1991 - SM6 - optimization based on approximation of forgetting curves ========================================================================== SUPER-MEMO SOFTWARE VERSION 1.0 - Written in December 1987 CHANGES INTRODUCED TO VERSION 1.1 (Feb 88) 1. A comprehensive help file was added. 2. E-factors may not decrease below 1.3. 3. An improved formula for e-factor evaluation was introduced. 4. The OUTSTANDING value in the PROCESS INFORMATION was used to indicate, how many items is to be repeated while repeating items with answer quality lower than four. CHANGES TO VERSION 1.2 (Mar 88) 1. The TRANSFRM.COM (later .EXE) program was introduced. It converts any database into the intact, unused form. Thus one may use a database previously applied by somebody else. 2. Newly memorized items must give the answer quality not less than four otherwise they will be repeated until success. 3. If a factor for an item is equal to 1.3 then the quality lower than five decreases the new interval (without changing the factor). This solution was later given up. 4. When using the PRIORITY QUEUE option, Home increases the current queue position to make modifications easier. The PRIORITY QUEUE option was later dropped. ======================================================================== VERSION 2.0 (Jul 88) 1. The program was upgraded for Turbo Pascal 4.0 (previously TP 3.0). 2. The ITEM EDITOR was improved (commands such as End, Home, Ctrl-Y etc. were added). 3. Dates rather than day_numbers are used to inform a user about the process. 4. Screen attributes were changed to make some options more readable for Hercules Graphic Card users. CHANGES TO VERSION 2.1 (Jul 88) 1. The whole MENU structure was rebuilt and simplified. 2. Less important options were removed with shortening the source file by 6300 bytes. 3. Letters instead of numbers were introduced to select options. 4. SOUND OFF option was added. CHANGES TO VERSION 2.2 (Nov 88) 1. Help was corrected and compiled as a separate file. CHANGES TO VERSION 2.3 (Jan 89) 1. New, shorter and more effective COMPRESS procedure was written. 2. Option presenting the addresses of the author and distributors was added. CHANGES TO VERSION 2.4 (Sep 89) 1. A new, easy-to-use help of a new format was prepared. CHANGES TO VERSION 2.s (Jun 91) 1. Program was adapted for shareware distribution 2. Information about the SuperMemo World was added 3. The system of messages was simplified and corrected 4. The help file was shortened and corrected ========================================================================== VERSION 3.0 (Oct 88) 1. The whole program was written again from scratch applying the then popular standards of windows, push-down menus and other elements of user-friendly interface. 2. Databases can have their separate names. 3. Edition of items is possible during testing. 4. Random testing calculates avarage quality (this option was later given up). 5. Average burden change for a session is calculated. 6. Average quality for a session is calculated. 7. Date can be changed from within the program. 8. Temporary exit to DOS is possible (OS shell). 9. Priority queue option was not included. =========================================================================== VERSION 4.0 (Feb 89) 1. The optimization method was substantially improved. Not only e-factors are approximated, but also the function evalauating optimal intervals is modified on the base of experience to adjust to a given type of knowledge and user capabilities. 2. Optimal intervals (modified during process) can be displayed. 3. Statistical support for optimal intervals can be displayed. 4. Interval distribution can be displayed. 5. General burden defined as a sum of inverse intervals is calculated. CHANGES TO VERSION 4.1 (Mar 89) 1. Procedure searching for items containing a given substring is now written in assembly language and the search rushes 1000 items per second (on a RAM-disk or hard disk). CHANGES TO VERSION 4.2 (Mar 89) 1. Continuous optimization was introduced. In versions 4.0 and 4.1 all items having factors from the same class (e.g. 1.4, 1.432, 1.499) were subject to the same optimization procedure. Now, each of them has its own set of optimal intervals. CHANGES TO VERSION 4.3 (Sep 89) 1. A new extensive help was written. 2. Directory system was extended to include separate paths for databases, parameters, help and COMMAND.COM. 3. The source code was optimized to make the program smaller, faster and easier to modify. ========================================================================= VERSION 5.0 (Oct 89) 1. A new, advanced optimization technique was applied, based on calculation of optimal factors rather than optimal intervals. 2. Optimal factors can be displayed. 3. Optimal intervals can be approximated and displayed. 4. Information about the last repetition date for items is stored in the database as well as the last used interval factor. CHANGES TO VERSION 5.1 (Mar 90) 1. Option for printing items in the browsing mode was added. 2. Few recovery mechanisms were implemented in the compression procedure, allowing to correct minor database damages. CHANGES TO VERSION 5.2 (Mar 90) 1. Optimal factors can be greater than 6. 2. New function for modifying factors on the base of quality was constructed (consistent with that which modifies optimal factors). Thus quality equal to four does not change the factor. 3. Closing the database before going to DOS is automatic. CHANGES TO VERSION 5.3 (Mar 90) 1. The reset operation was added in the browsing mode. 2. The date of the next repetition is displayed in the item window. 3. The Select option from the Miscellaneous menu selects the last item used rather than the item of the requested number. 4. Inputing qualities in the random test is no longer necessary. CHANGES TO VERSION 5.4 (Jul 90) 1. Full propagation of changes in the OF matrix was implemented to speed up the optimization procedure. 2. Qualities 0, 1 and 2 were assumed to have the same impact on the optimization. CHANGES TO VERSION 5.5 (Jul 91) 1. Improved procedures for window management, string editing, item editing etc. 2. Increased database fault tolerance 3. Introducing mechanisms for preventing piracy (e.g. passwords, database marking, registration number etc.) ======================================================================= VERSION 6.0 (May 91) 1. The whole program was written anew from scratch. 2. New optimization technique was applied that is based on sketching forgetting curves for particular difficulty categories and reptition numbers. The whole history of repetitions is stored in the database. 3. Programmable forgetting index. 4. Simplified structure of the database was introduced (4 instead of 6 files) with the INF file stored in the compressed form (reducing the size by 80%) 5. Fast daily burden with the posssibility of editing items scheduled for a given day. 6. Monthly and annual burden. 7. New process parameters: - Average repetition, lapses, interval, factor - Requested and measured forgetting index - Retention approximation - Mean repetition time - Workload 8. Fast option reaching with Alt. 9. Simplified and economized menu structure. 10. Smoothing of the matrix of optimal intervals by means of hill-climbing approximation. 11. Random-hit, real-time smoothing scheme. 12. Extended fault tolerance mechanisms. 13. Protection against using unclosed databases. 14. Extending the Editor by such commands as Paste, Cut, Delete Word, Delete-EOL, Copy Block, Move Block, Delete Block, Word Right/Left, Replace String, Swap Lines etc. 15. The Find option extended by Replace. 16. New file selection option with separate panes for changing the drive, path and template. 17. Option Copy Item added in Browsing Mode. 18. The file storing items to be repeated again on a given day is not deleted upon the closure of the database (unless empty). 19. New, context-sensitive help 20. UK/US date format as a parameter 21. Option for editing directory paths 22. Option for turning the color on and off 23. Single stage compression. No regular garbage-collection required 24. Extension of Optimal factor and Optimal interval option for factors higher than 2.5. 25. Separate option for closing databases. 26. Mechanisms for preventing piracy (e.g. passwords, database marking, registration number etc.) ========================================================================= SUPER-MEMO WORLD Os Przyjazni 15-165 61-688 Poznan POLAND tel (48) 61 203157