CSCI 3333
Data Structures
Summer 2008
Homework #3
Due Date: June 30th (Monday)
Goals
This is a more involving assignment to further familiarize yourself with your language of choice and object-oriented programming. It also encourages students to think about appropriate data structures.
Specification
Write a program to process the dictionary file words.txt, to find all words forming from unique sets of characters. For example, the word "age" will be selected as there are no other words that can be formed from the characters 'a', 'e' and 'g'. On the other hand, "tea" should not be selected since "eat", "ate", etc., are also words in the dictionary.
All selected words with lengths of 5 and smaller should be stored into the file "word_set1.txt". The other words with lengths greater than 5 should go to the file "word_set2.txt".
In the output, eliminate words
- that are made of single characters, e.g., a, b, etc.
- that have single quotes, e.g., anybody'd, ain't, etc.
- that start with a capital letter or a digit, e.g., 10th, AAA, ASU, etc.
Note that such word sets can be useful for games like Jumbo.
Also create a file "other_word_set.txt" that stores all other words (i.e. words that do not have unique sets of forming characters.)
Submission
- Name your program as [LastName_FirstName]_h3.programExtension. For example, for Jenny Doe using java, it must be Doe_Jenny_h3.java.
- Your program should use standard documentation practice of your selected language choices. It should include sufficient information for the teaching assistant to test run your program.
- Create a readme file, names as [LastName_FirstName]_h3_readme.txt, that contains required software and instructions for executing your program.
- Store the three output files with the prefix [LastName_FirstName]_h3_. For example, Doe_Jenny_other_word_set.txt.
- Upload all files through your WebCT account at
http://courses.uhcl.edu:8900/.
- Email your source code to both the instructor and the teaching assistant.
- Turn in a hardcopy of your program with the results of execution of the test case. All should be included in an envelope. The cover of the envelope should include course name, student name, homework number, instructor name and TA name.
- Failure to follow this guideline may result in reduced grade.