design thinking is computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · gabe johnson -...

44
design thinking IS computational thinking mark d gross cmu school of architecture (computational design lab)

Upload: others

Post on 18-Mar-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

design thinking IS computational thinking

mark d grosscmu school of architecture(computational design lab)

Page 2: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

Computational thinking is a way of solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science. ... thinking in terms of abstractions, invariably multiple layers of abstraction at once. ... the automation of these abstractions.

CMU Computational Thinking website manifesto

Page 3: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

... in its embodiment as the physical computer, computation opens a vast universe of things to do. But the real magic comes when this is combined with the conceptual power of theoretical ideas associated with computation.

Computation has had a profound impact by concretizing and elucidating many previously subtle concepts in psychology, linguistics, and the foundations of logic and mathematics. I shall try to show how this elucidation can be projected back to the initial teaching of these concepts.

Page 4: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

programming language IS important

CMU C-T says “computational thinking is not just programming”

I say,

Complicated thoughts demand external notation, the notation we use affects what we can think.

(Whorf hypothesis)

Page 5: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

therefore:

... domain oriented, high-level languagesso end users can build their own ideas ...

We should design our languages to help us think better.

Page 6: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

pro.gram == de.sign

out, offout, forward

something written, a mark

mark

source: Oxford English Dictionary, thanks: Martin Brynskov

Page 7: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

design has always been

computational

Page 8: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

so what’s the big deal?

Page 9: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

architecture

Page 10: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

What has the design of the Gates building in

common with the design of Windows Vista™ ?

Page 11: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

• large complex project• accommodate legacy users• support change over time• hard to keep on schedule• designers work concurrently at different levels• multiple stakeholders, conflicting requirements

Page 12: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

How to design?

How does designing work?

Page 13: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

Mass Housing

Page 14: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

variability?flexibility?change?

“Supports” — how to design for:

Recognize: dependency, control hierarchies

(gravity, enclosure, supply)scope of action (who can act where?)protocol layers

N.J. Habraken, “SAR 65”

Page 15: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

evaluate a system differently than a single designexample: capacity to support lower level variation

design a system, not a building

Page 16: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

all this leads inevitably to:

design spaces, search, optimizing and satisficing, minimal spanning trees, clustering, &tc

Page 17: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

constraints

Page 18: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

design as exploring constraints

designers define a space of alternativesby adopting and inventing constraints

because problem and solution “co-evolve”so: constraint programming languages for design

designers (end users) use constraints to define abstractions

Page 19: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

CoDraw (constraint language and draw program)

* object oriented* constraint based• relations first class objects• interval math• simultaneous, nonlinear • multiple inheritance• part lattice (not tree)* end users program it

~1990

Page 20: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -
Page 21: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

drawing

Page 22: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -
Page 23: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

visual languageshow do design drawings mean?

drawing is a notation for reasoningrecognizing and interpreting diagrams

drawing as a front end to knowledge based systems

electronic cocktail napkin

Page 24: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

Cocktail Napkin recognizer:

2 levels end user defined recognizer• Ledeen (augmented) for symbols• Higher-level grammar for configsLazy, context-driven, context inferringOn-the-fly trainingMaintains ambiguity

Sketches:Quick ImpreciseVague, suggestiveIncrementally formalSymbolic Meaningful

Beautification considered harmful

Page 25: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

drawing for:• retrieving information• back-of-envelope simulation• modeling & construction• editing

Page 26: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

drawing to annotate, model

as interface to expert lighting design advisor

Page 27: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

critiquing design drawings

Page 28: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

construction

Page 29: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

construction kits & craft

Page 30: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

FlatCAD: using 3D turtle geometry to design and manufacture wood models

Page 31: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

SewOmetry - using FlatCAD to make construction kits

Page 32: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

Text

Furniture Factory - sketch to 3D for rapid manufacture

Page 33: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

www.roBlocks.org

roBlocks a toy for distributed computational thinking

black sensorswhite actuatorscolored operatorscompute locally to produce“emergent” behavior

Page 34: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

cube robots (with Seth Goldstein’s Claytronics group)

Page 35: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

Posey !

Page 36: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

dectape

Page 37: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

future workdesign as debugging

design compilers (e.g., for mechatronics)design by analogy

critiquing

Page 38: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

Design is important (everything is designed).We don’t know a lot about how design works.

Computational thinking will help.

IS Design Thinking Computational Thinking?

If it’s not, it should be.

Page 39: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

thanks! Ellen Yi-Luen Do - Electronic Cocktail Napkin Gabe Johnson - FlatCADShaun Moon - SewOmetryThomas Jung - 3D sketch annotationYeonjoo Oh - Furniture Factory, CritiquingEric Schweikardt - roBlocksMike Weller - Posey, cube ‘bots

NSF ITR 0326054 : Construction Kits (w. Eisenberg)NSF CCF 0613822: Science of Design (w. Shaw, Finger, Herbsleb)PITA ‘04-’05 “Thinking With Your Hands” (w. Do, Finger)

http://code.arc.cmu.edu

Page 40: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

end

Page 41: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

research in design @ CMU

[email protected]

since we know you’re free Tuesday afternoons ...

oct 16: suguru ishizakiA Model of Rhetorical Design Strategies

Page 42: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -

Oh, really? So when I say: "Nicole bring me my slippers and fetch my nightcap," is that prose?

Most clearly.

Well, what do you know about that! These forty years now, I've been speaking in prose without knowing it! How grateful am I to you for teaching me that!

MONSIEUR JOURDAIN

PHILOSOPHYMASTER

MONSIEUR JOURDAIN

Moliere: Le Bourgeois Gentilhomme

computational thinking?

Page 43: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -
Page 44: design thinking IS computational thinkingcode.arc.cmu.edu/archive/upload/ct.0.pdf · Gabe Johnson - FlatCAD Shaun Moon - SewOmetry Thomas Jung - 3D sketch annotation Yeonjoo Oh -