SuperMemo CE - Software Description

Copyright (c) 2000 TSS All Rights Reserved
e-mail: office@tss.com.pl http://www.tss.com.pl/smce


What can SuperMemo be used for?

SuperMemo may be used to learn languages, sciences, medicine, etc. The learned knowledge must be represented in the question-answer form. SuperMemo minimizes time necessary for learning, allows you to learn with speed that almost does not change with the size of the learned material and nearly eliminates the problem of forgetting. When compared with traditional methods, SuperMemo accelerates the process of learning 10-50 times by means of spaced repetition.

The most important things to know:

We believe that SuperMemo can change your life (esp. if you are a person with strong self-improvement inclinations).

SuperMemo CE

SuperMemo CE works fine on both Handheld PC (with keyboard) and Pocket PC (without keyboard). The program allow importing databases from PCs, so you can prepare your own database on your PC (e.g. in SuperMemo for Windows) and then transfer it to H/PC. The keyboard is not needed in learning process, it is used only to edit or create new databases directly on H/PC. Apart from being compact and cheap, SuperMemo CE is also very simple!
You can download a trial version of SuperMemo CE and freeware databases for SuperMemo CE.

Introduction

Congratulations! You have become an owner of software that, in our most sincere conviction, has the potential to change your life beyond recognition. This change may be brought forth by a huge increase in your knowledge pertaining to whatever domain you choose.

In order to learn fast, and first of all, not to forget what you have already learned, you must make repetitions of knowledge. It was proved by scientists working in the field of psychophysiology that everything that we learn, unless repeated in any form, will sooner or later be forgotten.

SuperMemo method of time-optimized learning makes use of the fact that the key to effective learning is in proper timing of repetitions. What we want to achieve in optimization of learning is the maximum effect with as few repetitions as possible. The SuperMemo method, which is the subject of this guide, is based on finding the optimum spacing of repetitions, and thus reducing learning time to the absolute minimum.

Learn proceeds in three stages:

Here is the best algorithm for using SuperMemo (tried successfully by thousands of users in several dozen countries of the world):

  1. Choose the daily working time from 5 to 45 minutes. Unless you are an experienced SuperMemo user, do not choose the working time longer than 45 minutes!
  2. In the course of your ordinary daily activities collect items that you want to remember (facts, figures, rules, vocabulary, names, phones, etc.). For examples, see sample databases.
  3. If To repeat in your database(s) is different from zero, repeat outstanding items until To repeat equals zero (use Learn).
  4. If you have got some time left for work with SuperMemo, and if Pending in your database(s) is different from zero, memorize new items until Pending equals zero or until your time is out (whichever comes first).
  5. If you have got some time left for work with SuperMemo, add new items collected in Step 2 (use Add new). If your time is limited, select only the most important items. Keep unused items for later use. Continue appending new items until your time is out.

Summary

The key to effective learning is in minimizing the number of repetitions necessary to retain knowledge in your memory. SuperMemo minimizes time needed for learning by approximating optimal intervals that should separate individual repetitions. Knowledge memorized with SuperMemo must be split into smallest possible pieces called items. Using SuperMemo, you must not forget that the quality of learning will depend on the selection of the material and the way it is split into individual items.


SuperMemo CE Help

SMemoCE screen
SMemoCE basics
Your first collection
Menu
Toolbar
Conversion tables
Collection files


The remainder of the screen is divided into five parts:

  1. Question field, which displays the current question (this field can be used to edit the question).
  2. Answer field, which displays the current answer (this field is blank at times when the learner is supposed to recall the answer during a repetition cycle).
  3. Statistics field, which contains the following data:
  4. Item statistics field with item parameters which characterize the currently displayed item:
  5. Below the Answer window there is some place for miscellaneous button sets (Quick buttons). When there is no collection opened, there are up to three buttons with recent collection names. So you can quickly open a recently used collection.

SuperMemo CE basics

The main function of SuperMemo is to supervise the process of learning pairs of questions and answers. Such pairs are later called items. Collections of items are stored in computer files and are called collections. In order to work with a SuperMemo CE collection you must first open it with File : Open. After you do it, you can see some of the items of your collection using the option Learn. Choose Learn and respond with Yes  to Do you want to memorize new items?  Look at the question field. The first question of the currently used collection should appear there. Try to answer the question. Now, the computer expects you to input the quality of your answer expressed in a 0-5 grade point scale. Press any number key in the range from 0 to 5, or tap one of the grade buttons located just below question and answer fields.

The grade point scale is:

You should remember that:

Your work with SuperMemo will consist in such simple repetitions as described above, i.e. attempts to answer questions stored in the collection. You can learn the material stored in commercial or shareware collections, or you can create your own collections that will suit exactly your needs. See the next paragraph for more details on creating a customized collection. To quit repetitions now, choose Cancel learning. To save the currently open collection choose File : Close

Your first collection

To create your own collection with items concerning exactly the sort of knowledge you want to learn follow the steps presented below:

  1. Run SuperMemo
  2. Choose the option New on the File menu (e.g. by pressing Ctrl+N)
  3. Input the name of your collection

This way, your first collection has been created, i.e. all its disk files have been filled up with all necessary data.

Switch SuperMemo CE to editing mode by clicking the button Edit. At this moment, your collection is ready to accept its first item (a question-answer par).

To add new items to the collection, choose the menu option Item : Add new  (e.g. by pressing Ctrl+A). The cursor will appear in the question field. This indicates that the computer is ready to accept a new item. You can write your first question now. Having finished, press Esc or just click the answer field. Now, the cursor has moved to the answer field, and you may type in the answer. You may press Esc when you have finished. At this moment, your first item has been stored in your collection files. You can input more items to have some learning material for later use. To save the currently open collection choose File : Close

Menu

On the File menu there are options used in manipulating whole collections such as: New..., Open... and Close. The function Reset... clears collection's learning process (after Reset  a collection looks like new; like nobody has learned with it).

There are also functions useful for importing and exporting collections. To import files to SuperMemo CE you can use File : Import/Export : Import Q&A...  function (enable only if not any database is opened).

SuperMemo CE accepts only raw *.txt files. So if you want to convert *.txt files containing native characters (e.g. Russian, Czech, etc.) you will have to use the option called Convert tables (see below). Convert tables simply replaces some characters (native characters) to corresponding Unicode codes.

When collection is opened you can quickly switch between the editing and learning modes using the Mode menu. You can also do this by using Quick buttons.

Most of options from the Item menu are active only in the editing mode. There you can Add new item, Delete item, swap the question with answer (Exg Q-A). You can change the item's status (Forget, Remember, or Dismiss). There are also options Find... and Go to... to locate items in a collection.

In Misc menu, there is an option called Fonts... It opens a window where you can choose a font for Question & Answer field. Second option Calendar.... opens a window which shows all days of the current month. Each day shows you numbers which tell you how many repetition are queued for a given day. Third option Information... shows some other statistics related to the current collection.

Toolbar

Toolbar contains nine buttons. These are: New collection, Open collection, Learn mode, Edit mode, Add new item, Forget item, Remember item, Dismiss item and Calendar. They work exactly as menu functions with the same names.

Conversion tables

Convert tables replace some characters (native characters) with the corresponding Unicode codes while importing and exporting collections. To use convert table, load it (File : Convert table : Load...) and then import your collection (File : Import-Export : Import Q&A...).

To create new convert table choose File : Convert table : Edit.... A new window will open. It shows the currently used conversions. To add a new conversion choose Add... and type the ASCII code of the character to convert (in hexadecimals). Then type the Unicode number (also in hexadecimals) or type the equivalent letter. When you choose Ok  you will see that your conversion is now visible in the Convert table window. Now you can Add... a new conversion, Edit... an existing one or Delete... a conversion.

Conversion tables can be stored in *.scv files (functions Load..., Save... in File : Convert table menu).

To turn the convert table feature off simply clear it (File : Convert table : Clear...).

Q&A file format

The Q&A file is a plain text file, which can be created in any text editor. Each item is defined with question body and answer body. Every question or answer can be defined on several lines. Each line begins with a tag (three character long). Question begins with "Q: ", answer with "A: ". Items are separated with one empty line. Here is an example file with three items:

Q: a wound
A: - n. damage to a part of your body, esp a cut
A: or a hole in your flesh

Q: to be bouncy
Q: (about a person or animals)
A: - adj. has a lot of energy and is very
A: enthusiastic

Q: a mop
Q:
Q: (a tool)
A: - n. a tool for washing floors which has a
A: sponge, many pieces of string or a cloth
A: attached to a handle

It is very important, that every tag consists of three caracters: letter, colon and SPACE. Q&A file MUST be in DOS format (each line ends with two characters: carrier return and line feed). If you have Q&A file written in other platform you have to convert it to DOS format first. The size of Q&A file is not limited however the length of question or answer text cannot exceed 250 characters.

This function is useful to exchange items from SuperMemo working on other platforms like DOS, UNIX, WINDOWS (desktop) etc. Note that you can simply add or modify items directly on your Pocket PC using SuperMemo CE.

Collection files

SuperMemo CE stores its collection in two files: *.sdb and *.sbi.
File *.sdb contains the main collection body such as question and answer texts (in compressed Unicode).

File *.sbi contains indexes to this collection and other miscellaneous information (learning process). If the *.sbi file is missing, SuperMemo CE will automatically create it. Thus File : Reset... simply works by deleting the current *.sbi file.

The sdb file format

Here is a short description of *.sdb file. Second file (*.sbi) is generated automaticly with SMCE. Therefore when *.sdb has changed, it is enough to remove *.sbi file. It will be automaticly rebuilt by SMCE.

A *.sdb file consists of records (items). Each record begins with this structure:

struct SDB_Record     // Take care with ALIGN for LONG & WORD!!!
{
WORD sQuestionSize, sAnswerSize;
WORD sInterval, sLastRep;
WORD sFactor, sNumber, sPad1;
BYTE cStatus, cRep, cLapses;
BYTE cPad2;
};

These are defaults for new items:

#define STATUS_UNTOUCHED    0x00

dbitem.sInterval = 0;
dbitem.sLastRep = 0;
dbitem.sFactor = 2500;
dbitem.sNumber = number_of_record_in_file;
dbitem.sPad1 = 0;
dbitem.cStatus = STATUS_UNTOUCHED;
dbitem.cRep = 0;
dbitem.cLapses = 0;
dbitem.cPad2 = 0;

This structure is followed with question and answer strings. Make sure to fill dbitem.sQuestionSize and dbitem.sAnswerSize with apriopriate lengths. Size of whole record is rounded to even (if lenght is odd it will be increased by 1).

Question and answer strings are compressed UNICODE strings. Normally each UNICODE character is represented by 2 bytes. To spare some space each character is coded as shown below.

If value of character is lower than 128 (all English characters) then this character will be stored as one byte with MSB (most significant bit) set. UNICODE value of this character is computed as follows:

(TCHAR)(byte & 0x7f)

If character is a national character with value greater than 127 it will be stored as two bytes. First byte has MSB cleared. UNICODE value of this character is:

(TCHAR)((byte1 << 8) | byte2)