SIGCSE First night, Workshop: CS Unplugged!

Got back from the first workshop a couple of hours ago, Workshop 9: Computer Science Unplugged, Robotics and Research Activities, Tim Bell, Daniela Marghitu and Lynn Lambert. Daniela couldn’t make it this evening so her place was expertly filled by another pair from Auburn. I’ve talked about CS Unplugged before but it was fascinating to see the experts talking about their experiences and giving us all the experience of what it’s like to be in an Unplugged classroom. I took some photos which will probably capture the immersive and enjoyable sense of this hands-on experience.

Parity play cards

Here are some of the double-sided cards that can be used to show the 2D parity trick, where    students  are drawn into constructing the use and checking of parity with a simple 5×5 (or 9×9) grid of cards. Basically, once drawn up the student can flip any of the cards and the instructor can walk in from outside and legitimately pick the flipped card.

These are Tim’s, from the University of Canterbury, and they are both a handy tool for CS Unplugged and a cool way to give people a calling card of who gave you the talk.

Tim and Lynn were very honest about the degree of knowledge that could be conveyed to elementary school students – we’re not talking about getting all of the CS completely accurate but, in a setting where we can get lost in the cracks, the students would remember that CS people came to their school and it was interesting and engaging. (And, for me, the CS is pretty close. 🙂 )

The next picture is of a Pirate’s Treasure puzzle, where students have to pick A or B and, depending on what they choose, they hop to different islands. This introduces several key computing concepts: Finite State Automata, Pirate Treasure MapComplexity but, for me, it also makes students think about exploring a space in order to be able to improve their decision and thinking processes.
Slide showing the FSA for a VCR clock setting

The next picture is slightly curious and, rather than being an activity, it’s a diagram showing all the states that a VCR could end up in when you’re setting the clock – and the number of different pathways between them. Is it any wonder that these devices give us trouble? Building on what students had learned about the different islands (states) that you could catch a ship to (transition to) – it suddenly explains why human interface design is so incredibly important.

Overall, this was a great workshop. We had many participatory activities – I was the bit representing ‘4’ for a very happy 10 minutes – and an excellent display of robotics and how they could be used with students in camp activities. Also, somewhat counterintuitively, how robots could be used to teach CS Unplugged.

From a theoretical perspective, CS Unplugged is heavily constructivist. In informal terms, constructivists assert that the generation of  knowledge and meaning in humans comes from an interaction between what they experience and the frameworks that they have in their head. In this case, CS Unplugged, the basic goal is to present something with which a student can interact, but in its affordance and its goals, it drives them towards forming the correct knowledge of an area of CS, even without us explaining anything. To give an example, the student in the picture had learned quick sort enough to demonstrate it, despite never being explicitly told what quick sort was. She’s 12. The numbers in the pictures show the number of steps for a student using a simple sorting technique, and the one that she used. Yes, she’s shaved over half the steps off.

Image of two children, involved in sorting activities.

We had many examples like this – students who learned to count in binary from observation and interaction, without anyone having to formally discuss powers of two or underlying mathematics.

To be honest, I can’t do a three-hour workshop justice in 700 words, and I’d like to get some sleep before tomorrow’s keynote. However, if you haven’t checked out the CS Unplugged website yet, then I strongly recommend it. If you get the chance to see these presenters at work, then I strongly suggest that, too.


Design, design everywhere – nor any drop of ink!

The upcoming week of posts, from Monday (Australian time) onwards is going to talk about interesting principles of design and how I believe they can be applied to teaching. I’m working from a set of books in my design library but the main one is “Universal Principles of Design”‘ Lidwell, Holden and Butler; Revised edition, 2010. I will try to put that in as a reference throughout, as these posts shouldn’t force you to search backwards and forwards, but I may forget so here it is as a basis.

I will be on the road for a while and I may have to load the queue to deal with the fact that WiFi doesn’t reach into the middle of the pacific at 30,000 feet. Yet. This may also slow down my comment response and clearance. Please hang in there, I’ll deal with everything as and when my network access improves.

The final post in the week of opinion is going to be published shortly and it’s more of an encouragement to look at other people who are more experienced in this education area – so go and read their opinions as well!

The title of this post is a reference to a fragment of The Rime of the Ancient Mariner by Samuel Taylor Coleridge.

Water, waterevery where, And all the boards did shrink; Water, waterevery where, Nor any drop to drink.

My use of this is supposed to do three things:

  1. Tap into the familiar pattern established by Coleridge with this well-known quotation – because it’s familiar to some of you, you may remember my message more easily. (Don’t make me force you to remember the “1 2 3 4 5, 6 7 8 9 10, 11 12” song from Sesame Street to prove my point about familiarity.)
  2. Identify that design is actually everywhere but that, in many regards, digital design has become the dominant form. The advantage of digital design, for us as teachers, is that we can be producers and distributors of digital design work without having to involve or pay for printers. Modern tools and production facilities allow us to make our good design, and well-designed materials, available anywhere, anytime.
  3. Remind you that, because good design is everywhere, we don’t want our teaching materials to be the worst designed thing that students see on a given day. No, you don’t have to be a professional designer, as I’ve said before, but consideration of basic principles can help to lift the valuable educational message that we’re all trying to give, and put it into a frame that will make it easier to use and actually be valued.

My secret final aim is to interest you all in running off to read Coleridge, because the language is beautiful and he’s one heck of a poet. It’s ok, I’ll still be here when you get back.


Juggling the load – some free advice without the $4 words.

I have a list of things written on my wall, which I copied from “How to get things done” – one of my favourite ‘do something’ books. My favourite is:

Renegotiation: How can I achieve something AND make it awesome?

As I sit in my hotel room, at 10:48pm, after a fairly long day spent on planes and in talks, I have a chance to reflect on how I’m managing things. I’ve talked before about OmniFocus, mailboxes and to-do lists but, as always, there’s something else. Fortunately, I have no wish to get you to send me $1000 for the secret and I’m tired, so I’ll keep it short.

I realised that I’m handling things in a very ‘thought into action’ way. I have now assembled my tools, my iPad, my laptop and my phone, so that I can spring into action when I need to with the minimum of fuss. It doesn’t take me 15 minutes to locate something because it’s either in a paper folder or I can find it by searching electronically. This is not just liberating (because I am not bound to my office) but it allows for an immediacy of action. If I need it, I know where it is or I can find it easily. This reduces most problems down to read, think, decide, act, store. Once you take out ‘scrabble around on desk’ or ‘try to remember if you took this home’ or (worse) ‘become immobile because searching is now infeasible’, a lot of things start to look more possible.

It’s much like I imagine zen archery. The arrow is plucked from where the arrow must be, the arrow is set, the bow is drawn, the arrow is released and it flies through the air, inevitably striking the target. If there is another target, I already have my next arrow waiting. One motion, no hesitation.

Fluid. Efficient.

It has taken me weeks… possibly months… to get to a point where things are working smoothly but it has been worth it. A year ago I would have crumbled under this, especially with the teaching about to start again. Currently, things are working.

If I’m being perfectly honest, and I try to asymptotically (*ding* $4) approach this, sometimes I still miss the odd thing but it’s most likely to be a conscious choice. I can see it coming and I have to work out if I can do it or if I have to push that load off somewhere else. There’s still room for improvement, which is always good.

Looking back at what started this post, I’m now achieving things and, with luck, I can increase the overall level of awesomeness as well.

Awesome! 🙂


Your Screwdriver Is a Hammer

There’s always a temptation to start teaching tools rather than techniques, and that’s certainly true in my discipline, Computer Science. My school doesn’t teach inside a ‘standard’ Integrated Development Environment (IDE) [If you’re a non-tech person, that’s a friendly, graphical framework for writing programs]. This isn’t because we have some sort of “real programmers don’t use IDEs” nonsense going on but it’s because we want to teach techniques for designing, writing, testing and improving computer code that can be used anywhere and everywhere.

Not everyone runs the same computer hardware, operating system and applications package set-up. Almost every workspace is different. (Whether they should be or not? That’s another post.)

It’s a little like that “give a man fish…” sentiment, except that tools are notoriously short-lived and mercurial in the computing world. Today’s killer environment is tomorrow’s bad example. One group may have a semi-religious objection to the tools of another group – and both can be wrong. It’s more like “give a man a fire, he’ll be warm for one night, set him on fire, he’ll be warm for the rest of his life” and makes about as much sense, once you remove the humour.

Ultimately, if I teach someone a tool-based approach, there’s always the risk that they will think that this is the only way to solve it. To drag out another platitude, when all you have is a hammer, opening beer becomes very messy. This is why we try not to only teach one programming language, one programming paradigm (that’s an overall approach to programming) and certainly not one platform – especially if it’s an expensive or proprietary platform.

I recently purchased one of the Adobe Creative Suite full-version packages, for work, at a cost of thousands of dollars. Is it useful? Yes! Has it broadened my horizons in terms of teaching design? Yes. Would I teach with it? Oh, heck no. If what I’m teaching is programming, like the scripts in Adobe, I can do that with free products and the knowledge transfers, with a small warm-up time if you get to use this product. If what I’m teaching is graphics, then there are existing products out there that are free and in the same ball park. Yes, students can buy student licences, but at roughly the same cost as a textbook – given a choice, I’d probably rather that they bought a useful book than a heavily specialised tool. I’d be slightly terrified if someone though that all problems could be solved with CreativeSuite.

It’s a bit like using Microsoft Excel for scientific data analysis: great tool, wrong purpose, costs real money, makes bad science.

Yes, I accept that I may disadvantage a student who takes their general Bachelor of Computer Science and goes to a place that demands 6 months experience with Adobe. But I’m not part of tech training for tool use (not saying that this is bad, it’s just not what I do) so I have to focus on techniques so that, whichever package or system or language my students find themselves involved with, they can look at it through the tool and apply the techniques.

Even a well-crafted screwdriver can blind you to the other options out there and, in the worst case, have you stand there sadly banging the screws in. With an understanding of technique, well, I’d love to say we’d eliminate this, but let’s settle on we’ll probably reduce the possibility of this happening.