As I left the house this morning, my mind was racing over concepts of finance that I'd watched last night. Jon Udell interviewed Salman Khan about education and screencasting in his work on http://khanacademy.org. Their conversation began with thoughts about using a minimalist approach to produce tutorials on a vast array of subjects. They moved on to exciting conversations about education and technology. I spent some time watching a few of the videos... surprised to find that some among that collection were directly relevant to some of the work I do for bivio. My mind was buzzing about present value and his spreadsheet model for analyzing the question of buying a house vs. renting. I was daydreaming of other possibilities for the software he's created to quiz people on math concepts: http://khanexercises.appspot.com/. I was thinking about how I might do something similar around my work on perspective, or around the lessons I've learned about software development and software business from Rob. I was thinking a little about how I might simplify whatever it is I want to tell about Ralph Miller, Sarah's Grandfather.
Then I snapped out of my inner world and noticed the space I was in.
The sun was brilliant on the snow as I walked to work this morning. Each crunchy step along the sidewalk carried my eyes through shimmering veils, twinkling rays of sunlight reflecting off of the snow from every direction I turned. The sparkly blanket was striped with the startling visual quiet from the shadows of trees and shrubs.
The inner and outer landscapes were equally beautiful and exciting. I'm glad to have been lost in thought and equally glad to have been found in the moment. At least some people I know would disagree. If you have not been enchanted by mathematics and software, I'm sorry for the beauty you're missing. And regardless of that question, I hope that you see the beauty where ever you are right now as well as the beauty inside you.
The secondary market for games has a liquidity that approaches foreign-exchange trading - Tim Bray
(If you happen to know nothing about forex trading or video games, move along. Nothing to see here.)
Computational thinking and computational doing are powerful tools for teaching powerful ideas.
In Makers vs. Sponges Elizabeth Corcoran comments via O'Reilly Radar:
I keep wondering why we lump all "technology" into the same basket. By doing so, we ignore the most important distinction of all: whether we are sponges for absorbing other people's ideas, or whether we're making our own.
Some of the comments on that article turned into a small discussion about tools vs. content. I composed this first in reply to that discussion, but wanted to expand on the idea here.
The article Gary S. Stager wrote: A new paradigm for evaluating the learning potential of an ed tech activity emphasizes a need for education to introduce "powerful ideas". I'd like to expand on that thought with a few concrete examples.
Once upon a time, a very long time ago, long division was the subject of doctoral dissertations. Today long division is taught in elementary school.
What changed between those eras was the introduction of hindu-arabic numerals. Long division in roman numerals is profoundly difficult. The new technology of digits, and especially the humble number zero, completely changed long division into the relatively simple algorithm that we all learned in grade school.
The technological revolution that I want to see in education would make physics and calculus and linear algebra accessible to elementary aged kids, among other advanced subjects. But current student assessments are measuring for things like long division -- more advanced subjects would be missed completely. And schools of education are not preparing future teachers to teach more advanced material.
When I talk about teaching physics in elementary school many people look at me like I'm insane, or that I have no concept of "age appropriate". But the future is already here. It's just not very evenly distributed.
In 1967 Seymore Papert was introducing elementary aged kids to LOGO. The turtle graphics in logo are differential geometry -- very advanced mathematics made completely accessible to young children. Some of Alan Kay's recent work includes fifth-graders recreating Galileo's experiments and then building computer models of gravity to compare with their experimental data. That's physics -- newtonian mechanics to be specific -- made accessible to grade schoolers.
Forty-three (seriously? 43?!) years later we don't see even LOGO among educational standards. I don't think there are enough adults who understand what a huge leap it is to teach differential geometry to kids through turtle graphics. In the late 1970s Apple II computers poured into many schools and LOGO became widely available in education. But those thirty plus years ago a bunch of adults saw some pretty pictures, shrugged, and ignored it as child's play instead of recognizing it for the little revolution it really could be. What else could we be teaching with these tools? If we could start elementary kids with an elementary understanding of newtonian mechanics, what could we be teaching them by the time they got to high school?
I really like Gary's comments about powerful ideas and can't agree forcefully enough that computational thinking and computational doing are powerful tools for teaching powerful ideas. It is about the tools, but not only about the tools. Like the humble number zero, computing can completely transform the nature of the material we would like to teach our children.
Other posts about powerful technology and powerful ideas:
Alan Kay and computational thinking
Logo, Fractals, and Recursion; Programming, and Removing Repetition
I'm rethinking the design of my blog visually, organizationally, and in instrumentation. Well, I'm also rethinking my career. Hoping to focus my professional attention on computational education. Those of you reading via the feeds, there's likely to be some churn as I rearrange things a bit. I'll try to minimize the noise, but just in case I break something badly, you'll have had a little warning.
It seems I've started down the road of systemic education reform which for me is focused on effective use of technology for learning and teaching. This is a rough map of what I'll be working on for the rest of my life. Ideas range from design of instructional units and lesson plans, a whole branch of lessons from Alan Kay presentations, professional development for teachers, a collection of really big ideas that computation and networking enable, among other things. If I have seemed like I'm all over the map when speaking to you about educational technology, the "systemic" part might explain the appearance of a lack of focus. No one of these things is going to bring the technology revolution to education.
computational-education.pdf
computational-education.svg

My life's work is computational education : the systemic transformation of education as we know it through effective use of computing and networking technology. Systemic reform demands system-wide and system-deep solutions: no single area will be sufficient and all areas need attention. Although I have ideas for every dimension of the system, I'll focus here on a few specific areas where I would like to start now: ubiquitous computing, spatial reasoning, and programming.
Computing first stormed the gates of education back in the 1970's when the price of computers went down from 100s or 10s of thousands of dollars to only thousands of dollars. The widespread adoption of Apple II computers in school launched a few generations of computer geeks in their careers and thereby laid a foundation for the transformational changes we've seen in the decades since. But sadly education remained mostly unchanged for decades. We're in the midst of another drop in the cost of computing by another order of magnitude. Changes by an order of magnitude are important. There's a new gold rush going after mobile computing but I think the more important concept is ubiquity. Most people can now afford a powerful networked computer that fits in their pocket and turns on instantly -- access to all the world's knowledge wherever there's a wireless signal. But unless we learn from history, it'll be a decade or more before ubiquitous computing changes anything in education.
We can soon provide every educator and every child with their own mobile computer. What will we do with them? I'd like to be inventing the answers to that question because the best way to predict the future is to invent it.
Here are a few examples of educational opportunities I see in mobile computing: distributed computing, messaging, lessons in emergence, agents, artificial life, digital collection of experimental data in the field by capturing images, sound, and video.
I'm particularly excited about things we can do with computers that cannot be done in any other media. Three-dimensional modeling and representation is something that's been prohibitively difficult and expensive to do on paper. Time is also challenging to model on paper. The computer quite literally can take us to new dimensions in communication and creative expression.
Few people know or appreciate that the design professions (architecture, urban planning, landscape design) also offer excellent preparation for software design. With advances brought by computing, sophisticated spatial reasoning need no longer be confined to design professionals (and sculptors ;-). Anyone can build interactive pictures which communicate in both space and time. That's a paradigm shift (and I don't use that phrase lightly).
For an example of untapped potential in spatial modeling of knowledge, see my daydream of modeling the Map Room at St. Peter's Basillica There are a number of other examples to be found in the history of perspective. Someday (hopefully soon) I'll be able to recreate the perspective animations I created earlier in my life. Also, Google Maps and it's competitors invite home grown GIS applications to connect spatial data to maps where the only cost is the time needed to create the mashups. For a particularly inspiring example of spatial reasoning in action, take seven minutes to watch Blaise Aguera y Arcas demos Photosynth
Consider also the possibilities for applying Sketch-up and sketchyphysics and stereoscopic projectors... there's a whole lot of exciting and largely untapped material for education.
The relevance of this takes a little explaining, especially for non-programmers, but probably even for programmers.
The printing press completely changed the economics of books. With that change came widespread literacy to the point now where people are embarrassed if they cannot read or write. Programming is to computers what literacy is to books. To really harness the power of computing as a transformational medium, we need widespread computational literacy. This metaphor of computers to books is important. Throughout European history, power was concentrated in the hands of the very few people who were literate. The printing press and widespread literacy completely changed the balance of power. We currently live in an age where the power of computing can only be harnessed by the few who can master programming languages. Google and Apple and Microsoft, and also Yahoo and Facebook and others hold some incredible power for their ability to pay programmers to harness computing and networking. All of their customers benefit, but are also somewhat controlled by the design choices of the software on offer. Concentrations of power invite abuse of power and these companies are collecting a lot of power.
Programming languages are also powerful bridges between language and mathematics. Superficially, they look a lot like algebra and pre-calculus. However, much of programming is the art of choosing the right names and categories and the right abstract concepts to organize a large body of software. Although it's rarely thought of as such, programming is also language art. On a related note, to belabor the point, programming language communities display cultural dynamics just as natural language communities do. Perl culture is distinct from Python culture which is distinct again from the cultures of JavaScript, C++, Java, Objective-C, Lisp and Haskell.
Programming need not be confined to a narrow community of computer hackers. We can and should teach these skills more broadly. Alan Kay's keynote speeches over the past few years have pointed at a particularly exciting example. I'm also quite excited by the work of Open World Learning, and Scalable Game Design in demonstrating the potential to teach programming skills broadly.
WebGL
Processing and jython (especially the last section of that page entitled "Why?".
Android and jython, jruby, clojure, or other dynamic language environment
I'm thoroughly committed to test-driven development and have about a decade of experience writing code in this way. I just think about solving problems with software and automation and a large portion of my work will naturally include software and systems engineering.
I'm also a gifted teacher and a life-long learner. I enjoy stretching my own knowledge and skill and care a great deal about sharing what I've learned and helping other people grow. Teaching, mentoring, coaching, and pair-programming would all fit in this area. I would also enjoy and likely excel at instructional design.
I would also welcome the opportunity to collaborate with schools of education to help prepare future educators for a world of ubiquitous computing. The same tools I envision for students could well serve to prepare future educators too.
Over Thanksgiving I was able to get a somewhat tested implementation of 2d turtle graphics in javascript -- the model is tested but the views that render into the canvas aren't really tests. The code is here:
http://github.com/dobbs/turtle
I was even able to re-create the von Koch snowflake code that was the starting point for this post:
http://dobbse.net/thinair/2008/12/logo-fractals-recursion.html
Here's the same fractals written in javascript with two implementations...
http://github.com/dobbs/turtle/blob/master/fractal.js
drawLine() is a reasonable port of the original logo code and fractalLine() is a generalization that lets me illustrate the similarity between the von Koch snowflake and the peano curve.
The drawings do not animate yet... they're just a different api over the HTML5 canvas. But I'm frankly blown away at the ridiculous simplicity of the implementation: move() calculates the change in x and y by just taking the sine and cosine of the turtle's direction! So on top of the way turtles enable people to play with differential geometry (incredibly high-level mathematics made trivial by effective use of computing), the implementation is a beautiful application of very simple trigonometry -- a unit circle at work inside a simple state machine. There are some exciting lessons around an amazingly small amount of code... both in the von Koch and peano example and inside the turtle itself.
I think my next steps will be to create a player that will animate the drawing step-by-step and then to enable in-browser editing of the scripts. No idea when I'll be able to make time for either of those little projects. But this feels like a nice start.
Oh, and if you happen to be visiting here with a browser that supports the HTML5 canvas element, you can see the von Koch snowflake and Peano curves illustrated below using my javascript turtle graphics.