Coding for Pre-School and Elementary School Children

Please note that the apps and stories linked to from this page, require a modern browser, such as a recent version of Google Chrome or Firefox.

I've started building environments with Xholon that engage pre-school and elementary school children in computer coding.

I began with a simple story (The Black Geese) that my grandson already knew, last year when he was two. Despite how abstract the GUI is, he was able to follow the story and answer questions about it by pointing to the appropriate circles. And he was excited at the end of the story when the parents of Elena (the main character) arrived home. He sees this as a type of "video" (he loves videos), but he also enjoys it when I change something while the app is running, using one of several built-in coding languages. He'll suggest something and I'll try to make it happen.

The Story Gallery has links to a dozen or so stories for children and adults. In these I experiment with a lot of different features.

The first time I visited a grade 3/4 class, I used an app to talk about what my grandson Luke does each day. All the kids had their own Chromebooks, and were able to try out different things as I was talking. I used Meteor, so everything I did (or that another kid did) immediately showed up on everyone else's screen. The app shows Ottawa, Ontario where I live, with our house and various other landmarks in our neighborhood. It's all just a big nested structure. You can follow Luke as he goes about his daily activities, and my cat Licorice as he randomly moves from room to room. After I introduced "Luke's World" to the kids, I showed them how to write the code to add a model of their own school and classroom to the world. I then spent about an hour with two especially-keen boys, and when I left they were busily building models of their own homes inside of Luke's World, using a text-based interactive-fiction (IF) language I had written for adults. Because of Meteor, I could look at their work later when I was home.

Since then, I've been adding a Blockly-based graphical interface, one version for the older kids who can read, and one for my three-year old grandson who's able to drag blocks around to make programs. For now, these are just prototypes.

The grade 3/4 class has a couple of degus (small rodents) in a large cage. I wrote a starter app for them, and then had them write behaviors to move the degus around, eat food, drink water, etc. At one point they realized that there might be a way to get one degu to eat the other one, and sure enough they worked out how to do this. To get one of the degus to move, you need to type in the name of the degu (either "Speedy" or "Caine") in the fill-in field in the first block where it currently says "Avatar". Press the "Run" button to actually start the behavior.

"Sheila Goes to the Library" is another simple app that works well with the several Blockly-based options.

Xholon Blockly for ages 8 and up

Xholon Blockly for ages 3 and up

Xholon Blockly for ages 3 and up, with block parameters

In this app, Sheila repeatedly goes to the library and brings a book home. She never returns any. Eventually there are no books left at the library. As an exercise for kids or adults: How can you fix this problem of disappearing books? Here are a few of the many possible solutions:

General Features

Ken Webb


Xholon GWT is a Xholon project. Copyright (C) 2013 - 2016 Ken Webb

  @QWERTYUIk
  OPASmDFGHe
  primordion
  JKLZcXCVB.