This document discusses computational thinking and some of its key principles such as indirection, abstraction, namespace management, publish/subscribe syndication, query, composition/decomposition, generalization/specialization, and structured data. It provides examples of how several projects and organizations have applied these principles in areas like search engine optimization, event metadata, collaboration, and more. The document argues that computational thinking principles should be taught more broadly as they are important for how people and information are interconnected in networks.
2. What is computational thinking?
A set of
principles, practices, and patterns
that govern the
structure, flow, and processing
of information in networks.
3. Who learns these principles today?
Mathematicians
computer scientists
geeks
Who should learn them?
Everybody
WHY?
4. Our fate as a society depends on
our collective ability to
create,
organize,
navigate,
search,
interconnect,
and reason
in (and about)
networks of
people
and
information
5. What are some principles of computational thinking?
Indirection
Abstraction
Namespace management
Publish/subscribe syndication
Query
Composition/decomposition
Generalization/specialization
Structured data
Automation
15. What principle did Allen Noren apply?
Namespace management
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
Cover images
Summaries
Indexes
Author bios
16. What principles did I apply on Allen’s behalf?
Abstraction
Structured data
Automation
21. 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:
DTSTART:20080617T173000
SUMMARY:Communications Committee
LOCATION:KHS , Cheshire Career Center Conference Room
23. 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
correct.
25. Principles: abstraction, generalization
Bloggers publish and subscribe to feeds
So do Twitterers
Abstraction: Publish/subscribe is a key
pattern.
Generalization: iCalendar files are feeds,
can form pub/sub networks.
29. Project communication / collaboration
The room orchestrates feeds
In the same way that the project
Itself does.
30. Principles at work in the elmcity project
Indirection
Abstraction
Namespace management
Publish/subscribe syndication
Query
Composition/decomposition
Generalization/specialization
Structured data
Automation
31. How do we learn and apply these principles?
How do we teach them?
Let’s discuss.