Usually when you think of computation you think of this:
Which is fine, because this could compute:
pretty much anything
But there's more to computation than that.
p(x) = 2x^2 - 3x + 2
Which way is south
Computational Thinking
- Analyze and logically organize data
- Data modeling, data abstractions, and simulations
- Problem Formulation
- Identify test implement solutions
- Automate a solution
- Process Generalization
Computational Thinking (reduced)
- Determine a pattern.
- Put processes in place to handle that pattern.
- Check that latest data conforms to the pattern.
- Repeat 3 or Repeat 1
We're surrounded by computation, but the story of what that computation is doesn't get told.
A few examples off the top of my head
- What information we see online
-
- Stock Market behavior
-
- Whether we get a loan
-
- Whether we get health insurance
-
The more we're surrounded by computation, the more important it becomes to us.
The more it becomes a part of how we understand the world and communicate about the world
Which means it can be well designed, or poorly designed.
Whether we know it or not, we design for these entities:
Humans |
Businesses |
Locations |
Cities |
Nations |
Services |
Algorithms |
Institutions |
Robots |
Hybrids of all the above |
And all of them are aware of each other.
So it behooves us to understand how they:
inter-relate
communicate
preceive one another
Note: I don't mean programming.
"If we don't learn to program, we risk being programmed ourselves...program or be programmed." - D. Rushkoff
Programming != computation.
Couldn't program
Didn't program
Right now computation is generally just seen as:
stuff we can't understand
stuff we don't want to do
cute stuff
Data thinking is everywhere:
They're pretty. They're interesting. They're well-designed. And...
they're fundamentally Data Thinking
Computation is everywhere, but computational thinking isn't well-communicated.
"Computability" = "legibility"
I don't know the answers, but I know some of the problems:
What are you doing and how are you doing it?
How do we talk about computation?
How do we tell computational stories?
How do we design for computation?
I've been struggling with this:
You will make computational things and people will need to:
- Learn how you meant them to be used
- Learn how they actually use them
- Learn how your use fits into their life
- Learn whether it can be modified or not
- Learn how to change it or replace it
We will need to understand computation as a way to:
- Communicate
- Explore
- Understand
- Story-Tell
Data Viz allows us to think beautifully/meaningfully about data
So how will we design when we need to think beautifully/meaningfully about computation?