Assigned: Wednesday, 4 October 2006
Due: Friday, 13 October 2006
This homework is also available in PDF.
Summary: Now that you've completed the laboratory experiences emphasizing text generation, we'd like you to extend the procedures you've written in that lab and then to describe your project in a form accessible to others.
Collaboration: You should work in groups of two or three. You may not work alone. You may not work in groups of four or more. You may discuss the assignment with anyone you wish. You may obtain help from anyone you wish, but you should clearly document that help.
Submitting Your Work: As always, you will submit your work via email, in this case with a subject of CSC151 Project One. For this assignment, you will be permitted to attach files to your email. Further details below.
In the first laboratory on text generation, you worked with and built procedures that construct simple, yet difficult to predict, sentences. In the second laboratory, you saw how to use some key Scheme techniques to vary the structure of these sentences and the components of the sentences.
Unfortunately, most of those sentences were not very interesting. Hence, we should find a way to generate a particular kind of text. For example, we might focus on the number of syllables in each word, and write a Haiku generator. We might consider both number of syllables and ending sounds to make simple rhymes. (In this case, it might be useful to randomly choose an ending sound.) We could even try to generate texts that sound a bit like Dr. Seuss.
Your first task in this report is to choose one of these simple types of writing (rhymes, Haiku, Seussian stories, personal advertisements, recommendation letters) and write a procedure that generates unpredictable versions of that types of writing.
In generating those texts, you will likely want to add another element to each of the lists in the parts-of-speech files (such as the number of syllabus, the ending sound, or something similar). You might also choose to customize the words files.
For this assignment, in addition to writing code, you are also to write narrative text. In particular, you should write a 3-4 page narrative description of what you have accomplished in the project and how you have accomplished that goal. Your audience is other CSC151 students, but students who have not read the readings on text generation and who have not worked with the labs.
You should make sure that your narrative describes the key procedures you've written or used (both for your custom text generator and for the general text generation strategy) and how they work. Your narrative should be clear enough that someone could rewrite similar code (in, say, eight hours) without having any of the code as a reference.
I'd suggest organizing your report as follows:
I'm doing this because my CS prof made meis not acceptable.)
Once you are satisfied with your code and your report, you should email
them to me using a subject of
CSC151 Project One. I
expect to see the code as an attached
.ss file and the
report as an attached Word, PDF, or text file, whichever you prefer.
nounsfile and a more specific
ee-nounsfile with words like cookie, flea, and the ilk.
Monday, 2 October 2006 [Samuel A. Rebelsky]
Sunday, 8 October 2006 [Samuel A. Rebelsky]
I usually create these pages
on the fly, which means that I rarely
proofread them and they may contain bad grammar and incorrect details.
It also means that I tend to update them regularly (see the history for
more details). Feel free to contact me with any suggestions for changes.
This document was generated by
Siteweaver on Sun Oct 8 18:52:56 2006.
The source to the document was last modified on Sun Oct 8 18:52:43 2006.
This document may be found at
You may wish to validate this document's HTML ; ;Samuel A. Rebelsky, firstname.lastname@example.org
http://creativecommons.org/licenses/by-nc/2.5/or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA.