ITECH1400 Foundations of Programming
Assignment 1
Bowie, Burroughs, Gysin & Permutated Prose: The Cut-Up Method
Overview
In this assignment you are required to implement your own Python application which emulates the “Cut-Up” method and follows the six steps of problem solving. You will apply a suitable metric to the finished text.
Learning Outcomes Assessed
The following course learning outcomes are assessed by completing this assessment:
Knowledge:
K1.
|
Identify and use the correct syntax of a common programming language.
|
K2.
|
Recall and use typical programming constructs to design and implement simple software
solutions.
|
K4.
|
Explain the importance of programming style concepts (documentation, mnemonic
names, indentation).
|
Skills:
S1.
|
Utilise pseudocode and/or algorithms as a major program design technique.
|
S2.
|
Write and implement a solution algorithm using basic programming constructs.
|
S4.
|
Describe program functionality based on analysis of given program code.
|
Application of knowledge and skills
A1 : Develop self-reliance and judgement in adapting algorithms to diverse contexts A2: Design and write program solutions to identified problems using accepted design
constructs.
Background
The early 1900s in Europe saw the birth of the art movement known as Dada1; Dadaists, such as Tristan Tzara2, held views that rejected logic and reason and embraced chaos.
In this assignment we look at this avant-garde movement in the 20th
century with artists such as David Bowie, William S Burroughs and Brion Gysin.
Gysin, an artist, gives his re-discovery of this technique as follows
3:
While Gysin and Burroughs were working with Bowie on the lyrics for the album
Diamond Dogs
4
they started using this technique. Some later albums incorporated more use of the Cut- Up method.5
Gysin’s explanation of the Cut-Up method is given below6:
1
https://en.wikipedia.org/wiki/Dada
2
https://en.wikipedia.org/wiki/Tristan_Tzara
3yGsin, B.
B
a
c
k
i
n
n
o
t
im
e
:
t
h
e
B
rio
n
G
y
s
i
n
rea
d
e
r
(J. Weiss Ed.): Wesleyan University Press, Middletown CT, USA. p. 126
4
https://open.spotify.com/album/72mfhbEsMtXR6s7v9UhKe3
Diamond Dogs
5 Two examples are:
https://open.spotify.com/album/4yRoLvuzNxFDdodNNrZAEM
Earthling
https://open.spotify.com/album/0pUursvGUAgcDiEqYlnZ0q
Outside
6yGsin, B.
B
a
c
k
i
n
n
o
t
im
e
:
t
h
e
B
rio
n
G
y
s
i
n
rea
d
e
r
(J. Weiss Ed.): Wesleyan University Press, Middletown CT, USA. p. 132-35
Although the idea behind Cut-Ups is quite simple, there are many variations. In the 1990s, a friend of Bowie - Ty Roberts – a very capable programmer, suggested making a program to do the Cut-Ups; the program was called the
Verbasizer
7
and is explained very well by Bowie in the clip.
Burroughs explains how he does Cut-Ups:
http://www.languageisavirus.com/creative-writing-
techniques/william-s-burroughs-cut-ups.php#.XnQJ_YgzaUk
There are many other resources available online; this page, for example, has a Cut-Up machine:
http://www.languageisavirus.com/cutupmachine.php#.XnL63YgzaUk
7
https://www.youtube.com/watch?v=x3IKLMgFaDA
the Verbasizer
Your Task
Start with a text – you are free to choose any text - a good suggestion is
Alice in Wonderland
8
a paragraph from chapter 1 is given below.
Using the skills in Python that you have developed, you are to write an application that will read in some text and then perform a Cut-Up operation on it.
One metric that we can use is to check the readability of the text. To do this just select the Spelling & Grammar feature – this will display the readability of the text - and of the Cut-Up:
8
http://www.gutenberg.org/files/11/11-pdf.pdf
Alice in Wonderland
CRICOS
Assessment Details
The six-steps of problem solving must be evident in your assignment. Namely:
1. Identify the problem – state the task in your own words e.g. implement Cut-Up method
2. Analyse the problem – describe what needs to be done
3. Generate potential solutions – look at different ways to do this using Python
4. Select and plan a solution – explain why you have chosen this approach
5. Implement the solution – develop pseudo-code and then implement it in Python
6. Evaluate the solution – what degree of success was achieved?
Journal
A good idea is to keep a journal, typed or hand-written (and later scanned), which you include as an appendix to your assignment.
This journal contains the development of your ideas, attempts (successful and not) and results along the way in your explorations.
The value of the journal is that it asserts authorship of your work and demonstrates the time and effort that you have applied in the assignment.
Submission
You must supply your program source code files and your documentation as a single zip file named as follows:
_.zip
e.g. Aravind_ADIGA_30331237
You may supply your word processed documentation in either Microsoft Word or LibreOffice/OpenOffice formats only – no proprietary Mac specific formats, please.
Assignments will be marked on the basis of fulfilment of the requirements and the quality of the work. In addition to the marking criteria, marks may be deducted for failure to comply with the assignment requirements, including (but not limited to):
• Incomplete implementation(s), and
• Incomplete submissions (e.g. missing files), and
• Poor spelling and grammar.
Submit your assignment (all program source files and data files plus your word processed document) to the Assignment 1 Upload location on Moodle before the deadline given in the course description.
Although you are asked to attach code and data files (so that your code can be easily run and the data checked), your report should stand alone – this means that code and data should be attached in an appendix so that a reader does not need any other documents or files to understand your work.
Marking Criteria/Rubric
Item
|
Mark
|
Identify the problem – state the task in your own words
|
5
|
Analyze the problem – describe what needs to be done
|
10
|
Generate potential solutions – look at different ways (at least 3) to do this using Python
|
9
|
Select and plan a solution – explain your chosen approach – develop pseudo-code
|
10
|
Implement the solution – pseudo-code into Python – code must match pseudo-code
|
16
|
Evaluate the solution – what degree of success was achieved?
|
10
|
Identify any problems or issues that arose - explain how you dealt with them
|
10
|
Demonstrate the code running correctly – use tests to show this
|
10
|
No need for external libraries demonstrated. If you have used libraries – you must explain their working clearly – show your understanding of their working and why you needed them
|
10
|
Report9 – Spelling, Grammar, Layout – adheres to guides (refer to footnote for guides)
|
10
|
TOTAL
|
100
|
FINAL MARK
|
/20
|
Feedback
Feedback will be provided in lectures and labs as well as on Moodle
Plagiarism
Plagiarism is the presentation of the expressed thought or work of another person as though it is one's own without properly acknowledging that person. You must not allow other students to copy your work and must take care to safeguard against this happening. More information about the plagiarism policy and procedure for the university can be found at:
http://federation.edu.au/students/learning-and-study/online-help-with/plagiarism
This is an INDIVIDUAL ASSIGNMENT – and while you may discuss it with your fellow students, you must not share designs or code or you will be in breach of the university plagiarism rules.
You might be asked to demonstrate and explain your work.
References
Gysin, B. (2001)
Back in no time : the Brion Gysin reader
(J. Weiss Ed.): Wesleyan University Press, Middletown CT, USA.
https://en.wikipedia.org/wiki/Dada last retrieved 16/03/2020
https://en.wikipedia.org/wiki/Tristan_Tzara
last retrieved 16/03/2020