Iteration 3:

Welcome to E-Level!

Overview

Progress

Much of the core functionality of E-Level has been coded. The application can open existing decks, create new decks, add cards to decks, combine and reorder decks and cards, save decks to disk, and display the question, answer, a hint, and additional information in a central window. Basic functionality has also been added to edit existing cards and take a test using a deck. This represents the completion of all features and use cases targeted for this iteration. Over 3,800 lines of code have been written, comprising 135 commits to the SVN repository.

Class Structure

View the Javadoc.

Source Code

The source code is available to download here, but requires installation of the Qt libraries and the QT Jambi Java bindings, available from http://qt.nokia.com/downloads. Documentation for installation of Jambi can be found here. Any problems can be reported to our group at group7 AT cs.jhu.edu. The application has been tested on Windows XP, Windows Vista, and OS X 10.6.

Feature List

All features ordered from most to least important.

Implemented:

  • A splash screen
  • Reviewable cards with a front and an associated back, containing the solution *New
  • Card-based annotations and hints *New
  • New deck creation *New
  • The ability to view different decks *New
  • The ability to organize, combine, and modify decks *New
  • Shuffling a deck of cards *New
  • "Save"/"Save As"/"Open" functionality *New
    • Refocused from "the ability to download existing uploaded sets" and "export utilities for professors", implementations of which have been postponed.
  • User-customizable program and testing preferences *New

Implemented Next Iteration:

  • Test-taking functionality
    • The ability to view the solution first
    • Repeating incorrect answers with higher probability through some algorithm
  • The "E-Level Challenge", a quiz of all incorrect cards in the last week from any deck
  • A timer to track study periods
  • Support for printing
  • Further work on editing card functionality

Implemented in Future Iterations:

  • Deck-dependent score reporting, including graphing
  • Image and graphic support
  • A "New Card Wizard" with:
    • Support for drag-n-drop
    • Numerous plugins for foreign languages, advanced drawing options, and math.
    • Customizable card properties
  • 6 demo decks
  • User-customizable preferences for localization
  • Audio, video, and multimedia support

Use Cases

All use cases ordered from most to least important.

Select Directory - Completed

Completion Goal: Completed in Iteration 3
Actor: Professor or Student
Goal: Select a directory containing decks or in which to store decks
Preconditions: The user has opened the program
Main Path:

  • At startup, a dialog is displayed to choose where to store/find decks (à la Eclipse)
  • The user selects a directory to contain or to store decks
    • The user creates a new directory in which to store decks
  • The user clicks OK

Create Deck - Completed

Completion Goal: Completed in Iteration 3
Actor: Professor or Student
Goal: The user creates a new E-level flash card deck
Preconditions: The user has opened the program
Main Path:

  • The user clicks the create new deck button or selects File > New > Deck
  • The user creates a new flash card and adds it to the deck (see Create Flash Card)
  • The user repeats step 2 as desired
  • The user clicks the save deck button
    • The deck is saved in the currently selected directory or the default directory if none is selected A dialog is presented prompting the user to select a directory and a filename, beginning in the previously selected default directory
  • (optional) The user clicks export deck (see Export Deck)
  • The user returns to the default screen

Create Flash Card - Completed

Completion Goal: Completed in Iteration 3
Actor: Student or Professor
Goal: The user creates a new E-level flash card and adds it to a pre-existing deck
Preconditions: The user has opened the program and selected a deck
Main Path:

  • The user clicks the add new card button or selects File > New > Card
  • An Edit Card window is displayed and the user edits the card (see Edit Card)
  • The card is added to the currently selected deck and the Edit Card window is closed

Export Deck - Completed

Completion Goal: Completed in Iteration 3
Actor: Professor or Student
Goal: The user exports a deck for distribution
Preconditions: The user has selected a deck
Main Path:

  • The user selects File > Export > Deck File > Save As and is presented with the Export Deck Wizard window a dialog prompting the user to select a directory and a filename, beginning in the previously selected default directory
  • The user chooses a file name and location and indicates whether the deck should be uploaded to an online repository (tentative)

Study - Completed

Completion Goal: Completed in Iteration 3
Actor: Student
Goal: The user studies a deck of E-level flash cards
Main Path:

  • The user opens the program and enjoys the splash screen
  • The deck list is populated from a previously specified or the default deck directory The user opens decks through File > Open, which are added to the deck list
  • The user selects a deck to study from the deck list
    • The user selects a card from the card list under the currently selected deck
  • The first card in the deck is displayed
    • The user selects a card from the card list
  • The default card view with the card's front face, back face, additional information, and hint is displayed
    • User clicks the edit card button (see Edit Card)
  • The user clicks the next card button until reaching the end of the deck or the previous card button until reaching the start of the deck
    • The user repeats steps 3-6 as many times as desired
  • The user closes the program

Take Flash Card Test

Completion Goal: Iteration 4
Actor: Student
Goal: The user takes a practice test using E-level flash cards
Preconditions: The user has opened the program and selected a deck
Main Path:

  • The user clicks the take test button
  • The user is presented with the front face of a flash card and prompted for a pre-programmed answer
    • The user clicks the hint button to bring up a hint
      • The user may or may not close the hint popup
  • The user specifies an answer or clicks continue if answer is optional
  • The user views the back of the flash card and any additional information
    • The program indicates whether the response was correct
    • The user indicates whether the response was correct
  • The user repeats steps 2-4 until reaching the end of the deck
  • The user exits the test
  • A display is shown with test statistics for the current and past tests

E-Level Challenge

Completion Goal: Iteration 4
Actor: Student
Goal: The user takes a test of previously missed questions
Preconditions: The user has gotten one or more questions wrong on a test in the previous week
Main Path:

  • The use clicks the Take E-Level Challenge button
  • A list of incorrectly answered test cards from the previous week is retrieved and used for the following flash card test
  • The user is presented with the front face of a flash card and prompted for a pre-programmed answer
    • The user clicks the hint button to bring up a hint
      • The user may or may not close the hint popup
  • The user specifies an answer or clicks continue if answer is optional
  • The user views the back of the flash card and any additional information
    • The program indicates whether the response was correct
    • The user indicates whether the response was correct
  • The user repeats steps 3-5 until reaching the end of the deck
  • The user exits the test
  • A display is shown with test statistics for the current and past tests

Edit Flash Card

Completion Goal: Iteration 4 or 5
Actor: Student or Professor
Goal: The user edits an existing E-level flash card
Preconditions: The user has opened the program, selected a deck, selected a card, and clicked edit OR the user is creating a new card in the selected deck
Main Path:

  • A new window is shown with panels for sections of the flash card (front face, back face, additional information, hint, and “answer” section) and toolbars for adding information to them
    • (optional) The user enters text
    • (optional) The user drags and drops images and (tentatively) other multimedia sources
    • (optional) The user undos or redos previous actions
  • The user clicks the done button

UML Diagrams

A revised sequence diagram:

Download it here.

E-Level Sequence Diagram

A revised component diagram:

Download it here.

E-Level Component Diagram

GUI

Screenshots from the program (mixed platforms):

E-Level PC GUI
E-Level PC GUI
E-Level Mac GUI
E-Level Mac GUI
E-Level Mac GUI