Archives for : computing education

Chocolate Flying Machines

Toblerones are a very Christmassy thing, and I got a drone last week. The Tello drone is controllable from Scratch… and Makey Makey. I’ve been looking for a way to combine it with Makey. I bring you Tobledrone – the edible drone controller.

A Makey Makey Labz guide is in the works.

Makey Makey Featured Guide: Walk-on Maze

I’ve always felt interactive programmable floor mazes were just too… static. So why not make one you can take with you?! Actually, I just use multiple classrooms, so it was easiest to make a roll-up portable version that could be moved between rooms when we were working on it.

I’m pretty chuffed that my maze remix is featured and has been taken as the #CSEdWeek Hour of Code Challenge Day 3 by Makey Makey – and they made blog post about it.


This is a take on the Makey Makey Journey, whereby two people walk along a conductive path – holding hands – to control a computer game. We made our own version with tinfoil tape (becoming one of my favourites) and plastic outdoor sheeting.


One path is wired to the Earth terminal, and the other to Space. The connection was a bit ropey at first, but we managed to find where it was dropping off and added some booster wires.

We used Scratch to make a circus game with a tightrope-walker and big top music. The featured guide is on Labz and Twitter, and explains it best. This includes a (hopefully funny) video.

Now, I’m away to frame my maze and stick it on a (large) wall in my parents’ house.

Giant micro:bit

Inspired by the recent giant Makey Makey (I want one of those too!) I said I’d love a giant micro:bit I could demo from the front of the class. My dad – an engineer – said he could make one, but I didn’t expect this sort of detail! It’s great to point out the connectors, where to find the processor and sensors on the back, where the Bluetooth antenna’s hidden, etc. It’s a prop, a talking point. It’s 10x scale, as you can see from the tiny (real) micro:bit sitting on top of it. How cool is this?!

Giant microbit

Video: Makey Makey slide mover

20180722_130151Ever been frustrated when your slide clicker runs out of batteries? Me too! My Code Club kids, and Pi-Wire pal Chris, have a ‘practical’ solution: use a piano pedal!

There were two versions: the first was ok, but had some flaws. As later figured out, it was a bit unreliable. I was so impressed that the kids developed ideas for version 2, improving it a lot! With a bit of tweaking, the second version was perfect – and all it took was some play doh and a bit of rewiring. Click below to see how we did it…

Continue Reading >>

2018 Update

This hasn’t been updated in ages, but…

As of July 2018, I’m a secondary computing science teacher (“probationer” in Scotland, newly-qualified teacher, or NQT). I’ll mostly be keeping this site on as an archive, but I tweet more often as @mrmckaycomp. I did the Strathclyde PGDE and worked in two great placement schools. I’ll now be taking up an NQT post in another (I’m not telling you which) secondary school.

Pi-Wire stays (it hasn’t been updated in ages either) – and we’re now both teachers!

My Google Scholar page is here too, with a list of publications/citations.

PPIG Publication, November 2012

In press is a conference paper I’m about to present at the Psychology of Programming Interest Group (PPIG) workshop in London, 21st-23rd November 2012. As I noted on my HCI 2012 post, some of these have now been going on longer than the participants (this being PPIG no. 24). This is a full paper written with my PhD supervisor, Prof. Michael Kölling (well known in the field of computing education). The paper reports on a pilot study where we evaluated the effectiveness of new HCI usability heuristics (which we created), specific to the domain of learner programming systems (e.g. Greenfoot, Scratch, the Mindstorms kits, etc.). The abstract follows below.

EDIT: The paper is now published, and a PDF can be downloaded for free from the Kent Academic Repository, or directly from this link. The Q&A session after the talk gave an opportunity for some interesting discussion with the likes of Thomas Green, Alan Blackwell, and the other cognitive dimensions “grandees”!

Evaluation of Subject-Specific Heuristics for Initial Learning Environments: A Pilot Study

Fraser McKay & Michael Kölling

“Heuristic evaluation is a “discount” technique for finding usability problems in well-established domains. This paper presents thirteen suggested heuristics for initial learning environments (ILEs). To investigate the usefulness of these heuristics to other developers, we conducted a pilot study that compared two groups of evaluators: one using an older, generalised set of heuristics from the literature, and one using our domain-specific heuristics. In this study, we compare not just the number of problems found, but the way in which the problem reports were expressed. There was a significant difference in the length of written comments when problems were found (those from the new set being longer). New-set reviews touch on more themes – many make suggestions about what would improve the problem; many comments refer to a suggested cause-and-effect relationship. As designers, we find this detail helpful in understanding problems. Quantitative data from this study is not large enough to support any robust conclusions about the relative thoroughness of the heuristics at this time, but we plan to use lessons learned from this study in a larger version shortly.”

Archos tablet

As much as this is more of an online CV than an often-updated “proper” blog, I’ve recently been thinking about tablets. It’s a week since my Archos 101 arrived, and I’m a bit in love. And I’m slightly richer (or less-poor) than if I’d bought a big iPhone. Oh, and I have Flash*.

In all seriousness, however:

  1. I’m pretty indifferent to Apple – I don’t hate them, my work machine’s a MacBook. The Archos, however, is half the price of even the wifi-only iPad.
  2. I really like Android – I have an HTC Android phone that I LOVE. Android’s easy to develop on as well – not as polished as Visual Studio (but smaller), but it’s very open.
  3. The Archos isn’t one of the cheap generics flooding the market (some of which might be great – I don’t know!) Archos have a history making media players, and this is fine for browsing, music (good speakers) and video (HDMI out).
  4. I get stuff I actually want – a proper USB port (!) for flash drives, external hard drives, etc.; an HDMI port, and a big enough screen to make it worthwhile (and not a slightly-swollen phone). I’ll settle without an aluminium body for the price, and I’m happy to use my smartphone if I really need 3G data – the Archos will tether fine.
For one thing, it’s actually an OK ebook reader. I’m not that into ebooks, but there’s a Kindle app if you really want it. Personally, I find it quite easy for having papers to hand while I’m typing, without having to switch screens a lot, or use paper (arduous, I know). I’m all synced with Google Docs (which I was using anyway) and can work with documents, spreadsheets or slides easily, all things in – it really is direct manipulation, after all. Speaking of Google, the Archos’s Android OS naturally assumes that I use a Google account, so my Gmail, Calendar and Tasks are added to the home screen within a few screen-presses of unboxing. It doesn’t come with the Android Market – for Google’s licensing requirements – but it’s very easy to get it – not some techy hack, but a few clicks on the built-in app installer. It’s not something I covered in my degree, so I don’t think it’s inaccessible to those not blessed with the secret of computer science.
The stock Android browser’s ok, really, but I’ve taken to using Opera, which, frankly, is very nice and shiny – it’s not phone browsing. I don’t like Dolphin Browser, but that runs fine for those who like it – in any case, there are loads of options.
I’ve been thinking though, is there a role for using tablets in CS learning? Phones might be more realistic in availability (Android is gaining ground fast). But you still can’t develop real desktop-equivalent apps very seamlessly. Maybe the added screen-estate of a tablet will, in time, make them reasonable to play with as programming toys. Certainly, the App Inventor opens Android development to something pretty similar to the block-based teaching tools, albeit with a more complicated API. Price-wise, lower-end tablets are getting fairly accessible, but I admit I haven’t thought this that far through – it’s just a musing! Being a geek, a Trekkie (see the PADD above) and a kid at heart, I find Trek-style touch-screen tablets very cool.
Maybe I’m as much a Google fan as some people are with Apple.
Maybe not.
* Yes, I know, but apoplectic diehards can be quite funny.

Royal Society Computing in Schools

Looking at the Royal Society’s new investigation, there seem to be a few points that are relevant to Scotland in particular:

1. VB?!

Why does the Scottish Qualifications Authority (and why do Scottish schools) have a bizarre obsession with the archaic Visual Basic 6?  I was nine when that came out in 1998! .NET’s fine, but it’s just silly to pretend that cost is the main reason for using a 12-year old package. For one thing, newer versions of VB are free - it’s not like schools need the enterprise versions.
What’s worse? When I was on placement, one teacher told me – and the pupils – that this was object-oriented programming (cue ooh-aah…). Um, no, it isn’t.
*bangs head against 1990s wall*

2. Scratch? Erm… Java?
Just cos you can buy official hats and t-shirts doesn’t mean much for Scratch’s efficacy. It’s not that there’s anything really bad, and it’s great for engaging young people, but one teacher suggested using it for Standard Grade and Higher courses. Given the aforementioned VB requirements, that seems a bit silly anyway. But wouldn’t it be ironic if VB was replaced, finally… with a media tool? I have great respect for Scratch, but you just can’t use it to teach some of the “proper” programming in the higher. And it’s not object oriented.
If we want something that works right through school, what’s the problem with Java? Why does everyone (okay, so both sets of teachers I worked with last year) seem to think it’s so hard? There’s Greenfoot, which works for kids. I looked into using JAKE with school-level kids too. According to Kölling and Henriksen,

Greenfoot is aimed at programming at high school level or above (from age 13 up). It can be effectively used at school level, college and university, and even in advanced university courses.

The students at high school levels might not be as commited to programming and we have tried to create an interesting program that should engage the student. In order to do this, we acknowledge that students have different opinions on what might be interesting. Hence, we sought to create a flexible environment that could be customised for the specific group of students. Furthermore, in the design of greenfoot we considered the different learning styles of students.
Since Java fits neatly into further courses, why not use it and save the big transition between Scratch’s jigsaw blocks and (say) BlueJ’s class diagrams?

3. Is computing a subject?
Point 1 of the Royal Society’s call asks,

1. Is computing a discipline, in the same way that mathematics, physics and chemistry are?

Personally, I’d say yes, but that’s not the point. Do schools really consider computing as the same sort of subject, or is it just a kind of IT-ish, businessy thing?

Point 8 of that call asks,

8. Who is teaching computing, and what qualifications do they hold?

Both of these are things I thought about when I was asked to work for a while in one particular school. That school had no computing department. Fancy taking Standard Grade computing? Sorry. What about admin? Or Accounts? First and second-year ICT were taught by business teachers. Doesn’t exactly do much for the standing of computing as a subject in it’s own right. Ironically, the purpose of that particular school project was to promote computing as a career. Um, yes…
So basically, we have schools that don’t actually teach computing. In those that do, students use a “vintage” Visual Basic. And objects-first? Oh no, that’s too difficult.

Royal Society Computing in Schools

The BCS has published news on the Royal Society’s Call for Evidence on school computing.

The study will be led by Professor Steve Furber FRS, with an Advisory Group bringing together school teachers, academics and industrialists to steer the project. This open call for evidence precedes a series of stakeholder engagement events which will take place later in 2010 and early 2011, and will help the Society focus these sessions and identify where new research is needed.

It’s good to see a drive towards new research in computing education – something that, to a new researcher, sometimes still seems a bit niche. Look at SIGCSE’s membership size and compare to the number of teachers and lecturers involved in teaching computing internationally…


Since I’m starting this blog at the same time as working on my honours research, I thought I’d post a little summary. Right now I’m working on objects-first programming education, particularly with Karel the Robot and other virtual worlds. Objects-first programming is all about teaching object-oriented programming from the start, rather than the “traditional” model of introducing objects on top of procedural programming.

Over the next few months, I’ll be developing a prototype tool for teaching programming with virtual robots, hopefully bridging the gap between “pure” robot worlds and standard applications programming.