GEEKERY  
ADVENTURE  
CONTEMPLATION  

20140610

sorting concept game

Sorting is one of the computer science concepts that I think is fun to teach kids.  It shows them why having an algorithmic approach is important, and that some algorithms are faster than others.

A year ago, I did a physical demo of sorting at a local elementary school science fair.  I had a scale and small jars filled with things, and the kids were excited about solving the puzzle. But, kids are also really good at cheating, and they used the contents of the jars to guess the order, or used their memory of how heavy a thing was in their hand.  I anticipated this a little and filled a few of the jars with cotton and other light-looking stuff on the outside and then heavy bolts on the inside, but that only worked until they picked them up.

So I've been toying with the idea of making a digital game of it, and put together a Sorting Concept Game, where concept applies to both the concepts being learned and also that it's just concept work and not ready to be put into real use.

For instance, there's no indication that the second row is just for utility and the first row is where you should put your solution.  Also, the button to "check" your solution doesn't do anything if your solution is incorrect.  I'd also like to put in puzzle numbers and have an option for starting a new puzzle (instead of either reseting to the start of the same puzzle or reloading the page for a new one).

I made it with Processing, which is very easy to work with, and has a javascript mode that exports to HTML 5 canvases.


4 comments:

Bryce said...

Cool concept. Suggestion: the "you did it" page should display how many comparisons it took.

ajbc said...

The number of comparisons is in the upper left. Is your suggestion to just highlight it by bringing it to the center when you're done? (vs. maybe a high score?)

Bryce said...

Yes; that's essentially what I had in mind. Mostly, I just wasn't expecting that information to disappear when I hit "check".

ajbc said...

Oh, I see. That's a bug in converting processing to javascript--in the original variant it didn't disappear. Thanks for catching it!