Outcomes Addressed

Individual Assignment

This assignment serves as a prerequisite assessment for this course. Each student should must submit his/her own solution to this assignment.

Procedure

You are to create a program that allows the user to spell check text files. The program should ask for the location of a dictionary file (containing a list of correctly spelled words, one per line) and one (optional you may ask for more than one) target file to be spell-checked. The program should then list all of the words in the target file that are not found in the dictionary file.

Lookup Class

The Java Collections Framework contains a Set<E> interface and a ArrayList<E> class. You should create a class that extends the ArrayList<E> class and implements the Set<E> interface. Note that some of the methods defined by the ArrayList<E> class are defined differently in the Set<E> interface. For example, ArrayList<E>::add(E object) appends object to the end of the list whereas Set<E>::add(E object) adds object to the set only if it is not already present.

Spell Checker Program

Your spell checker program should make use of the Lookup class to determine if words are spelled correctly. You program should make use of the Set interface when interacting with the Lookup object.

The minimum requirements are listed above. However, 10% of your grade will be based on enhancements. You may decide what enhancements to include in your program. Some potential enhancements include support for:

A sample dictionary file is available here.

Interim Time Report (due 11:00pm, the day prior to week 2 lab)

You must submit a UML diagram describing the design of your classes. You may create this diagram in a tool of your choosing. It should be submitted as a .png, .gif, or .jpg image. In addition, you should indicate how much time you spend on this assignment in the FAST system. You are encouraged to log your activity as you work on the project. At a minimum, you should log all of the time spent during the first week before the due date given above.

Lab report (due 11:00pm, the day prior to week 3 lab)

Here is a template file to use as a starting point for this report.

Your report should include:

As with any report you submit, correct spelling and grammar are required. In addition, your report should be submitted electronically following the Electronic submission guidelines. (You may wish to consult the XML help video and/or sample report before submitting your report.) Be sure to keep copies of all your files, in case something gets lost.

If you have any questions, consult your instructor.

Acknowledgment

This assignment was originally developed by Dr. Chris Taylor.