Iteration 6:
Welcome to E-Level!
Overview
Progress
Iteration 6 is the final iteration of E-Level for Object Oriented Software Engineering. In that respect, we spent this iteration improving the GUI and usability, fixing bugs, and optimizing code in preparation for the beta release. More refactoring was performed and serialization was improved to handle more advanced drawing features. Graphing features were added to graphically view test statistics. The application was successfully bundled into executable jar files for deployment.
Over 12,000 lines of code have now been written, comprising 370 commits to the repository.
Class Structure
View the most recent Javadoc.
Executables
Executable jar files are now available for all platforms supporting 32-bit Java 1.6:
The application has been tested on Windows XP, Vista, and 7 and OS X 10.5, 10.6, Debian, and Kubuntu, and Fedora 9 Linux.
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
- Card-based annotations and hints
- New deck creation
- The ability to view different decks
- The ability to organize, combine, and modify decks
- Shuffling a deck of cards
- "Save"/"Save As"/"Open" functionality *Updated to support advanced drawing features
- User-customizable program and testing preferences
- Test-taking functionality
- The ability to view the solution first
- Repeating incorrect answers with higher probability through some algorithm
- Options to view hints/percent correct
- Options for self check
- The "E-Level Challenge", a quiz of all incorrect cards in the last week from any deck
- Support for printing
- Advanced Editing
- Drawing shapes with colors
- Including text
- Support for multimedia images through drag and drop
- Full undo/redo support
Future Plans
As a team, we believe that E-Level has significant useful functionality, and believe the project should be carried on. A primary component of that is porting the code from the unsupported Qt Jambi bindings for Java to the newest release of Qt, 4.6, rewriting the application in C++. This will allow us to accomplish more of our original goals, including using the new Phonon libraries to handle video and audio multimedia, and allowing for the localization of our program in other languages.
We would also like to accomplish our goal of interchangeable drawing toolbars, each with different functionality, whether chemistry, math, or foreign languages, as well as stamp out any remaining bugs, of course.
GUI
Screenshots from the program:







