In this homework (posted Nov 6), you should implement a program corresponding to Part Two of Homework 6 . Note that this implementation does not have to correspond to the outline you proposed in Homework 6.

You may find this little program a useful guide to how you can manipulate strings. You may also want to refresh your memory on how to use a library hash table.

Finally, you will need to test on a reasonably large store of words. I will post something helpful here early next week.

You should plan to have enough time to revise your method if needed -- without testing, it is hard to know how well a method will do.

I will post information here early next week on what to submit -- in addition to the program you also need to submit a report on what your method is, and how it performs. The program itself will be worth a regular homework, and the report is worth half a regular homework.

Posted Nov 9: Here is a file with a few thousand words. Save this file as output.txt. Here is a program that reads the words in output.txt, stores them in a hash table and waits for input from the user. Once the user enters a word, the programs reports if the word is one of those that was read earlier. It then waits for another input. After doing ten rounds of this, it quits.

You can test your program agains the words in output.txt. Notice that some of the words in this file are strange (an artifact of the way the file was created), and that words are duplicated.

Finally, do not build a solution that compares the input word explicitly to every word that has been stored. This will not scale very well.

Posted Nov 13: Along with your program, you should also submit a report. This should describe what strategy you implemented and any ideas for further improvement based on how it performed. It should also tell the grader how to use your program, if this is not completely obvious.