220b-winter-2008/hw2: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
Due date: 2008.2.22 11:59:59pm (or thereabout), Friday. | Due date: 2008.2.22 11:59:59pm (or thereabout), Friday. | ||
== Collaboration == | |||
* in this and the next 220b assignment, you have the option of officially working in a duo | * in this and the next 220b assignment, you have the option of officially working in a duo | ||
* you can still go "maverick" (i.e., solo) | * you can still go "maverick" (i.e., solo) | ||
Line 12: | Line 12: | ||
* have fun! | * have fun! | ||
== Reading (part 0 of 3): == | |||
* recall the article on [http://en.wikipedia.org/wiki/Cellular_automaton cellular automaton] | * recall the article on [http://en.wikipedia.org/wiki/Cellular_automaton cellular automaton] | ||
* check out [http://www.ling.su.se/staff/hartmut/kemplne.htm Von Kempelen's Speaking Machine] and [http://en.wikipedia.org/wiki/The_Turk The Turk] | * check out [http://www.ling.su.se/staff/hartmut/kemplne.htm Von Kempelen's Speaking Machine] and [http://en.wikipedia.org/wiki/The_Turk The Turk] | ||
Line 18: | Line 18: | ||
** craft a short essay/haiku/image/program about the relationship of '''The Turk''' to the concept of a [http://en.wikipedia.org/wiki/Turing_test Turing test]. | ** craft a short essay/haiku/image/program about the relationship of '''The Turk''' to the concept of a [http://en.wikipedia.org/wiki/Turing_test Turing test]. | ||
== Specification (part 1 of 3): == | |||
=== Downloadin' and Compilin' === | |||
* download the calories software [http://ccrma.stanford.edu/~ge/software/calories/ here] : version 1.0.0 (updates will be announced to class mailing list) | * download the calories software [http://ccrma.stanford.edu/~ge/software/calories/ here] : version 1.0.0 (updates will be announced to class mailing list) | ||
* unpack it (somewhere): | * unpack it (somewhere): | ||
tar xvzf calories-x.x.x.tgz | tar xvzf calories-x.x.x.tgz | ||
* go into the calories-x.x.x folder | |||
* inside the extracted 'calories' folder, you should see 3 sub-folders: | * inside the extracted 'calories' folder, you should see 3 sub-folders: | ||
** ''ctrl'': folder containing example chuck code to control visualization | ** ''ctrl'': folder containing example chuck code to control visualization | ||
Line 29: | Line 31: | ||
*** '''calories.cpp''': monolithic disaster source file that contains visualization + instantiation of CA to be used | *** '''calories.cpp''': monolithic disaster source file that contains visualization + instantiation of CA to be used | ||
** ''sound'': code that receives OSC messages from calories to generate sound (can also use control) | ** ''sound'': code that receives OSC messages from calories to generate sound (can also use control) | ||
* go into the gfx folder: | |||
cd gfx | |||
* compile it | |||
** for example on linux: | |||
make linux | |||
** on OS X: | |||
make osx | |||
** windows is currently not supported | |||
* if all goes well, you should end up with no errors, and a new 'calories' executable in the folder | |||
=== Runnin' === | |||
* invoke calories with the '--help' flag to see the command line options: | |||
./calories --help | |||
usage: calories --[options] | |||
[options] xyz:<N>|xy:<N>|x:<N>|y:<N>|z:<N> | |||
for example, to create a 32x32x32 cellular automaton, invoke: | |||
calores -xyz:32 | |||
calories version: 1.0.0 | |||
* | |||
=== Specification (part 2 of 3) === | === Specification (part 2 of 3) === |
Revision as of 02:37, 18 February 2008
Homework #2: Cells, Automata, Music
Due date: 2008.2.22 11:59:59pm (or thereabout), Friday.
Collaboration
- in this and the next 220b assignment, you have the option of officially working in a duo
- you can still go "maverick" (i.e., solo)
- if you work as duo, each person has to turn in her/his version of this homework (or alternatively credit two sets of deliverables to the same group)
- have fun!
Reading (part 0 of 3):
- recall the article on cellular automaton
- check out Von Kempelen's Speaking Machine and The Turk
- ruminate about these devices
- craft a short essay/haiku/image/program about the relationship of The Turk to the concept of a Turing test.
Specification (part 1 of 3):
Downloadin' and Compilin'
- download the calories software here : version 1.0.0 (updates will be announced to class mailing list)
- unpack it (somewhere):
tar xvzf calories-x.x.x.tgz
- go into the calories-x.x.x folder
- inside the extracted 'calories' folder, you should see 3 sub-folders:
- ctrl: folder containing example chuck code to control visualization
- gfx: c++ code for the visualizer
- ca.h: header file for CA's (implement new CA classes here)
- ca.cpp: implementation for things defined in ca.h (implement rules for new CA classes here)
- calories.cpp: monolithic disaster source file that contains visualization + instantiation of CA to be used
- sound: code that receives OSC messages from calories to generate sound (can also use control)
- go into the gfx folder:
cd gfx
- compile it
- for example on linux:
make linux
- on OS X:
make osx
- windows is currently not supported
- if all goes well, you should end up with no errors, and a new 'calories' executable in the folder
Runnin'
- invoke calories with the '--help' flag to see the command line options:
./calories --help usage: calories --[options] [options] xyz:<N>|xy:<N>|x:<N>|y:<N>|z:<N> for example, to create a 32x32x32 cellular automaton, invoke: calores -xyz:32 calories version: 1.0.0
Specification (part 2 of 3)
Specification (part 3 of 3):
Deliverables
turn in all files by putting them in your Library/Web/220b/hw2/ directory, and then linking to them from your Library/Web/220b/hw2.html
- 1)
- 2) a short README text (readme.txt) file that:
- conveys your ideas/comments in constructing each program
- contains instructions on running your programs
- describes any difficulties you encountered in the process
- 3) your hw2.html should link to these files (optionally, you can include your README in your hw2html)