Difference between revisions of "220b-winter-2008/hw2"

From CCRMA Wiki
Jump to: navigation, search
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  ===
+
== 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): ===
+
== 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):  ===
+
== 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 19:37, 17 February 2008

Homework #2: Cells, Automata, Music

Calories-3.png


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):

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)