CIT 590 Assignment 11: Flash Cards II
Spring 2010, David Matuszek

Purposes of this assignment

General idea of the assignment

You have previously written a Flash Cards program, with two UIs--User Interfaces. This time, you and your partner will each write a GUI--Graphical User Interface--to the program. Call your project flashCards2.

You did the previous assignment with a partner. You will have a new partner for this assignment.You and your partner should each have code for the Item and StudyList classes, and their associated test classes. You can decide between the two of you which version of these classes you wish to use (but you can't turn in two sets!). These classes can be modified/fixed as needed.

You should also each have Study and CardEditor classes. These did a lot of text input/output, which you will not need for this assignment. If you did a good job of separating methods that do computation from methods that do input/output, you can copy the computational methods and reuse them with little or no change. Put them in new classes called StudyModel and CardEditorModel, respectively.

You and your partner should work together on the above. After that, one of you should design and implement a GUI for studying the flash cards, and the other should design and implement a GUI for editing the flash cards. Call these classes StudyGui and CardEditorGui, respectively. Each of these classes should extend JFrame and have a public static void main(String[] args) method. Although you can and should help each other with the GUIs, each of you must take full responsibility for one of the GUIs, and put your name in it as the one and only @author.

In the Flash Cards assignment, I said to specify who did which UI. If you did that (many people didn't), my program has tried to pair you with someone who did the other UI, so that you can each work on something that is already familiar to you. This should make the assignment somewhat easier.

If you have no partner for this assignment, you need only do one of the GUIs.

Additional requirements


Although this is a pair programming assignment, each of you will be graded separately, based on how well your GUI works and on the quality of the supporting code.

Due date:

Midnight, April 15. Each pair should turn in one assignment, as a zip (not rar) file, including all .java, .class, and all javadoc files. As always, email submissions will not be accepted.