Last Thursday night in the driving rain, I was returning to Cavan from Dublin on the bus with my friend Cara. [We’d struggled our way though a fantastic Python class, clinging (well, me at least) to the very edges of the ZPD precipice, and felt a great sense of achievement in any small advance in knowledge. It might help of course if we (eh, me!) were more diligent about our homework assignments].
Anyhoo, thanks to a rare positive spike in the Bus Eireann wifi, we got caught in a brilliant conversation started by the inspiring and generous Gillian Connolly of Sligo Coderdojo (yes, her the force behind #Dojocon2014). The net eventually caught me, Cara, Mary, Catherine, Bernie, Ciaran and Simon in a conversation about what we thought should or could be taught. Bernie had the bright idea of continuing to discuss Gillian’s initial question…so blame either of them!
And so we chattered for a while about what should, be taught, and how, and by who, and when….but as ever in these conversations we used the words “code” and “programming” with abandon, but not necessarily with an agreement on the meaning of either.
And so we made a date to continue the conversation this Thursday night about 10pm. Tentatively labelled a TweetMeet until someone comes up with something better, we will just continue to focus on sharing ideas about what each of us can do NOW. “See” you then…
It made me think though, that we each has a different mental picture when we hear “Everyone should learn to code”, as we do on every second media report at the moment.
And all of the above prompted me to have a think during the week about what “Coding” and “Programming” have meant in MY teaching experience, which to date has been modest – but enjoyable – in secondary school CS class, and Coderdojo. It comes down to 5 concrete areas, and 1 aspirational prize! Some of them I introduced to my students in school, and all of them are on the agenda for our Cavan Coder Dojo ninjas.
#1 computational thinking eg Thinking Myself, Marble Swap, CS Unplugged
#2 visual / block programming eg Lightbot, Google Blockly, Scratch or Snap, Pencil Code, Code Monster, Hour of Code
#3 text based / linear programming eg Python, Ruby, Java
#4 applied programming – robotics and ‘making’ eg Makey Makey, Lego Mindstorms, Mechatrons
#5 web / app building code eg HTML, CSS, JS
and if things go really well…
#6 there may be eventually what I think of as “freefall” – combining element of all of the above to work confidently and creatively in a state of what Mihaly Czikszentmihalyi calls “Flow”.
That’s my tuppence worth, tweet with you Thursday at 10pm about yours!!