For the remainder of the semester, we'll shift gears a bit. Up until this point, the course has led you through different algorithmic settings (broadly defined) through labs and projects.
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?
Now it's your turn! You'll be exploring "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
examples: Genetic Algorithms & Generative Design
Consider:
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!)
Activity
In pairs/trios, look through the articles/projects from the Inspiration below or (or propose your own).
At the end of class, give an elevator pitch addressing the question:
Where is the algorithm?
90-SECOND ELEVATOR PITCH TEMPLATE
COMPANY
Who you are.
NEED
Explain who your customers are and the problem they face.
SOLUTION
How do you solve this problem. Don’t tell us any technical details, just tell us the same way you would tell your non-tech-savvy grandparents.
MARKET
Tell us how many dollars feel the need you described above. If you do not have a dollar amount, tell us how many people feel the problem.
BUSINESS MODEL
Explain how you make money. Do you sell the product to wholesalers for a flat fee? Do you charge a subscription? Do you split revenues with a partner?
EXIT
Explain to us how the investor will get their money back + a healthy profit (at least double their money, if not 5-10 times their money). Will you sell the company? Will you license your technology and split the royalty check with the investor? Will you sell your product and share profits with the investor?
PEOPLE
Tell us who the smart, experienced, credible people you have assembled to execute your business plan are. If you don't have them yet, tell us what you do have and that you're smart enough to be looking for the rest.
THE ASK
How much money you need and what it will let you do.
Adapted from entreclub.org
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
Reconfigurable objects
Hexaflexagons --> hexaflexagown?
String pulling to 3D
https://www.tumblr.com/kitwallace/159631931839/laser-cut-nets-with-openscad
DNA origami/tiles in survey paper Practical aspects of structural and dynamic DNA nanotechnology
SwitchPitch
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
Procedural generation
Lowest level -- what operations do we have?
Binary marble adding machine (see also Turing Tumble)
Turing complete systems
Interactive projections
Other inspiration
More generative design projects in processing: