For the remainder of the semester, we'll shift gears a bit. Up until this point, the course has led you through case studies, labs and projects that gave you experience with embodied algorithms, broadly defined.
Where is the algorithm?
What problem is being addressed?
What is the input/output?
What is the instruction set?
Who is doing the "computing"?
What resources are constrained/used/optimized?
What does it mean to be embodied?
Embodied learning refers to a process where students are moving their bodies.
A type of active learning. An example of active learning that is not embodied is: having students imagine a scenario or setting. While they must actively undertake this task, they do not need to move their bodies for it.
An example of embodied learning is Case study 5: Threaded Nets, where you were cutting, folding and pulling string to learn about the problem of threading a polygonal net.
A physical object may embody a concept or process.
An example artifact is Mini project 1: Lantern, where your lantern embodied your processes for creating a Voronoi diagram and Delaunay triangulation.
With these examples, it's your turn! You'll be embodying "algorithms" through two activities:
A peer-led case study
A final project
Through both of these, you have the opportunity to deepen your understanding of an "algorithm" at different levels. These levels are a rough sort, but there are many ways to categorize, and these categories are not fully defined!
at the lowest level, when defining the "instruction set" for the algorithm
examples: pseudocode, logic gates, Python, Java, cellular automata
consider also: Turing machines and other Turing-complete models, such as
Turing Tumble with marbles
at a mid-level, when a precise problem formulation and algorithmic solution (sequence of instructions) is given
at a high level, when the abstraction of an algorithm or object is given
Remember these prompts from Lab 3: Ideation and Tackling the Unknown:
What are your external constraints?
What are explicitly given requirements and restrictions?
What are implicitly given constraints? (If you don’t know where to start, think about what material and techn iques you already know.)
What are some possible self-imposed personal constraints? If you don’t know where to start, consider the following:
What do you want to learn (concept-wise, tool-wise, etc.)?
What skills do you want to improve upon?
What excites you? What are you passionate about? How can you incorporate that into the project?
What do you absolutely want to avoid and why? (The why is important here—if it’s that you don’t know how to use that tool yet, that may be a sign to challenge yourself to learn the tool for this project!)
Remember these prompts from Lab 3: Ideation and Tackling the Unknown:
What are your external constraints?
What are explicitly given requirements and restrictions?
What are implicitly given constraints? (If you don’t know where to start, think about what material and techn iques you already know.)
What are some possible self-imposed personal constraints? If you don’t know where to start, consider the following:
What do you want to learn (concept-wise, tool-wise, etc.)?
What skills do you want to improve upon?
What excites you? What are you passionate about? How can you incorporate that into the project?
What do you absolutely want to avoid and why? (The why is important here—if it’s that you don’t know how to use that tool yet, that may be a sign to challenge yourself to learn the tool for this project!)
Choose your own adventure
TEI conference (scroll down and look at past conference proceedings)
Nature-related
Generative models
Mathematicians Discover a New Kind of Shape That’s All over Nature
Framed as games
A Mathematical Paradox Shows How Combining Losing Strategies Can Create a Win
In 2017 two computer scientists demonstrated that this paradox can explain the varied life strategies of slime molds, which can alternate between a solitary, nomadic life and a stationary colony.
Generative systems
example 9.4
Procedural generation
Lowest level -- what operations do we have?
Binary marble adding machine (see also Turing Tumble)
Turing complete systems
Interactive projections
Other inspiration
Reconfigurable
More generative design projects in processing:
Folding
String pulling to 3D
https://www.tumblr.com/kitwallace/159631931839/laser-cut-nets-with-openscad
Voronoi/Delaunay
Hexaflexagon
Tiling
Wang tiles (also Turing complete)
DNA origami/tiles in survey paper Practical aspects of structural and dynamic DNA nanotechnology
Grid-based logic puzzles