Design Computation

Modules

Fundamentals

  1. Static Form
    Introduction to Processing. Basic syntax, sketch structure, function execution. Drawing methods.
    Structure 1. Shape 1. Color 1.
  2. Parameterization
    Data and state. What we know. Types and values. Variables. Mathematics to change state. Using variables to describe the data of a design proposition.
    Data 1. Math 1.
  3. Rules and Decisions
    Conditional logic and execution. State machines.
    Control 1.
  4. Multiplicity
    Loops and arrays. The naming problem. Indexing. Parallel arrays used to describe multiple properties.
  5. Dynamic Form and Associativity
    Using pseudocode to describe computational processes. Breaking down problems into something computable. More mathematics. Tying states together so geometries are associated. Breaking down a process into repeated chunks of instructions. Giving names to procedures and sets of instructions.
  6. Multiplicity 2: Objects
    Basics of creating and using classes and objects.
    1. Defining classes of objects.
    2. Referencing with variables and arrays.
    3. PVectors
    4. ArrayLists
    5. Inheritance
    6. Polymorphism
  7. Images and Typography
  8. Coordinate Systems
    1. Transformation methods
    2. pushMatrix() … popMatrix()
  9. 3D
    Working in three dimensions.
    1. PeasyCam
    2. Geometry: beginShape() … endShape()
  10. Visualization
    1. Rendering techniques
  11. Files and Formats
    1. Reading and writing files
    2. Parsing existing file formats

Intermediate

  1. 3D Geometry
    Surfaces, meshes, mathematically driven surfaces, NURBS, operations to change, parameterization of, etc.
  2. Pseudophysics
    1. Particle Systems
    2. Spring + Point Mass Systems
  3. Cellular Automata
  4. Fractals
  5. Distributed Systems
    1. Agents
    2. Behavior
  6. Artificial Life
  7. Artificial Intelligence
  8. Processing Libraries
  9. Algorithms
    1. Sort
    2. Geometric
  10. Data Structures
    1. Trees
    2. Graphs
    3. Queues
    4. Lists
    5. Dictionaries
  11. Search
  12. Tooling
    Interface design, making something presentable to the world.
  13. Intro to Computational Geometry
    1. Mesh Library (Voronoi, Delaunay, convex hull)
  14. Generative Form
    1. Growth rules
    2. Creating a semantic model

Advanced

  1. Semantic Modeling
  2. Functional Programming
  3. Recursive Data Structures
  4. Physical Computing : Hardware
  5. Evaluation and Optimization
    1. Random Search
    2. Genetic Algorithms
    3. Simulated Annealing
  6. Neural Networks
  7. Advanced Computational Geometry