![]() |
Course Handbook |
Week 1
lec01 - Course arrangements
lec02 - The basics pr sl
Week 2
lec03 - Dice Games pr sl
lec04 - Applet graphics pr sl
Week 3
lec05 - Jokes pr sl
lec06 - Applet sound pr sl
Week 4
lec07 - Music pr sl
lec08 - Markov models pr sl
Week 5
lec09 - Soundscapes pr sl
lec10 - Generative instruments pr sl
Week 6
lec11 - Stories pr sl
lec12 - Hierarchical Markov chains pr sl
Week 7
lec13 - Images pr sl
lec14 - Aesthetics pr sl
Week 8
lec15 - Analogies pr sl
lec16 - Copycat pr sl
Week 9
lec17 - Theories pr sl
lec18 - Concept dynamics pr sl
Week 10
Demo sessions
Part one should be an authoritative and critical study of the work or a particular GC practitioner. You could choose someone covered in the lectures (Cohen, Tinguely, Hofstadter, Cope etc.) or someone that you've come across in your reading or web-surfing (e.g., Brian Eno).
Part two should be a study of a particular creative genre (e.g., cubism or acid house). It should describe in detail any structural aspects of the genre which might be of use for GC purposes. For example, if the domain is drum-n-bass music, the analysis might focus on the way songs in this style are built up using particular types of rhythmic repetition and vocalisation, and the way in which exploitation of these structures might be used generatively.
Part three should be a discussion of the problem of evaluation. Your aim here should be to show that you understand what the problem of evaluation is, and why it is critical for the success of GC. If you have any ideas about how the problem might be approached in the future (particularly relating to the genre discussed in part 2), you can set them down them here but be careful to motivate any proposals that you make.
Credit will be awarded for
When marking your own work, remember that marks are required for the first four criteria. You should justify the mark that you give for each criterion by cross-referencing material elsewhere in the submission. Include the self-marks as an appendix to your paper submission.
The web-demo should take the form of a web page (html file) which uses text, images, subsidiary pages and (where possible) applets to showcase your work. You should email this to me as a zip file, whose name is lastNameFirstName.zip, replacing `lastName' and `FirstName' with your last and first name. (Note the reverse order.) I will install these somewhere accessible from the course website.
The marking scheme for this assignment is as as follows.
10% for writing (articulate, clear sentences?)
10% for discursive quality (strong arguments and debate?)
10% for presentation (figures, sections, citations, bibliog etc.?)
10% for range of research (literature used fully and critically?)
10% for system comprehensibility (modular, well-commented code?)
10% for system quality and sophistication (level of functionality)
10% for quality of output (degree of generativity and aesthetic/emotional/intellectual value)
10% for course awareness (reference to lecture discussions and digressions?)
20% for quality of self-marking (fair marks, detailed criticism?)
Self-marks are required for all criteria except `quality of
self-marking'. Make sure to justify the marks you award by
cross-referencing material elsewhere in the submission. Include the
self-marks as an appendix to your hard-copy submission.
1. INTRODUCTION AND BACKGROUND
An introduction to the theory, techniques, results and general area of work that the program relates to. This is where you should first attempt to justify and motivate your approach in terms of the work of others, although you may further explore such relationships in later sections.
2. ILLUSTRATION - Illustrations of the program working, with explanations. This could be based on an edited output listing, with annotations to show what is going on where. If the program uses a GUI, it could be based on a sequence of annotated screenshots. (If necessary `screenshots' can be drawn by hand. However, in this case you will need to demonstrate in some other way that the program works as described.) Edit out repetitive chunks from any program output and edit in explanatory comments. Annotate the most significant bits of the output to draw attention to them.
3. SYSTEM OVERVIEW - Explain precisely HOW the program works.
You should discuss the main steps the program goes through to achieve its results. You do not need to describe every line of the program. You should give an overview of what sorts of things are represented, how they are represented, where input comes from, how it is transformed, where output goes to, etc. The overview should refer to a copy of the program attached as appendix-1. (See below) In particular make sure you describe what kinds of objects are represented, and how you represent them (e.g. using lists, or vectors, or numerical values for variables or whatever). Explain what problems your program had to solve, and how it solved them. Use figures and diagrams productively so as to back up the text. Do not rely on an automatic documentation facility (e.g., javadoc) to write the system overview for you.
When writing the overview, don't write as if you are communicating with a tutor. Equally don't write as if for a novice. Try to write for an audience consisting of fellow students who may be a week or two behind you in their understanding. When describing what a method does, always adhere to the principles of modularity, i.e., start by stating what sorts of inputs the method takes, and what sorts of output it produces. Give an explanation of the relation between input and output, and one or two simple examples to illustrate. If there are no inputs, or no outputs, then say so.
4. LIMITATIONS
A discussion of the limitations and possible future developments. Don't be afraid to criticize your own program. If you have read about similar programs, or related programs, it may be appropriate to include some comparisons. If you have any ideas about the program could be extended, say something about that.
5. CONCLUSIONS
What lessons, if any have been learnt? Were your goals achieved? Is there anything you now think you should have done differently?
6. SELF-ASSESSMENT
This is where you make your own evaluation of the whole submission in terms of the given marking criteria. For each criterion, note how well you think you've done (and why) and give yourself a mark.
7. BIBLIOGRAPHY
List books, articles, web pages, files etc. considered to be relevant.
8. Appendix 1: The whole program, with comments explaining what the classes represent, what the methods do, what the global variables (if any) are for, etc.