[MSOE Homepage]

Dr. Taylor's MSOE Homepage

Unix is a Four
Letter Word

My Photo Album

My Personal Homepage

CS-285 Main page

CS-285 -- Lab 4: Spell Checker using set

Winter Quarter 1999-2000



Electrical Engineering and Computer Science Department
Dr. Christopher C. Taylor

CC-27C, 277-7339

www.msoe.edu/~taylor/

IMPORTANT NOTE: Be sure to keep a copy of your lab 1 program for future use. We will revisit both the lab 1 and this assignment in the future. It is critical that you have a copy of both programs available.

Purpose

The purpose of this lab assignment is to build familiarity with the STL set class. This is accomplished modifying the C++ program written in lab 1.

Assignment

You should modify your dictionary class from lab 1 so that it uses the set data structure instead of the list. In addition, your program should support the following features:

  • An optional user dictionary. The user should be able to:
    • Specify the dictionary filename,
    • Add words to the dictionary, and
    • Save the modified user dictionary
  • Suggest alternative spellings.
  • Allow the user to select an alternative spelling or enter a correction for misspelled words.
  • Produce an additional output file similar to the original but with spelling corrections made.

Programming consideration: It is always good in program design to consider potential modifications that may be required a some later date. Be sure to keep this in mind when designing your program. Think about what additional things you might want a spelling program to be able to do.

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

The lab report should be self-contained. That is, it should be possible for someone to understand what you did and why without seeing anything other than your report. Your report should include:

  • Purpose
  • Problem Statement
  • Procedure -- what approach you used to solve the problem
  • Documented source code (Include all of the source code. Clearly document changes made since lab 1.)
  • Discussion (include your program output for the same files as lab 1; this should include: the user dictionary, the misspelled words, and the corrected file, you should also discuss any problems you encountered and how you solved them, etc...)
  • A summary of your activity log indicating how much time you spent on each phase of the assignment. Please report the time in the following categories:
    • Design
    • Coding
    • Debug (before you think it's working)
    • Test (after you think it's working)
    • Documentation
    • Other
  • Conclusions (what you learned, suggestions of how the lab could have been better, things you would have done differently, etc.)

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 sample report before submitting your report.) Be sure to keep copies of all your files, in case something gets lost. It may be wise to keep a diskette backup as well.

IMPORTANT NOTE: Be sure to save your program for future use. We will revisit this assignment later in the quarter.

If you have any questions, consult the instructor.


This page was created by Dr. Christopher C. Taylor, copyright 1999-2000.