CS5014: Homework 10

Multiple due dates

  1. [Due Monday, 6 November (extension due to CS5024, 5034 workload)] Using your favorite programming language available on csgrad and sequoia, and using fw, write a literate program to solve the following problem:
    The program executable is named "HW10". It is invoked with one command line argument that is the name of a plain ASCII text file. An example is "HW10 tests/test1". Program HW10 will output a list of all unique "words" in the named file, sorted alphabetically according to the ASCII character order. (Each unique word will be printed once.) A "word" is any string of non-blank symbols separated by "whitespace," and "whitespace" is any combination of blanks, tabs, or new lines. (Therefore in "This box, or that one? ", "box," and "one?" are words, even though they contain punctuation.) If the input file has length zero, then the program will print no output.

    If you wish, you may ignore the case of characters.

    You may not call any library functions to perform sorting. However, you may use any algorithm in the literature, provided you give a complete literature citation in your literate program. You may also use any tool you wish to parse the input file.

    Concentrate on the ability of your program to communicate, since that will be the main criteria used for grading!

  2. [Due Friday, 3 November.] Complete Milestone 1 of the Term Project.

  3. The term project is to be done in groups of three. Find two other teammates. One person in the group must send a list of the three team members to keller@csgrad.cs.vt.edu. The e-mail subject line must be "5014 Teammates".

  4. [Due Friday, 10 November.] I will give each person in class the literate sorting program of another student. Be sure to write your name at the top of the first page of the literate program copy you receive. Critique the literate program you receive. You should write on the actual literate program. In your critique you might mark unclear passages, grammatical or usage errors, and deficiencies in the overall organization. On Friday, 10 November, return the critiqued literate program to the original author.

  5. [Due Friday, 17 November.] You may use the critique of your program (which you receive on Friday, 10 November) to improve your program. Turn in both the original program (on which critiques were marked) and the final program.