Partner 1 Name
Partner 2 Name
December 3, 2014


A brief description of the project is given here. The description is 1 to 3 sentences long. Be concise and clear.


(You may attach a PNG, GIF, or JPG file. Please note the Attach: syntax for doing this. After you save the wiki page, you will see the Attach: link with a blue triangle. Click on the link, and then you will be brought to a page where you can upload the attachment. After you upload the attachment, the link goes away and you see the image instead.)

Concepts Demonstrated

1/6 of the project grade is based on which concepts from OPL are demonstrated in your project. Please identify them here. Be brief; a simple list and one-sentence explanation for each concept should be adequate; e.g.:

  • Data abstraction is used to provide access to the elements of the RSS feed.
  • The objects in the OpenGL world are represented with recursive data structures.
  • Symbolic language processing techniques are used in the parser.

External Technology and Libraries

Another grading category is the “extent to which project integrates with some external technology.” Briefly mention this here. If your external technology is a Racket library, describe it.

Favorite Lines of Code

Each partner should identify a favorite line of code, Scheme expression, or entire procedure written by himself / herself in the entire project, and explain what it does. E.g.:

  • Partner One: (string-join (reverse (string-split (read-line my-in-port))) This code reads a string of text, splits it into a list of words, reverses the order of the words in the list, and then joins it back into a single string.
  • Partner Two:
    (let* ((expr (convert-to-regexp (read-line my-in-port)))
                 (matches (flatten
                           (hash-map *words*
                                     (lambda (key value)
                                       (if (regexp-match expr key) key '()))))))

This block of code reads in a regular expression and uses it to match against a pre-existing hash-map named *words*.

Technology Used Block Diagram

Create a simple block diagram of your software system that illustrates the major technical components and how they interact. Indicate which partner did which part of the work by putting an individual's initials inside the component(s) for which that person was primarily responsible. E.g.:

Additional Remarks

Please use this area to include any additional information you would like to include that did not fit into any of the previous categories.

The total write-up, including screen shot and block diagram, should be two to three pages in length (when printed).