Question: Java: Design a flashcard application based on the Leitner system Flashcards are frequently used to study vocabulary, symbols, and design patterns. A flashcard is a
Java: Design a flashcard application based on the Leitner system
Flashcards are frequently used to study vocabulary, symbols, and design patterns. A flashcard is a card bearing a challenge on the front side and a response on the back side. A challenge (or response) can be either text, an image, or sound. A user can create, modify, and delete flashcards. For each side of the flashcard, the user is able to either enter text or select an image or sound file from disk. In this implementation of the Leitner system, flashcards are organized in five boxes (numbered 1-5). Once a new card is created, it gets stored in Box 1.
The application supports two ways of studying: (1) The Leitner system: The application ran- domly picks a card from one of the five boxes. Note, the likelihood of a card to be picked from a lower numbered box is exponentially higher than from a higher numbered box. For example, for a card in Box 1 it is twice as likely to be picked as a card in Box 2 (four times as likely as a card in Box 3, ...). If the user knows the answer, the flashcard moves to the next box (if there is one). If the user does not know the answer, the flashcard is moved back to Box 1. (2) Drill: Under this method, the flashcards of a given box are copied into a separate pool. The application randomly picks one flashcard from that pool. If the user knows the answer, the card is removed from the pool. If the user does not know the answer the card remains in the pool. Drill ends when the pool is empty. When users end the drill session, the pool can be discarded. During a drill session the Leitner boxes remain unchanged.
Once a card has been picked according to the study method, the application randomly decides whether to show the front or the back of the card. Users have four choices: (a) to flip the card, (b) to indicate that they know the answer, (c) to indicate that they do not know the answer, (d) and to end the study session.
Users should also be able to load and store the state of the application (boxes and their content).
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
