Search: Advanced Algorithmic Design Spring 2008
Lectures
Class 1: Introduction to Algorithmic Structure
Class 2: Development + Behavior
Class 3: Affiliations & Group Behavior
Class 4: Search Space and Fitness Graphs
Class 5: Meshing Resources
Project
Sign-Up List
Labs
To do for Feb 5th:
Beginning in Processing
Vector mathematics
Beginning in MEL
To do for Feb 12th:
Classes in Processing
Student Pages
Project Pages
Syllabus
Search: Advanced Algorithmic Design Columbia GSAPP : Spring 2008
Instructors:
Mark Collins
Toru Hasegawa
Abstract: This workshop will explore generative design methodologies through the application of algorithmic techniques. More specifically, we will be looking at fundamental coding principles (recursion, feedback, modularity and I/O) while teasing out a rich taxonomy of algorithm structure. Artificial life, material intelligence, interactivity, and other second-order principles will be approached from the vantage point of "dynamics" and "search" – or the introduction of directed intelligence into a dynamic process of making. As we continue to 'feedback' experience from previous iterations of the course, we will be focusing this semester on the interrelationship between "development" and "behavior" against a backdrop of population dynamics, search spaces and fitness landscapes.
Development : A process in which something passes by degrees to a different stage. Behavior: The aggregate of responses to internal and external stimuli.
Behavior and development are understood to be a sum, or aggregate, of a multitude of innocuous decisions. Each is a 'dynamic', or a process 'in time' that necessarily feeds-back and regulates procedures to promote higher levels of form, organization, and movement. Students will develop a focused inquiry into a specific area of algorithmic dynamics. Here, "dynamics" is meant as a inclusive term for all kinds of activity: formal development, flocking, embryology, automata, FEA , fractals and l-systems are all examples of time-based recursive practices. The class is meant to flesh out a vocabulary and structural understanding of a wide array of algorithms, to look for correspondences among dynamics, mapping and search heuristics. By casting a wide net, we hope to see opportunities for portability and the development of a critical stance towards algorithmic 'tooling.'
The workshop will turn on the search for value and resistance within a milieu of robust dynamism. The production of the class will be focused on two projects: a generative procedure and a system of valuation. As a last step, we will be using meshing as a means to translate various types of information into topologically complex form. This workshop is an exploration of algorithmic design methodologies rather than a scripting tutorial and although some prior scripting experience will be useful, NO scripting experience is required. We will be interested in the economic deployment of short, modular pieces of code that become inter-operable and give rise to complex structures and novel behaviors.