Developer(s) | Mykhaylo Kopytonenko |
---|---|
Stable release | 1.5.0 / June 28, 2018 |
Written in | C++ and Qt |
Operating system | Windows, Linux |
Platform | Cross-Platform |
Size | Windows: 7.99 MB, Ubuntu: 392 KB |
Available in | English, French, German, Russian, Spanish + 3 others |
Type | Flashcard, Spaced repetition |
License | GPL 3 |
Website | fresh-memory |
Fresh Memory is a spaced repetition flashcard application, similar to SuperMemo.
The study algorithm is based on the SM2 algorithm, created for SuperMemo in the late 1980s. [1]
The presented cards may include text and images. The cards are stored in an XML-based format, called dictionary files. [2]
The cards may have multiple "sides", called fields. The user defines what fields and in which order are used in the cards. The application automatically generates cards for different directions, e.g. from English language to French and in reversed order.
The primary purpose of the application is to learn and repeat foreign words. But other areas can be studied as well, for example, country's capitals, flags, mathematical formulas, etc. The study material is stored as collections of flashcards. The application has two studying modes: classic random browsing of flashcards and Spaced repetition. [3]
Fresh Memory is released as a free open-source software under GPL 3 license with full functionality.
Computer programming is the process of performing particular computations, usually by designing and building executable computer programs. Programming involves tasks such as analysis, generating algorithms, profiling algorithms' accuracy and resource consumption, and the implementation of algorithms. The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit. The purpose of programming is to find a sequence of instructions that will automate the performance of a task on a computer, often for solving a given problem. Proficient programming thus usually requires expertise in several different subjects, including knowledge of the application domain, specialized algorithms, and formal logic.
Incremental reading is a software-assisted method for learning and retaining information from reading, which involves the creation of flashcards out of electronic articles. "Incremental reading" means "reading in portions". Instead of a linear reading of articles one at a time, the method works by keeping a large list of electronic articles or books and reading parts of several articles in each session. The user prioritizes articles in the reading list. During reading, key points of articles are broken up into flashcards, which are then learned and reviewed over an extended period with the help of a spaced repetition algorithm.
Spaced repetition is an evidence-based learning technique that is usually performed with flashcards. Newly introduced and more difficult flashcards are shown more frequently, while older and less difficult flashcards are shown less frequently in order to exploit the psychological spacing effect. The use of spaced repetition has been proven to increase the rate of learning.
SuperMemo is a learning method and software package developed by SuperMemo World and SuperMemo R&D with Piotr Woźniak in Poland from 1985 to the present. It is based on research into long-term memory, and is a practical application of the spaced repetition learning method that has been proposed for efficient instruction by a number of psychologists as early as in the 1930s.
In computer science, an abstract machine is a theoretical model that allows for a detailed and precise analysis of how a computer system functions. It is similar to a mathematical function in that it receives inputs and produces outputs based on predefined rules. Abstract machines vary from literal machines in that they are expected to perform correctly and independently of hardware. Abstract machines are "machines" because they allow step-by-step execution of programmes; they are "abstract" because they ignore many aspects of actual (hardware) machines. A typical abstract machine consists of a definition in terms of input, output, and the set of allowable operations used to turn the former into the latter. They can be used for purely theoretical reasons as well as models for real-world computer systems. In the theory of computation, abstract machines are often used in thought experiments regarding computability or to analyse the complexity of algorithms. This use of abstract machines is fundamental to the field of computational complexity theory, such as finite state machines, Mealy machines, push-down automata, and Turing machines.
Rote learning is a memorization technique based on repetition. The method rests on the premise that the recall of repeated material becomes faster the more one repeats it. Some of the alternatives to rote learning include meaningful learning, associative learning, spaced repetition and active learning.
Memorization is the process of committing something to memory. It is a mental process undertaken in order to store in memory for later recall visual, auditory, or tactical information.
A flashcard or flash card is a card bearing information on both sides, which is intended to be used as an aid in memorization. Each flashcard bears a question on one side and an answer on the other. Flashcards are often used to memorize vocabulary, historical dates, formulae or any subject matter that can be learned via a question-and-answer format. Flashcards can be virtual, or physical.
In computing, memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again. Memoization has also been used in other contexts, such as in simple mutually recursive descent parsing. Although related to caching, memoization refers to a specific case of this optimization, distinguishing it from forms of caching such as buffering or page replacement. In the context of some logic programming languages, memoization is also known as tabling.
Java Card is a software technology that allows Java-based applications (applets) to be run securely on smart cards and more generally on similar secure small memory footprint devices which are called "secure elements" (SE). Today, a Secure Element is not limited to its smart cards and other removable cryptographic tokens form factors; embedded SEs soldered onto a device board and new security designs embedded into general purpose chips are also widely used. Java Card addresses this hardware fragmentation and specificities while retaining code portability brought forward by Java.
Study skills or study strategies are approaches applied to learning. Study skills are an array of skills which tackle the process of organizing and taking in new information, retaining information, or dealing with assessments. They are discrete techniques that can be learned, usually in a short time, and applied to all or most fields of study. More broadly, any skill which boosts a person's ability to study, retain and recall information which assists in and passing exams can be termed a study skill, and this could include time management and motivational techniques.
The Leitner system is a widely used method of efficiently using flashcards that was proposed by the German science journalist Sebastian Leitner in 1972. It is a simple implementation of the principle of spaced repetition, where cards are reviewed at increasing intervals.
Studying in an educational context refers to the process of gaining mastery of a certain area of information. Study software then is any program which allows students to improve the time they spend thinking about, learning and studying that information.
Mnemosyne is a line of spaced repetition software developed since 2003. Spaced repetition is an evidence-based learning technique that has been shown to increase the rate of memorization.
Anki is a free and open-source flashcard program using spaced repetition, a technique from cognitive science for memorization. The name comes from the Japanese word for "memorization".
Piotr A. Woźniak is a Polish researcher best known for his work on SuperMemo, a learning system based on spaced repetition.
Memrise is a British language platform that uses spaced repetition of flashcards to increase the rate of learning, combined with a GPT3-powered "AI Language partner" that allows learners to practice human-like conversations, which Memrise believe can help learners to overcome the "confidence gap" in language acquisition. It is based in London, UK.
OpenCards is a free spaced repetition flashcard program. The software is similar to SuperMemo, Anki or Mnemosyne.
Brainscape is a web and mobile education platform that allows students to study adaptive flashcards. The website and mobile application allow students, teachers, and corporate trainers to create electronic flashcards, and to find flashcards created by other users and publishers around the world. Brainscape flashcards and marketing content are also created by expert educators and publishers with whom Brainscape closely partners to create flashcards aligned to strict instructional guidelines. Flashcards are all stored in the cloud and can be shared with groups of other learners.
This glossary of computer science is a list of definitions of terms and concepts used in computer science, its sub-disciplines, and related fields, including terms relevant to software, data science, and computer programming.