Saturday, September 30, 2006

theory enriches practice enriches theory

  1. theoretical theory
  2. real time practice
  3. reflection
  4. practical theory
I can see an evolution from theoretical theory to practical theory in the transformation from my initial draft (March 06) to the current draft (September 06) of my Cairns paper, Teaching programming skills using game making blogs and wikis

March version:
At the beginning of this version I talk about the theories of Papert (constructionism, mathetics), Siemens (connectivism), Harel & Papert (ISDP) in a theoretical way. Nothing wrong with that. Having knowledge of these theories and having used some of them in the past in a practical manner was an important influence in developing the course which is the subject of my Cairns paper

September version:
Nevertheless, in the process of teaching the course and thinking about it the theoretical emphasis has changed. The theory is now mainly expressed in the three ideas section and the course dynamics section.

three ideas:
  • ... programming is one of the best computer games ...
  • ... we use language to author ourselves, assisted by many co-authors as we grow up
  • eat your own dogfood
course dynamics, the contrasts between:
  • teacher directed skill development and open ended exploration
  • serious work and play
  • doing and documenting
  • individual and group work
  • spoon feeding and eating your own dogfood
I think the theory is now closer to the actual practice of the course, that it is a transformation from theoretical theory (fairly general abstractions which can be used in a fumbling or patchy way to formulate the rough outlines of a course) to practical theory, which are still abstractions but which are much more closely and meaningfully connected to the course content

So, my approach does recognise the importance of theory as something that does cast a light to illuminate the future but also that theory has to return to practice, to be further enriched by practice and reformulated through that process

This process hasn't finished. I can look at the three ideas and the five dynamics and see the potential and need to develop them further. I'm not just talking about tweaking here either, it might involve significant conceptual restructure too. The theory practice cycle never ends. Learning evolves.

Related reading:
ascending from the abstract to the concrete
feedback as truth seeking

Thursday, September 28, 2006

hear the voice?

I've substantially improved the power point slides for my cairns presentation (teaching programming using game maker, blogs and wikis) following helpful feedback received from staff at school after a rehearsal at school today

The main thing is that I've added many more screenshots of student work to give it more life and a feel for what the students actually did. In the earlier version there was too much of "my thought" and not enough "student voice". It's funny but I went through a similar process of improving my presentation in preparing for my Melbourne talk last year (Something is making me do it). I guess that some old dogs take a while to learn tricks.

Let the students speak, from the grassroots. The audience / participants hear that voice as real, engaging, interesting. Is this a lesson that every generation learns, forgets and then relearns?

Unique visitors to the learningEvoves wiki have gone from 12 to 35 in the past 2 or 3 days and visits from 8 different countries (!) Tony Forster has been adding a lot of material to the wiki over the past few days.

Tuesday, September 26, 2006

publishing before the event

I've published my acec cairns presentation (Teaching Programming using game making, blogs and wikis) on my learningEvolves wiki. This includes the full text, lots of links to additional material, powerpoint slides and some podcasts

Cory Doctorow found that publishing his complete books on line increased their sales. In the age of the interactive web I think this is the way to go, to tightly couple the real world with the so called virtual world.

See you in Cairns, or alternatively, you can read, hear and watch me without even going to Cairns.

This is a scheduled 30 minute presentation / talk, Tuesday October 3rd, 3:05 - 3:35pm (30 minutes). Not much time. So I have worked out a format of painting some broad brush strokes about the ideas behind the course design, the course dynamics as it unfolded, how it all went and what I have learnt from it. I have provided a lot of links further material and detailed background information so that anyone who is interested can take up the issues raised in their own time and preferred manner. So, hopefully this represents one useful approach to how to teach programming

first idea: "... programming is one of the best computer games ..."
second idea: "... we use language to author ourselves, assisted by many co-authors as we grow up"
third idea: "eat your own dogfood"
Full details at the wiki

Sunday, September 24, 2006

feedback as truth seeking

from artichoke on feedback:
... teasing out what feedback tasted like in the hospitality industry, what feedback felt like when you took the real world of hospitality into the muted landscapes of tertiary education and what feedback should be about.

I have never understood offering feedback to institutions. When I am asked for feedback I am torn by the desire to be faithful to the Arti_choke and say what I believe, and the smart approach – to adopt a "this is just a game and no one reads it anyway" type of feedback.

Although telling those “that ask what I think”, what I think they most want to hear is smart thinking I am hopelessly attracted to the need to cast all the stones.

Apparently there is another option. According to (someone else) ... regardless of audience you should adjust your feedback so that it able to be understood and adopted. This was a critical new insight to Arti’ – apparently muted and muzzled parboiled even lightly steamed bipolar feedback can be more valuable to effecting institutional change than unloading raw thought.
ROUGH NOTES: three views on feedback

Feedback for "niceness", institutional survival and social reproduction - a practical question for surviving in a day to day world (smoothness approach)
keywords: being nice, surviving, being diplomatic, avoiding the bumps, sucking up, niche, going with the tide

Feedback for tweaking the system in such a way as to undermine it and bring it down - Gorbachov's Pereistroika (dynamic systems theory approach). This goes against the normal trend of systems incorporating and adapting to feedback in such a way that maintains / preserves the system. The perceived futility of even providing feedback to the "system" because it usually chews it up and spits it out in a form not intended by the provider. Feedback as "a game" / feedback to tweak the system.

Feedback as truth seeking.
Feedback as part of an epistemological cycle, the aim of which is to find the truth. Theory / practice spiral, ascending from the abstact to the concrete. This is an essential part of the materialist world view, a progressive cycle, working out, moving towards something called "truth" or "objective reality". The view that this is possible, that reality can be perceived, that it is contained within the atoms and energy around us. Philosophically, this is the opposite of the idealist world view, that reality is ultimately in our minds or in the mind of God. Belief in materialist world view impels(?) us, to attempt to speak the truth as we see it. There is no point in doing anything but that. With an idealist world view it really doesn't matter, what voice we speak with, since truth is not something we can approach. Post modernism, the view that truth just depends on the observer and has no objective reality beyond that is part of the idealist world view.

- being honest and frank without going "over the top" (means?) does usually attract strong support (although perhaps minority support), it's a good way to find your true friends
- the nature of teaching (dealing everyday with people from diverse backgrounds and outlooks) does create a strong pressure to avoid the bumps, to be "nice" - if you are interacting with a hundred different people everyday then having an ongoing conflict with just one or two of them can make for a "bad day"

Saturday, September 23, 2006

the audience is up to something

I like the script in The Long Tail video on YouTube:
.. from their side of the screen they studied us

wielding weapons which we ourselves provided

we offered free choice but all they heard was free

they have tasted power and there are a lot more of them than there are of us

The Long Tail is the name of a blog and book by Chris Anderson, editor of Wired magazine.

Related notes from my delicious longtail tag:
  • the reduced significance of capital means that the cost of entry is lowered in many industries
  • quality beats quantity, pick the blogs that you like
  • erosion of mainstream taste and the growing importance of niche markets
  • We can rely on natural benevolence and on the extraordinary powers of technologically-produced economies of scale to bring us what is useful and convenient
  • triumph of the niche


Wednesday, September 20, 2006

hyper media representation is irreversible

I realise that I have embraced hypermedia to the point of no return.

I started the rewrite of my Cairns talk about programming, blogs and wikis on Office Writer / MS Word but was also making another version on a new wiki I have just created, Learning theory evolves

The linear word doc became unmanageable because I kept cross referencing multiple blog and wiki posts from the past and sometimes selecting extracts from them. After a while my presentation became too large and it was very difficult to keep the doc version and the wiki version in synch. I only have a 30 minute time slot.

I can only put it together coherently in hyper media

I have to do it in this way. Present an introduction, which is essential philosophical / developmental:
  • ... programming is one of the best games
  • we author ourselves with language, with the help of others
  • eat your own dogfood
I follow this with the course ingredients and then, more importantly, the course dynamics, which do turn out to be dialectical:
  • routine skill development / open ended challenges
  • serious / fun
  • doing / documenting
  • individual / group
  • spoon feeding / eat your own dogfood
I make short statements about each of these subheadings and include lots of links for those who want to follow up. I do the same for the final sections, How Did it Go?, and the meta-reflection of my own development

The reader can find their own path through this and decide what to do with it. That suits the reader / audience / perhaps future collaborator better too.

Most of it was created and documented in hypermedia as we went along, by myself and my students. Since it was initially created there it has to stay there and be documented in that way. Otherwise it would be artificially constrained and truncated. You can't put hypermedia back into linear format. It's silly to try.

It will succeed or fail on the quality of the philosphy / dynamics. The detail is important too, of course, but there is too much detail, so the audience is invited to pursue their own interests wrt the detail.

The current version of my presentation is here.

Tuesday, September 19, 2006

new media exemplar library

New Media Exemplar Library

Each exemplar features a series of video interviews with a professional media maker, organized by chapter.

I just watched the Cory Doctorow exemplar, parts 1 (Copyfighter) and 7 (Sci-Fi as Political Activism), and they were great! I think this is a resource that I would use and recommend to other teachers.

Other exemplars about a comic book artist, a special effects artist, radio host and reporter, Graffiti Artist Collective. If they are as well done as the Cory Doctorow exemplar, then they would engage many students.

Thanks to Borderland for the link. Henry Jenkins is behind it.

Sunday, September 17, 2006

eat your own dogfood

I remember it as a quote from the open source movement, but maybe that's just where I heard it first

Very funny story by Joel, here, about Sudanese immigrants to America discovering dogfood on the supermarket shelves

As teachers, do we eat our own dogfood? Would we like to sit in a lesson that we teach and do the work that we set our students?

I can see the need for basic skills but maybe there has to be a high ceiling as well, as in "low entry, high ceiling", an old slogan for promoting the logo programming language. So that if we, the teacher, were sitting in the class, there would be something interesting for us as well

I remembered yesterday that this is one reason why I started the africaGame wiki. I wanted my year 11 students to do these things:
  • improve their game maker programming skills
  • design, make and critique their own game
  • work productively in a group
  • use a wiki to document their progress and collaborate with others
So, I thought it would be a good idea if I did the same, put myself through the same process that I was putting my students through.

It's been a good learning process for me.

I have improved my game maker programming skills by making, documenting and collaborating on new games (map game, name game). That has been hard work and sometimes slow and frustrating. But I now feel more confident about tackling harder programming problems.

I have been collaborating, mainly with mitch (the main author of the name game) and also obtaining some help on the Edna game making forum (wara) and tony is always helpful when I ask him a question. So that counts as group work but the actual collaboration has been patchy, not continuous. That's a good learning experience for me, it is probably the nature of most collaboration. But in School, I was expecting it to be steady, continuous. So, I need to redesign the learning so that the collaboration is allowed to be discontinuous. It is so hard for school to measure group work. Everyone knows that it is important but there is a measurement problem.

I haven't creatively designed my own game. The africa map game is a clone of a game I found on the internet. I couldn't do better than that so I am shamelessly copying it. That's another good lesson. One of my best students asked me, "How come you expect us to design our own games, when you aren't doing that?" Good question.

I haven't been able to keep to any sort of reasonable timeline. The game development always takes much longer than I think it will. I still haven't finished the map game, even though the class I started it with has long disappeared with the semester change over. Strict timelines in school must be a terrible burden on student creative endeavour. I think that students must get used to churning out "busy work" because that's what school demands of them.

Using the wiki. I've been good at that I think. Not only are the games developing through the wiki but I have been developing other pages as well, the links to existing games found on the web and links (about africa) have been regularly updated. A friend, Paul, has regularly sent me links which have been useful. There are other useful pages on the wiki as well, even though they haven't been updated so regularly (game ideas, programming languages, mail received)

If teachers regularly ate their own dogfood we would have a better education system.

Saturday, September 16, 2006

the meaning of revolution

arti's wiki has a section on innovation and a link to a post by Christopher D Sessums, Transforming learning: Evolution or Revolution. I've posted the following to the wiki as part of the discussion: (this is a big topic and my post is just dipping a toe in the water)

I'd like to explore (seek the views of others here) on the meanings of the words revolution and evolution. I visited the Christopher D Sessums link and think it's necessary to read more than the section quoted by Pam above (refer to arti's wiki here) to pick up on his interpretation. These words (revolution, evolution) are deeply contested, you can see this when advertising companies start to promote things that were previously feared as too subversive to mention (eg. Che Geuvara lip gloss ads, revolution as trendy buzzword).

My take on this is that revolution arises when there is social ferment, that many people feel that change has to happen and that it is being blocked by those in power and that efforts towards evolutionary change have been made but have not succeeded. Revolution is not seen as necessary by the majority until such conditions arise. Revolution is about a radical rupture in ideas (new ideas conflict with traditional, entrenched ideas) and that that is then transformed into some sort of political event, which alters social relations in a signficant way. eg. the overthrow of apartheid in South Africa is an (uncontroversial?) example. It's difficult for me to imagine a revolutionary process arising out of rapid technological change, without it spilling over into the political arena in a big way.

Some further extracts from the Christopher D Sessum post. The first two better capture my understanding of the meanings of the words.

Evolution -
"As a metaphor, evolution suggests an organic, natural process, and as such an institution can be seen as a living organism with specific traits that grow, change, and adapt allowing it to survive over several generations. This metaphor also hints at the notion of change over an undefined amount of time. Biologically, one associates evolution as taking place over thousands and millions of years, thus setting up the desire for bringing about change at a more rapid pace (i.e., to keep up with the changes in society). Information technologies have evolved at such a blinding pace over the past few decades which in turn have left many universities and schools scrambling and reacting slowly at best."

Revolution -
"Revolution, on the other hand, frames the notion of change as relatively sudden and drastic process – as a rebellion. In some cases, revolutions are led by a majority of a particular populace, in other cases, by a small band of radicals. Revolution hints at a violent overthrowing of one body over another, as perhaps one set of unsanctioned ideas offered against the prevailing norms. Revolution can also be considered a process of social change that involves breaking away and replacing a particular status-quo, thus transforming a society."

Other metaphors -
"Is framing the debate of transformation as an evolutionary or revolutionary process the correct way to look at the current situation? Might there be a better set of metaphors? How might the notion of emergence fit this proposition? What might Paulo Freire think?"

wrt this last quote, Virginia Postrel ('The Future and its Enemies') says that words such as "left" and "right" have lost their meaning and posits a statist / dynamist dichotomy.

Thursday, September 14, 2006

space invaders tutorial

I've finally just about finished my Space Invaders tutorial. I started it in Semester 2 last year, with a Year 10 class and recently have been developing it further with a group of year 8's. Here's a screenshot from version 2, the clowns become more menacing as they advance:


For more details about how to make the game, screenshots and downloads of three game versions, see my website. It is released under the Creative Commons license, which means you are free to use and modify but please acknowledge the source. Feedback is appreciated.

Here are some advanced features incorporated into version 3:
  • Create a controlled relentless advance of enemies (serried ranks or phalanx)
  • Use a variable to control the speed of the enemies so that the enemy can increase speed progressively as the game progresses
  • Lives for the character (shooter), which are displayed on screen
  • Power up object provides increased powers, destroy more enemies with one shot

I wrote about some of the design issues and problems in another recent blog, representation of design decisions

Wednesday, September 13, 2006

everyone wants attention

From Christopher Allen's blog (link), I just found out that I do, in fact, play MMORPGs, well nearly.

Standardised MMI (Money, Markets, Industry) is transforming into something else.

What? An attention economy. What is that?

Michael H. Goldhaber will be speaking on:

The Real Nature of the Emerging Attention Economy: Seen As a New Level in the Massively Multiplayer Game Known as Western Culture:
Think of the human world as a Massively Multiple Interactive Game (which it is). As interactions change and increase, we are passing to a new level, something that hasn’t really happened to the same depth for centuries. The rules, fundamental values, and just about everything else are diverging from what was familiar in the level characterized by the exchange of Money, the prevalence of Markets and the dominance of Industrial production of standardized goods (call this MMI). The new level also depends on human abilities and desires, but now what matters most is our strictly limited abilities to pay attention and our much greater (on average) desires to receive it. The full passage will take many decades, but we are already well along.

More links:
Michael H. Goldhaber's blog on the attention economy, serialisation of a book he is writing

Michael H. Goldhaber's website. Extract from website:
The move to cyberspace parallels the move from old feudal Europe to the New World of the Americas five centuries ago. That traverse both set the stage for and was an early indicator of the rise of the new market-based/ money-based/ industrial/ mass-production economy. Yet leaders of old feudalism didn't see that. They thought the new space, the new world, was for them; so they set up dukes and earls and viscounts to govern it for them, until they all fell.

Likewise the grand panjandrums of the money economy think the new space today, this space, cyberspace is for them, that it will just be part and parcel of that now-old system. But the parallel is that cyberspace is really arising for different reasons; to give birth to a completely new economy -- an economy that is like feudalism in one way: it has little to do with money. (Though it is unlike feudalism as can be in most other respects.)

my game making manifesto

This half baked manifesto came to me in a flash tonight. It provides a framework, for further fleshing out, of what I plan to try to get across at Cairns, ACEC.
  1. Game making is motivating and an excellent introduction to programming
  2. Game making programs now exist which make it easier than it was before
  3. Programming is a HOT (higher order thinking) activity
  4. Programming is hard and perhaps not everyone can do it or would want to do it
  5. Everyone ought to receive an invitation to be taught programming, which they can experience (toe in water), accept or reject
  6. We need good teachers of programming, teachers who understand both programming, learning theory and learners
  7. Teachers of programming need to develop (design, program, refactor, test, publish) their own programs / games
  8. It is even better if the programming is linked to significant social justice issues, eg. africaGame
  9. Blogs and wikis ought to be incorporated into the development process to enhance communication and collaboration
  10. Blogs and wikis aren't enough on their own. We need to study and / or develop design and communication tools that represent this whole process and enable it to be better discussed and communicated, eg. UML diagrams, design patterns
  11. Learning theory continues to evolve dynamically, that needs to be integrated into this whole process
Quick elaboration of some points:

4. Programming is hard. I've come across a few articles about this lately, in particular one which claims to have a test that can determine who can and who cannot program.

6. is a major challenge to the education system as it currently exists, one which it is unlikely to meet. Although it is realistic to summise that not much will change in this direction in the mainstream, it could still be taken up outside the system, as part of enrichment programs for the Gifted and Talented, for instance.

10 and 11. This has been a major focus of my blog in the past few months. I still plan to setup a wiki to further clarify these issues, even though I have been slow to do this

I have not including game playing in the above. Although I'm persuaded by people like Tony Forster and James Gee that Game playing leads to important and different learning it is still (a) not really my thing, (b) even harder than game making to introduce into Schools

Monday, September 11, 2006

the irony of september 11th

Tonight I've read some articles by Christopher Hitchens (Sydney Morning Herald) and Pamela Bone (The Australian) marking the fifth anniversary of September 11.

Hitchens (Never Again) understands the issues. America is a declining power. Bush is a bad leader. But the pre-emptive battle against religious fundamentalist jihadists must continue:
In its grand form, this takes the shape of a doctrine called "pre-emption". The firmest way I ever heard this doctrine expressed was by a senior official of the Administration, who had grown tired of the argument about whether Saddam Hussein had been nurturing Islamists. "The invasion of Afghanistan was for the last attack," he brusquely said. "The invasion of Iraq was for the next one."

If you want to understand why so many normally risk-averse people in Washington, elected and unelected, swallowed their doubts about intervention, you have to appreciate the force of that remark. Like America itself, it is extremely conservative and extremely revolutionary.
I found an old article by Hitchens, Against Rationalization, from September 20, 2001, where he rebuts Chomsky and spells out the reality of the new world we live in:
... the bombers of Manhattan represent fascism with an Islamic face, and there's no point in any euphemism about it. What they abominate about "the West," to put it in a phrase, is not what Western liberals don't like and can't defend about their own system, but what they do like about it and must defend: its emancipated women, its scientific inquiry, its separation of religion from the state. Loose talk about chickens coming home to roost is the moral equivalent of the hateful garbage emitted by Falwell and Robertson, and exhibits about the same intellectual content. Indiscriminate murder is not a judgment, even obliquely, on the victims or their way of life, or ours.
I also found another great statement by Hitchens where he explains why he left The Nation, because of its readers responses to his stance:
It may now seem trite to say that September 11 and other confrontations "changed everything." For me, it didn't so much change everything as reinforce something. I am against aggressive totalitarian states and I am resolutely opposed to religious fanaticism. I am also sickened by any attempt to call these hideous things by other names
Pamela Bone (former Age editor who is now ill with cancer but still writing) understands the issues too.(The Folly of Blaming Ourselves) She has long been writing against cultural relativism, the idea that we should somehow turn a blind eye to human rights abuses which are part of some "other" culture.
This is what moral relativism fails to see: in democratic, rule-of-law countries, human-rights abuses will be exposed, investigated and punished, and bad governments will be thrown out. The US is not a perfect society by any means, and neither is Australia, but they are both infinitely better than anything the Islamists would impose.
I revisited the on line statement I made about the London bombing. Here it is:
I belong to the generation of Vietnam War activists who learnt to despise the many crimes of US Imperialism.

Following 9/11 my long sleep is over. New York, Bali , Madrid ... London was not a surprise for those paying attention.

I think it's worthwhile conducting a horrible thought experiment. A meeting of advanced technology (nuclear weapons, internet communication) with religious fundamentalism (nihilistic jihad). Bin Laden and others desire this and are planning it. The most backward ideology wants to use modern technology to defeat modernity itself and take us back to the dark ages.

There is a tremendous irony in the US now being compelled to actively support democracy in the Middle East, to clean up the mess created by itself, and in Bush II being the first US President to support the formation of a Palestinian State.

Accidental heroes are still heroes, warts and all. Without forgetting the warts, we need to focus on the big picture: the global battle between Democracy and Jihad. Reflexive anti-Americanism in today's world is very dangerous. It's both distressing and disgusting that some people who call themselves Left support the jihad and Saddam fascism as anti-imperialist. This is not Left, it is pseudo-Left. Blind faith in an old idea is always useless.

The Left has always been able to recognise and has always opposed fascism, religious fundamentalism and terror as a method.
For a recent statement which clearly explains the real motives of the Bushies, go to LastSuperpower (Spelling out the "Draining the Swamps Theory"). Here is an extract:
There are clear, self-interested and essentially historical reasons for why the most farsighted members of the US ruling elite are now pushing for a democratic Middle East. Bush and the neo-cons realized (way ahead of a large section of the US ruling elite) that they had no option but to jettison their old policy of maintaining stability in the ME by propping up the worst dictatorships (and even gong so far as to allow CIA funding of several jihadist groups). However their interests as a relatively declining power (the last superpower) are now firmly connected to globalization and the standards of modernity required of this era. It has thus become historically necessary for them to "drain the swamps" by kick-starting a process of real and progressive change in the ME.
I'm still wondering why so many people who see themselves as progressive don't seem to get it. Why is the irony of the reversal of US policy following 9/11 so hard to understand?

Sunday, September 10, 2006

representation of design decisions

How does one best manage complexity when designing and programming a computer game?

I've been developing a Space Invaders tutorial. Version 1 (beginner) and 2 (intermediate) were straightforward to make but I also want to include an advanced version in my tutorial, for those keen students who want to learn advanced features of game maker.

I'm finding this has become a complicated exercise in design, programming, refactoring of code, representation and communication.

I wanted the enemies (clown sprites) to advance wave upon wave in relentless, mechanical fashion, increasing their speed with each new advance. Start off quite slow, so the player thinks he will win but as the speed increases it becomes inevitable that the Shooter will die.

The word here is phalanx, meaning a body of infantry drawn up in close order. Or maybe it is serried, as in shoulder to shoulder, without gaps


Initially, I put together some code and eventually got it working.

I couldn't put all the code on the clowns because if you shot all the clowns then the game would crash. So, I made a controller which was responsible for making and remaking the serried ranks. But some code had to stay on the clowns, for example, the bit where when you advanced far enough down the room, then the shooter would lose a life. That can't go on the controller because the controller doesn't move.

if y > 448 {lives = lives -1};

Another advanced feature of the game was a powerup object. These were created out of thin air and moved in the general direction of the shooter. When the shooter ate them he received more power, which in turn enabled him to kill multiple clowns with a single shot.

When I tried to write this advanced version down on paper it was messy.

I decided to refactor the code, to tidy it up, to make it easier to follow.
Programs must be written for people to read, and only incidentally for machines to execute
- Abelson and Sussman
There is another problem. As well as being messy the code is more advanced than versions 1 and 2. But I'm just giving it up to students in chunks for them to copy. Probably not a good way for students to learn.

First, I have to get the design options clear in my own head and then work out how to communicate those options to students in a way which hopefully will help them learn.

Simply, writing down the main game objects (and renaming them more systematically) on paper and the main actions of those objects does help.

Action: Create new rows of enemies.

This immediately helps. Under what conditions do I want new rows of enemies created? Fixed time intervals? Randomised time intervals? When all other enemies are destroyed? That is a design decision. I think I want fixed time intervals in keeping with the phalanx / serried ranks approach. So the code needs to go on an Alarm Event.

On each cycle I want the clown speed to increase. So, I need a speed variable. Do I want the speed to increase forever, no ceiling on the speed. Yes. The shooter must die, after being lulled into a false sense of security.

Action: When the clown reaches the bottom of the room, then the shooter loses a life
Action: When a bullet hits the clown then the clowns explode, the radius of destruction is determined by the current power of the shooter

It looks simple when written down systematically like this but it has taken me some time to get to this point,where I can articulate the issues clearly.

I believe there is a lot of teaching involved in all of this ... programming skills, discussion of design decisions, the representation of the design, refactoring of code. It requires more than a motivating, constructionist environment.

I think that a good way to represent this diagramatically would help a lot in the communication and discussion of the issues with students. We need pictures to help us think about design and programming because the code itself is too detailed, its granularity is too fine. I think I need to dig back into my UML book and perhaps revisit my Event Progress Diagrams of the past to work out a good way to represent this.

What I've learned from failure - Reg Braithwaite
A wonderful essay about commercial programming reality.("I'm not going to tell you about some theoretical anti-pattern, or relate some broken thing I've fixed, I'm going to share things that caused me to leap from the deck of a burning boat to avoid drowning.")

Saturday, September 09, 2006


I discovered today that arti has a wiki about Knowledge Building and Innovation.

I have just posted some extracts there, mainly citing from some authors I like about what is creativity (on the Innovation page)

Douglas Hofstadter's idea is "Variations on a Theme as the Crux of Creativity" (a 1982 essay in Metamagical Themas) . This implies a few things. You probably have to know something deeply before you can come up with a good variation. It has been said that it takes 10 years to learn a field deeply, eg. Mozart, started at 5 yo and was a master by 15 yo. One educational implication is that it is important to spend time on basic skills as part of approaching the creative edge. I think the fluency part of the mantra is important. It also implies that slippage is a part of concepts within themselves, you don't necessarily need to juxtapose two ideas together (Koestler's bisociative requirement) because things naturally divide anyway, just like the so-called elementary particles of physics are always dividing into something new.

Extract from Hofstadter:
The notion ("Variations on a theme") encompasses knobs, parameter, slippability, counterfactual conditionals, subjunctives, "almost" situations, implicospheres (things that never were but we can't help seeing anyway), conceptual skeletons, mental reifications, memory retrieval - and more
Howard Gardner (Multiple Intelligences author) said in one of his books that it was important to encourage young people to learn one thing really well

Marvin Minsky (Society of Mind 7.10):
... in order to accumulate outstanding qualities, one needs unusually effective ways to learn. It's not enough to learn a lot; one also has to manage what one learns. Those masters have, beneath the surface of their mastery, some special knacks of "higher order" expertise, which help them organise and apply the things they learn. It is those hidden tricks on mental management that produce the systems that create those works of genius. Why do certain people learn so many more and better skills? These all important differences could begin with early accidents. One child works out clever ways to arrange some blocks in rows and stacks; a second child plays at rearranging how it thinks. Everyone can praise the first child's castles and towers, but no one can see what the second child has done, and one may even get the false impression of a lack of industry. But if the second child persists in seeking better ways to learn, this can lead to silent growth in which some better ways to learn may lead to better ways to learn to learn. Then, later, we'll observe an awesome, qualitative change, with no apparent cause - and give to it some empty name like talent, aptitude, or gift
The thoughts of Hofstadter, Gardner and Minsky have considerable implications for those of us wanting to achieve creativity in ourselves and others (our students). You have to know a domain well before you can be creative within it. This can only come about through passion, motivation, love for that domain, which will sustain the hard work required. You need to have the freedom to explore it and not be tied down to a mechanical productivity appraisal, so that the silent growth that Minsky refers to has a chance to happen.

My earlier blog posts, Dennetts creatures and behaviourism and the inner environment also offer a non question begging account of the evolution of human intelligence:
Gregorian creatures are named after Richard Gregory, an information theorist. Gregorian creatures import mind-tools (words) from the outer cultural environment to create an inner environment which improve both the generators and testers.

Gregorian creatures ask themselves, "How can I learn to think better about what to think about next?" ...

Finally, we have Scientific creatures which is an organised process of making and learning from mistakes in public, of getting others to assist in the recognition and correction of mistakes.


Wednesday, September 06, 2006

Would you write for NewAssignment?

Jay Rosen (his blog is amazingly good) has come up with a new idea for citizen journalism

It's called NewAssignment It now has its own blog in place.

High quality journalism, funded, with professionals and amateurs working together.

Others have tried and failed. Read Dan Gillmor's analysis of how things went wrong for him

You need to read Jay Rosen's blog to pick up on the depth of his thinking about this issue. For example, I like point 9 from his current post:
By “right” for a NewAssignment.Net test I mean something that:
  • is under-covered, poorly covered or not covered at all by the major news media;
  • lends itself to “distributed reporting,” where a bunch of people—dispersed but connected by the Net—could contribute knowledge in a manner that would be hard for a reporter or even two or three to duplicate;
  • is a story of national, international or regional importance— newsworthy, in other words;
  • is doable in about six weeks time;
It’s the second bullet, the lends itself to “distributed reporting” part that seems to be the trickiest. Many readers of my blog and a good number who wrote to me after the first wave of publicity for New Assignment suggested stories that were under-covered and possibly newsworthy, but had no distributed reporting dimension to them at all
Doable, distributed, under-covered ...

Possibly there are some great educational stories waiting to be written along those lines:
  • How censorware around the world is driving students and teachers nuts
  • The place of game making and game playing in education
  • Virtual P2P School
I think these are doable, distributed, under-covered ... can the people, formerly known as the audience, do this thing?

Sunday, September 03, 2006

African Name Game

Mitch has finished a draft of the African name game. It is available from the africaGame wiki (scramble6.gm6). To play it you will need to download game maker from Mark Overmars site.

We are interested in receiving feedback about this game. You could post a comment in response to this blog, or leave a comment at the africaGame wiki.

probing search engine understandings

Paul Chandler suggests at his wiki that we can improve our teaching about search engines by asking students probing questions:
To what extent do you believe that the following are true statements about internet search engines (orientating questions):
  • They search for data on every page of the Internet
  • They locate key words by searching the world
  • They are just like a library
  • They search a certain part of the Internet for you
  • A search engines searches the pages which are connected to it
Write a few sentences to describe why a search engine might be like (the probe):
  • a library
  • a library catalogue
  • a librarian
  • a game of Chinese whispers
  • the index page to a book
  • someone who is a speed reader
I have added an entry there about the importance of speed and size in the search process.

How can google search 25 billion plus web pages in less than a second? The speed of search is an important consideration. How do they achieve this? I think it's important to add the speed of the process to the probe. That would tend to sideline the Chinese whisper and speed reader options (?)

Here is an article by Matt Cutts, How does Google collect and rank results? which does include a couple of exercises for students

Here is my summary of the process:

1. Spiders crawl web and retrieve pages
2. Pages are numbered for future reference
3. An index is built
4. The index is distributed over hundreds or thousands of computers
5. When a search is made it is processed by hundreds of computers to speed things up
6. Results are ranked by relevance

One good metaphor from the Matt Cutts article is to speed up the process of searching a book index you could rip out the index and give one page to each person to search

Friday, September 01, 2006

strange beasts with flat tyres

The computer-car analogy doesn't work: the exptrapolation of the idea to computing that you need to be able to drive a car but don't really need to be a mechanic.

One way is to contrast two definitions of literacy:
  • the ability to read and write
  • the ability to read and write AND express original thoughts
and to favour the latter as applied to computers

But I think it's better to define literacy as feeling competent and fluent in the medium. And I think it's true to say that most people don't understand what the computer medium really is, that there is something deep below the surface.

I heard a Sudanese describe recently his first encounter with a motor bike, as a child. He and his friends had never seen anything like it. They ran away. They didn't know whether it was living or non living, a strange type of beast or a new, amazing invention.

I think that is what is happening when people use computers. It's mostly done by handwaving and magic. The GUI and the operating system hides a lot. Of course people adapt and get "used to" computers just as they get used to cars. But the computer is a stranger beast. The fact that it is often used inefficiently (driving with flat tyres) is only part of the problem.

Even at the surface level the car analogy does not hold up.

Lots of little things that cause paralysis for short or long times go wrong with computers all the time. Just think of how many times you have seen an expert user come unstuck whilst presenting with a computer at a conference.

More basic skills are required to drive a computer than a car. Here are some examples of essential knowledge you might need:
  • how to operate a GUI (windows, icons, menus, pointer)
  • how to save and to navigate when saving and / or loading a file
  • the difference b/w Save and Save As ...
  • how to backup
  • what to do if and when your window freezes
  • how to get out of trouble (eg. using Undo or when to close without saving)
  • what are directories, files, different file types, drives
If you are connected to the internet then the amount of knowledge you need to stay functional increases further:
  • a knowledge of security concerning viruses / trojans / spyware, firewall, automatic updates
  • email: how to compose, send, forward, edit
  • email: don't open unsolicited attachments
  • You will need to download plugins to run many programs, so you need some awareness that there are useful and harmful files out there and how to distinguish between them
I'm sure these lists could be expanded.

But beyond the lists of basic skills there is something deeper.

A computer does computation. And most people don't really understand computation and what it is capable of. I was struck by this passage from Rodney Brooks book, Flesh and Machines, where he compares the impact of the computation idea (not disruptive intellectually, continuous with existing ideas) with the impact of quantum mechanics or relativity (which marked a sharp intellectual discontinuity with previous ideas) :
... computation was not disruptive intellectually, although the consequences of the mathematics that Turing and von Neumann developed did have disruptive technological consequences. A late-nineteenth-century mathematician would be able to understand the idea of Turing computability and a von Neumann architecture with a few days instruction. They would then have the fundamentals of modern computation. Nothing would surprise them or cause them to cry out in intellectual pain as quantum mechanics or relativity would if a physicist from the same era were exposed to them. Computation was a gentle, nondisruptive idea, but one that was immensely powerful... [pp. 188-9]
This was a new insight for me, that an idea could be intellectually non disruptive but have enormous technological and social ramifications, which ultimately are disruptive. Maybe the quiet, powerful ideas have the last laugh, because they sneak up on society. It might also explain why many people don't seem to think deeply about what a computer is.
Some computation links for future reference / study:
Turing Machine
Turing Machine Gallery
Theory of Computation
Evolutionary computation

There is a very interesting dialogue between Tony and Paul, about do we need more than immersion to learn the computer (computing concepts), at Paul Chandler's wiki, where Paul suggests that the underlying architecture does pop up at important times:
The somewhat more general context is this: I am deeply suspicious that simply by "immersion" one doesn't develop any concept of von Neumann architecture, and such a conceptual framework is actually quite important in developing good computing skills, and this extends to seemingly trivial matters such as what's in the file menu.

The relevance of von Neumann is, I believe, the $64000 question. I wouldn't presume it's relevance, but its a hypothesis worth testing, I think. Also, I used "von Neumann" (above) to refer to the general concept that a computer has a working memory and a 'permanent store' (von Neumann' contribution was basically to build a computer with a processor and a 'working memory' operating hand-in-hand); I'm guessing, but subdividing down below this general concept is possibly pointless. Lots of stuff goes on behind the scenes.

My point for raising the von Neumann idea in the first place is to postulate that it is not _all_ happening behind the scenes. Loads of it is, but every so often some "thing" comes along and suddenly you are expected to know what's going on. More than the "von Neumann" idea, there is the idea that a document we are working with sits in context with a software environment; when we are working our consciousness has to 'sit' main on the 'internal' world of the document we are working on, and a little on the 'external' work. How many people don't get the idea that a program can have a default printer, which is different to the system's default printer? How many start doing file management in the 'open' dialogue box in (say) Word and look at you slightly odd when it's suggest that you are not 'in' Windows Explorer. There's "something", I reckon ... call it awareness of von Neumann, call it inside/outside ... but a "something" of this ilk which the better, more flexible users "have got" that the strugglers haven't.