What is computational thinking?
A set of
principles, practices, and patterns
that govern the
structure, flow, and processing
of information in networks.
Who learns these principles today?
Who should learn them?
Our fate as a society depends on
our collective ability to
in (and about)
What are some principles of computational thinking?
What principle did Allen Noren apply?
Every book has a unique keyword, or tag
Mine was pracintgr for Practical Internet Groupware
The tag is used consistently in URLs for:
Tables of contents
What principles did I apply on Allen’s behalf?
Principle: structured data
How we describe calendar events:
quot;Communications Committee, Tuesday at 5:30, Cheshire
Career Center Conference Room, KHSquot;
How computers understand calendar events:
LOCATION:KHS , Cheshire Career Center Conference Room
Anti-principle: Artificial intelligence
We infer context easily. Software tries hard, often fails.
Principles: indirection, pub/sub
Keene Sentinel: Monday night chess club,
6:30 PM, Best Western Hotel (wrong)
Eventful.com: Monday night chess club,
6:30 PM, E.F. Lane Hotel (right)
When we are authoritative producers of feeds,
and when the newspaper consumes them, the
Information we provide will be timely and
“We posted weekly.pdf to the website.
Isn’t that good enough?”
Principles: abstraction, generalization
Bloggers publish and subscribe to feeds
So do Twitterers
Abstraction: Publish/subscribe is a key
Generalization: iCalendar files are feeds,
can form pub/sub networks.
Project communication / collaboration
The room orchestrates feeds
In the same way that the project
Principles at work in the elmcity project
How do we learn and apply these principles?
How do we teach them?