computational thinking

31
Computational Thinking Jon Udell UCEA April 2009

Upload: judell

Post on 07-Dec-2014

5.548 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Computational Thinking

Computational Thinking

Jon UdellUCEA

April 2009

Page 2: Computational Thinking

A set of

principles, practices, and patterns

that govern the

structure, flow, and processing

of information in networks.

What is computational thinking?

Page 3: Computational Thinking

Who learns these principles today?

Mathematicians computer scientists

geeks

Who should learn them?

Everybody

WHY?

Page 4: Computational Thinking

Our fate as a society depends on our collective ability to

create, organize, navigate,

search, interconnect, and reason

in (and about)networks of

people

andinformation

Page 5: Computational Thinking

What are some principles of computational thinking?

Indirection

Abstraction

Namespace management

Publish/subscribe syndication

Query

Composition/decomposition

Generalization/specialization

Structured data

Automation

Page 6: Computational Thinking
Page 7: Computational Thinking

How would Piaget explain this?

Page 8: Computational Thinking

And how would Piaget explain this?

The structured Information must be here, right?

Actually, no, it isn’t anywhere.

Page 9: Computational Thinking

Andy Baio’s analysis of Feed the Animals

Page 10: Computational Thinking

Track data on Wikipedia

Page 11: Computational Thinking

Amazon Mechanical Turk bulk requester

Page 12: Computational Thinking

What principles did Andy apply?

Structured data

Decomposition

Composition

Automation Generalization

Page 13: Computational Thinking

oreilly.com search: before

Page 14: Computational Thinking

oreilly.com search: after

Page 15: Computational Thinking

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

Page 16: Computational Thinking

What principles did I apply on Allen’s behalf?

Abstraction

Structured data

Automation

Page 17: Computational Thinking

Transparency Camp 2009

Page 18: Computational Thinking

Principles in use at Transparency Camp

Publish/subscribe syndication

Namespace management

Indirection

Query

Page 19: Computational Thinking

Public events: the conventional way

Page 20: Computational Thinking

Public events: the computational way

Page 21: Computational Thinking

Principle: structured data

How we describe calendar events:

"Communications Committee, Tuesday at 5:30, Cheshire Career Center Conference Room, KHS"

How computers understand calendar events:

DTSTART:20080617T173000 SUMMARY:Communications Committee LOCATION:KHS , Cheshire Career Center Conference Room

Page 22: Computational Thinking

Anti-principle: Artificial intelligence

We infer context easily. Software tries hard, often fails.

Page 23: Computational Thinking

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.

Page 24: Computational Thinking

“We posted weekly.pdf to the website. Isn’t that good enough?”

Page 25: Computational Thinking

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.

Page 26: Computational Thinking

Calendar curation for Huntington, WV

Page 27: Computational Thinking

Metadata for Huntington, WV

One of these thingsIs not like the other.

Page 28: Computational Thinking

Project-wide metadata

Page 29: Computational Thinking

Project communication / collaboration

The room orchestrates feedsIn the same way that the project Itself does.

Page 30: Computational Thinking

Principles at work in the elmcity project

Indirection

Abstraction

Namespace management

Publish/subscribe syndication

Query

Composition/decomposition

Generalization/specialization

Structured data

Automation

Page 31: Computational Thinking

How do we learn and apply these principles?

How do we teach them?

Let’s discuss.