From Yelp reviews directing people to preferred restaurants to Airbnb reprogramming homes into vacation rentals, the invisible code that powers a city’s use may have more drastic influence than any physical invention in the last century. This course will focus on creating agent based models that enable designers to speculate creatively about behavior in the urban environment. Students will develop a critical understanding of the social, economic, and political dynamics caused by these technologies as well as technical training in simulation, sorting and visualization techniques. We will hypothesize about the relationships of tools and space, as well as develop models and simulations so designers can gain a foothold in the changing landscape of a platform city.
The main technical language of this course will be Python in Processing and C# in Unity. No prior coding knowledge is necessary, though the content of the course will require perseverance. This course is exceptionally difficult and time intensive. Students are expected to regularly submit coursework, attend classes and submit a final comprehensive project.
- Methods, tools and data, system-logic
- Experimentation with code-driven workflows
- Critical understanding of simulation/data concepts (generalization, bias)
- How the underlying framework of a system determines its behavior over space and time
Students will submit a Medium post to the course website for each module by midnight on the due date. Posts should include: a catchy title, authors, a succinct description of what their simulation is, why it’s important, simple sketches or diagrams of how it works, code snippets demonstrating how it was made, and visual documentation of the simulation running (videos, gifs, images).
Post Due: Sep 24
week 1 | Sep 4 | Complexity, Agent Based Models, Unity
- Lab:Pseudo Code, Simple Agent Based Model
- Module: Unity Intro
week 2 | 11-Sep | Populations, Emergent Behavior, Randomness
- Lab: Simulation Dissection, Population Poetry Pair Programming
- Module: Behavior Bricks
- Assignment Read:
- — “The Environment is Not a System,” A Peer-Reviewed Journal about Research Values, 2018.Tega Brain (all)
- — “What, Why, How: Spatial Simulation Models,” Dan O Sullivan (all)
- — Simulacra and Simulation Jean Baudrillard & Sheila Faria Glaser
University of Michigan Press, 2018. (page 3–4) — NOT REQUIRED
week 3 | Sep 18 | Data Subjectivity, Bias, Fidelity, Limitations of Models
- Discussion: We will have a discussion based on the readings. What do we consider “models” ? Why do we need models? What are the limitations of models?
week 4 | Sep 25 | Student Presentations: Population
Post Due: Oct 23
week 5 | Oct 2 | Environment, Logistics, Movement, Routing, Graph Theory, Activity Based Travel Models
- Lab: Project Brainstorm / Spreadsheet Shared
- Module: Mapbox SDK and/or routing
week 6 | 9-Oct | Workshop on Simulation Arguments
- Workshop In Class Paper Workshop Reading Example Papers + MetaPaper
week 7 | Oct 16 | Desk Crits
week 8 | Oct 23 | Student Presentations: Space
Arch. Midterm Reviews Oct 22 — Nov 2
Students should be in groups now!
Post Due: Nov 13
week 9 | Oct 30 | Scheduling, Taylorism, Affordance, Game Theory, Behavioral Economics, Decision Trees
- Lecture: Taylorism, Affordance, Behavioral Economics
- Lab: Time Project Brainstorm
- Assignment Read:
“An Internet of Things,” Keller Easterling
- “Humans of Simulated New York”, Francis Tseng
- “Governing the Commons” & 8 Design Principles, Elinor Ostrom
week 10 | Nov 6 | “Invisible” City & Simulation As Practice
Meet in 300 Buell S
We will have a discussion based on the readings. What are the “invisible” forces driving the city? Can we study them forensically through their intended and unintended physical consequences? What are the limitations of models? What does it mean to create a practice around simulation? What does this mean for the built environment and practitioners?
week 11 | Nov 13 | Student Presentations: Time
Meet in 115 Avery (moved rooms for special lecture)
Final “Vignette Simulation”
Post Due: TBD
week 12 | Nov 20 | Desk Crits
week 13 | Nov 27 | Optional Desk Crits GVC
week 14 | Dec 7 (Sat) | Optional Desk Crits GVC
week 15 | Dec 16 | Final Review
GSAPP Final Review Week Dec 3 — Dec 12
- Final Post /Presentation Due
- Attendance / Class Participation…………….………….… 20%
- Populations .…………….……………………..…………… 15%
- Space .……………………….………………..…………… 15%
- Time .……………………….………………..…………… 15%
- Final………….…………….………………..……..….… 35%
Experimentation — This class emphasizes experimentation over something well done but expected. Try to make things that surprise yourself. Life is short!
Openness — We’ll learn about an eclectic range of subjects, and strive to develop relations and new models that have not yet been made. Be open to new and untested theories and models.
Programming is hard — Learning to program will take years and years of practice like any other language. Not only is it a language, it’s also a very different way of thinking. Sometimes the best way to learn is to build things you enjoy. Play!
Collaboration Attitude — One of the best ways to learn new methods (especially in programming) is to learn from peers. Respect every voice, even quiet ones, and make class a great place to be. Support and push one another.
Documentation Methods —
- This class emphasizes videos, gifs and anything interactive because it demonstrates time, behavior, and rhythm which is hard to capture in a static image.
- Diagrams and code are an important tool in documentation. They help to reveal intentions and assumptions in work. They also allow others to build off of your work.
- Posting your work online is an opportunity to establish your voice, get credit for your ideas, and participate in the collective voice of the class.
Welcome to this class. I’m glad you’re here and I can’t wait to see how you grow and what you do this semester and beyond.