Jon Udell’s 1999 book Practical Internet Groupware was a revelation for me: it was the first coherent explanation I’d ever read of how the disparate collection of technologies and social conventions that we call “the web” fit together, and what the deeper patterns and concepts beneath them are. After a lot of further work and thought, Jon has condensed those ideas into seven principles—or as he puts it, “Seven Ways to Think Like the Web“. These concepts are the most meaningful definition yet of what the phrase “computational thinking” actually means, and of what people who aren’t programmers need to know in order to use the web effectively. But it raises a question: what would a high school course that focused on these concepts, rather than on Excel or Java, look like? Is it even possible? Is there an equivalent of “Civics 101″ for the web?
I’m three weeks into 2011, and two weeks behind on everything. Where does the time go?
- I’m supposed to be working full-time on Software Carpentry, but between Jon Udell’s visit, the architecture book (#2 below), and trying to help the professional master’s students find internships (#3), I only booked 19 hours last week. Most of that was spent trying to raise more money, and trying to get people to contribute content. I did get some of the high-performance computing lecture drafted, though, thanks to help from Jonathan Dursi and Andrew Petersen, and I hope to post the first couple of episodes this week.
- The Architecture of Open Source Applications is winding down, but there’s still a lot of editing to do, and several contributors to chase up (if only to confirm that they’re not actually going to contribute).
- Last fall, the University of Toronto launched a new M.Sc. in Applied Computing. I finally got to meet the first six students a week and a half ago; they’re an impressive bunch, but I was dismayed to discover that no one had done anything about lining up the eight-month internships that are supposed to be the core of their degree. I’ll post again soon with a longer description of who they are and how they can help move new ideas and technology from academia into the real world.
- Ellen Hsiang has finished storyboarding the artwork for And Then…, a children’s book about the history of, well, just about everything. We hope to have a draft of the book on the web in about a month.
Tomorrow’s another Monday; let’s see if the week coming up is more productive (sorry, if I’m more productive) than the three gone by.
The Architecture of Open Source Applications is in its final stretch (I hope). We’ve got most or all of what we need from:
- Asterisk: Russell Bryant
- Audacity: James Crook
- Bash: Chet Ramey
- Battle for Wesnoth: Richard Shimooka and David White
- Berkeley DB: Keith Bostic and Margo Seltzer
- CMake: Bill Hoffman and Ken Martin
- Continuous Integration: Titus Brown and Rosangela Koening Canino
- Drupal: Angela Byron
- Eclipse: Kim Moir
- Erlang: Francesco Cesarini, Andy Gross, and Justin Sheehy
- Graphite: Chris Davis
- HDFS: Sanjay Radia
- Jitsi: Emil Ivov
- LLVM: Chris Lattner
- Mercurial: Dirkjan Ochtman
- NoSQL: Adam Marcus
- Packaging: Tarek Ziadé
- Selenium: Simon Stewart
- Sendmail: Eric Allman
- Snowflock: Andres Lagar Cavilla and Roy Bryant
- SocialCalc: Audrey Tang
- Telepathy: Danielle Madeley
- Thousand Parsec: Alan Laudicina and Aaron Mavrinac
- VTK: Berk Geveci and Will Schroeder
- Violet: Cay Horstmann
- VisTrails: Juliana Freire, David Koop, and Claudio Silva
Rethinking the Community Calendar:
A Case Study in Learning and Teaching Fourth R Principles
Jon Udell, Senior Technical Evangelist, Microsoft
Tuesday, January 18, 2 pm
John H. Daniels Faculty of Architecture, Landscape, and Design, University of Toronto
230 College Street, Room 103
Do you publish community calendar events? You are invited to:
- Realize that event data published in a structured format, unlike data published as HTML or PDF, can be routed through pub/sub syndication networks.
- Make public calendars available in the appropriate structured format: iCalendar (RFC 5545), the venerable Internet standard supported by all major calendar applications and services.
- Recognize that iCalendar is the RSS of calendars. It can enable a calendar-sphere in which, as in the blogosphere, everyone can publish their own feeds and also subscribe to feeds from other people or from network services.
- Help build the data web by owning the parts of it for which we ourselves are the authoritative sources.
The elmcity project delivers enabling technical infrastructure for this new approach to the community calendar. The project’s calendar syndication service is free; it runs open source code on the Microsoft Azure platform; it provides all of its syndicated data in open formats.
The real challenge isn’t technical, though, it’s conceptual. Most people don’t know how they could (or why they should) be the authoritative publishers of their own data. Missing concepts include:
- The pub/sub communication pattern
- Indirection (“pass-by-reference” vs “pass-by-value”)
- Structured versus unstructured data
- Data provenance
- Service composition
Along with reading, writing, and arithmetic, these Fourth R principles will empower an informed and engaged 21st-century citizenry. As Jeannette Wing argues in her computational thinking manifesto, computer and information scientists are no longer the only ones who need to understand and apply these principles. Now we all do. Drawing from the experience of the elmcity case study, this talk will explore what these Fourth R principles are, why they’re hard for most people to understand, how we can teach them, and why we should.
Jon Udell is an author, information architect, software developer, and new media innovator. His 1999 book, Practical Internet Groupware, helped lay the foundation for what we now call social software. Udell was formerly a software developer at Lotus, BYTE Magazine’s executive editor and Web maven, and an independent consultant.
A hands-on thinker, Udell’s analysis of industry trends has always been informed by his own ongoing experiments with software, information architecture, and new media. From 2002 to 2006 he was InfoWorld’s lead analyst, author of the weekly Strategic Developer column, and blogger-in-chief. During his InfoWorld tenure he also produced a series of screencasts and an audio show that continues as Interviews with Innovators on the Conversations Network.
In 2007 Udell joined Microsoft as a writer, interviewer, speaker, and experimental software developer. Currently he is building and documenting a community information hub that’s based on open standards and runs in the Azure cloud.
Laurent Bossavit recently posted a critique of Steve McConnell’s chapter in Making Software on productivity differences between programmers (French original here, English translation here). In response, Steve posted this article that explains how he came to this topic when writing Code Complete, and then goes through the research he cited in his chapter, correcting the mistakes in Bossavits’ critique point by patient point. I think Steve has actually read the literature his claims are based on (Bossavits admits in several places that he hasn’t), and there are no drive-by ad hominem attacks—in short, his post is a great example of how this discussion should be conducted.
A little bit of the future from this morning’s Twitter…
Cognitive dissonance (n): voting for someone because they’re going to clean up the city’s finances, then supporting them when they decide to spend $344 million on 61,000 people instead of $111 million on 630,000:
Somebody needs to tell Mayor Ford that Torontonians don’t want a cheap city: they want a good one.
We all know it’s not true, but it’s still a useful story: if you put a frog in hot water, it will jump out, but if you put it in cool water and slowly boil it, it’ll just sit there, because there’s never a moment when it says, “Wow, this is hot!”
As with frogs, so with computing education. This post on “The Collapse of Computing Education in English Schools” could just as well have been written about Canada, the US, or almost anywhere else. It’s been a crisis now for so long that many of us have stopped really noticing how much trouble we’re in—certainly, I see no sign that the people with the power to change things have this on their “must fix” list.
Which makes this post by Mark Guzdial all the more poignant. iPads in the classroom? It’s the kind of thing that gets someone headlines, but if teaching methods don’t change—radically—it will have just as much (i.e., just as little) impact as all the other tech-in-the-classroom wizardry that has failed us over the past century.
We’re about to start another online run of the Software Carpentry course with almost 100 participants from half a dozen countries. A lot of things didn’t work in last fall’s run; we’re hoping to fix some of those this time around, or at least make different mistakes, so that we can learn a little more about how teaching and the web can be adapted to one another. It may not give school trustees a pile of boxes to stand beside at a photo op, but changing practices is a lot more important than any number of shiny new toys—and a lot harder.