Let’s help each other

An observation I have made several times over the past few years goes like this:

  • Some teachers out there want to help teachers in other schools.
  • Some teachers out there view helping others as totally wrong.

I first noticed this when I was a student teacher.  One school sent me off into the sunset with all sorts of resources.  They wanted me to use them, to improve them and share them.  Another school refused.  I remember asking my Head of Department in the second place if I could borrow his big file of notes – he responded as if I was asking for the Crown Jewels, and let me know in no uncertain terms that this was a totally inappropriate request.  This confused me – after all, it was his job to help me become better at my job, surely?  Letting me access his notes, built up over a long time, would let me compare the depth and breadth of my own developing notes.

I have met many instances of both attitudes since.  There are the teachers who refuse to co-operate with anyone.  If their students are all getting a grade C and a little co-operation might get them a B, it doesn’t matter.  It seems the important thing is they are outdoing my lot, and any co-operation that might risk improving everyone’s grades but some of mine getting an A is wrong.  Let’s keep others down, and aim to be the least-mediocre, would appear to be the order of the day.

This attitude sucks.

Thankfully, I know more examples of the let’s help each other model.  For the overall good of our subject, we can work together and raise standards.  Go ahead, use my resources.  I know it might be a while before I can use yours, if you are new to the subject.  That’s ok.  The experienced should support the inexperienced, knowing that the help will be returned another day.  If someone else uses my resources to get better grades for their students, that’s fine.  If they outdo me, that’s also fine if a spirit of collaboration exists that allows me to learn from how they did it.

One such fine example is Computing At School.  Complete strangers share resources – whether it be programming how-tos, lesson plans or even complete textbooks.  Those same resources are exposed to many eyeballs and can be improved.  If my own work is on the end of honest feedback, and can become better, then lots of people benefit.

We teach our children to share.  We do groupwork in the classroom, and see the benefit to the students.  Let’s practice what we preach, and derive the benefit.

I haven’t gone away, you know…

…but I did have a very long break.

Regular readers (who by now have probably given up this blog as having been abandoned) will have noticed my abrupt departure.  Without wanting to bore you with the details, I became rather ill, all of a sudden.

I intend to resume normal service in due course.  In the meantime, I would like to encourage you to support one of the charities/organisations who have helped me out recently.

The most pain-free method is to sign up to the Anthony Nolan Bone Marrow RegisterSome anonymous guy saved my life by giving me his bone marrow and I owe him a massive debt of gratitude.

Alternatively, you could give blood.  Check your local press for details of donation sessions, or Google for your local blood transfusion service.  After each course of chemotherapy, I stopped making my own blood for a while and between them, a bunch of anonymous dudes gave me around 50 units.  They also kept me alive.

If you prefer to avoid needles, and give money or get sponsored for something, you could give a few quid to Leukaemia and Lymphoma NI (or if you are in GB, Leuka, or the Irish Cancer Society) – they’ve all funded research that keeps me, and many others, alive.

Thanks for your time, and your help.

Sir, it sounds…. pixelated

I love it when students try to explain some new idea they have just understood, and that I haven’t taught them properly (yet).  It’s really interesting to hear them try to understand stuff that they understand, but that they don’t have all the words for.

Last week gave me one such moment.  I had just finished a class with Year 11 (that’s Yr 10 if you are in England), about sound quality and bit-rates and that sort of stuff.  We started with a piece of music that had high and low-pitched sounds all mixed together, and put it into Audacity.  It looked like this:


We discussed the shape of the wave-form.  I didn’t have to tell them about high-pitched and low-pitched sound – they were able to tell me (good!  We need to let them do this, and encourage them to think).   We cut a piece out…


Then the real point of the lesson – lossy compression begun.  Lossy compression is a process of removing little bits of detail (whether it be from sound or image), that the end-listener/viewer is not likely to notice, or that the end-listener/viewer can put up with.  It happens in photos (because most people are incapable of noticing the difference in 3 million shades of blue in the sky, when 300 will do rightly and will make for a smaller image).  It happens in audio (because unless you are a trained musician, with great hearing, you are not likely to notice if some high-pitched are not quite as high or as sharp).  It happens in Skype (and other Internet telephony services), because most users don’t care about a low frame rate whether the sound quality is more like an AM radio than a CD, in a conversation.  If lossy compression did not exist, a lot of the media sent over the Internet would take a lot longer to get around.

We used Audacity to export it in a number of different bitrates – you can click to hear them, below.

To illustrate the point, we compared the 128 kbps sample and the 112 kbps sample.  If done as a ‘blind test’, without me telling them which is which, they cannot easily tell the difference.  Even at 96 kbps, quite a few struggle to hear the difference.  At lower bit-rates –64 kbps, 32 kbps and 24 kbps, the difference becomes really obvious.  Some of the class preferred the lower-bitrate versions!  At this point, after demonstrating how Audacity works and so on, it’s good to let them have a go for themselves.

The bell rang, and as they left the room I had the full track playing at 32 kbps.  At this point, the Year 9 arrived, and quite liked the music.  Without prompting, they started to discuss it:

“What is that music?”

“It sounds muffled”

“There’s a lot of bass”

“Sir…”, asked one, “why does that sound so…. pixelated?”

Brilliant!  He knew what had happened – that someone had reduced the quality, in the way that careless image editing can reduce the quality, to leave a pixelated image.  Yes, I know, you cannot pixelate sound – but he recognised the concept.  Well done him, for applying something he learned somewhere else, to describe what was happening today!

And I wondered, how often do teachers praise kids who describe something as well as they can, even if the wording is a bit amiss?  And, how often do we criticise them for getting the wording wrong, even though they have had a go?

Scratch: Gerry the Giraffe (1)

The Scratch Giraffe game – loosely based on Trick the Turtle, a Greenfoot tutorial by Michael Kölling.  My original idea had been to re-engineer Trick the Turtle, but in an effort to make it as easy as possible for my students, I used sprites that are pre-installed in Scratch.  The basic functionality of Trick (a keyboard-controlled animal, that eats something, and the avoids a predator) is retained.  Maybe, by the end, we’ll import the Trick images.  I don’t know yet.

Anyway, the objectives are to get students to think beyond worksheets; to learn keyboard control; to reflect on the effectiveness of solutions; to introduce object interaction; to use variables.  At this stage, they have used a pile of worksheets, with another teacher who was looking after my classes for a while.  I want to bring in a bit of “ooooooh!”

My intro: Show them the finished game (you can download it, here), tell them this is where they have to get to. Show the code for each sprite and (briefly) discuss it.


We have a giraffe – with keyboard control.  Notice that once it starts running, it keeps going.  The bowls of fruit jump around, and respawn once eaten.  The lions come towards the giraffe, and are there to be avoided.


Making the giraffe

First, a new Scratch project is needed, with a giraffe instead of a cat. So, create the project and delete the cat.  Create a new sprite. Use giraffe1-a. Yes, it does have to be this image (because I say so).  The real reason is because there is a giraffe1-b that we can use later to animate the running giraffe, if we decide we want that.



Simple keyboard control

So far, the class have used the green flag or space-bar, to start a program that either runs to completion, or that does a pile of stuff forever. To start, the giraffe will be given four programs. Bring four When Space Key pressed instructions over to the giraffe’s script.




Demonstrate making the first instruction into when up arrow pressed, move 10 steps.


Now, ask the students to change the remaining when-space key pressed to give you a giraffe that:

  • goes 10 forward (up arrow)
  • goes 10 backward (left arrow)
  • turns right (right arrow)
  • turns left (left arrow)


I give them a few minutes, have a walk round and discuss a few solutions. Most will have the solution below.  Some will have different amounts of turning, and other variations. That’s ok – the turn-amount (etc) were not specified in the ‘challenge’.  The important thing is forward/backward and turning left/right.



“But Sir, it doesn’t keep moving….”

The original giraffe kept moving, once you pressed the arrow key. It did not rely on the user pressing arrow keys over and over.

Ask the class to modify their solution to keep going backwards, and keep going backwards. Probably nobody will get a perfect solution -that’s ok. This is a thinking and learning and discussing exercise.

Give them time, and then talk through the various options, below.


Most will manage this modification – keep going forward by repeating forever:


It fails when the giraffe runs off the screen.


“Why does it run off the screen, folks?”  – an interesting discussion should follow.


Some manage this.  It’s a good effort.  It’s important to congratulate them for having a go, even if it isn’t perfect yet.  We’re still learning, and when we make mistakes we are simply finding out what doesn’t work.

Press forward and watch it go….

Press backwards, and watch it stop!



Q: “Why does it go forward, and then simply stop when you press back?”

Ans: it has been told to forever go forward and forever go backwards. This produces a continual back-forward effect. It looks a bit like a failed moonwalk.


Some clever ones managed a repeat 10 times variation. This is good, and it shows they are thinking and trying to fix the problem, but is still a compromise.  Remember, the original giraffe in the original game kept moving forever and would reverse (forever) also.  I demo the repeat-10-times version and and let them discuss it.

Actually, after getting to this point with a few different classes, I was fairly pleased with their willingness to have a bash at it.  Some classes had built reasonably good animations and games, with worksheets, in my absence.  Others had not touched Scratch at all.  With all classes, I was pleased with the half-a-go attempts and their willingness to talk about what does/does not work.


Anyway, how do we get it working like the original giraffe?

First, clear the scripts we have just made. Yes, everything. Wait for the grumbles. It’s OK, we haven’t failed so far, we haven’t got it wrong – we have just found one thing that isn’t going to work the way we want. This is precisely how I went with it when I hacked the original solution together inside a couple of hours.

(Yes, I did hack it, no hacking it not always bad and evil – let them think about that and if you want and if you have time, you can discuss the real meaning of hacking with the more common meaning given nowadays)


Back to the giraffe: create a variable, Speed. For this sprite only.


It will start at zero. That’s ok.

Now we start building the script. First, we reset the position (in case it has ran off-screen) and reset the speed.


It won’t do anything exciting yet.

Now we tell it to forever, move, at ‘speed’. Move the giraffe to the edge and press space. Once the giraffe is centered, nothing happens – “Why is it just sitting there, folks?”


Answer: it is moving, at speed zero….


Now, we add some keyboard control. Add two ‘ifs’.



We discuss what an IF is and what it does.

Q: “IF up arrow is pressed do we want to happen? What about when DOWN is pressed?”


Then I show them the IF construct for UP:


‘When space key pressed’ comes from the ‘sensing’ block – we change to ‘up arrow’ pressed.


I let the class figure out backwards movement for themselves.


There’ll be lots of oohs and aahs at this point.

This is the finished product (for now).



Now we save our work, as the bell’s about to ring.  My version of the end-of-lesson game is here.

Next day – speed limits, turning, something for the giraffe to eat.




Some Impromptu Scratch, pt 3

The context for this:  another teacher had been looking after my classes for a while, so on my return I was eager to find out what they had/had not learned.  Some classes had done a little Scratch, some had not.  This lesson was simply a bunch of silly challenges to see what they could do by themselves.

Challenge 1: Flipping Sprite.

You have two minutes to create a new sprite, that does nothing except turn-round every few seconds.  Just to make sure there’s no confusion, I demonstrate with a plaster mask that someone left behind in the room, and hasn’t returned for.  The end effect is the sprite starting like this this…

Scratch Cat facing up

…and then going like this…

Scratch Cat upside down

…and so on, every second.

It’s fairly straightforward.  The challenge, in-class is making sure everyone can do it and understand it for themselves.  I did this with a few classes and the general reaction was a minute of head-scratching before four or five students, all dotted round the room, all have a Eureka! moment.  After that, it’s difficult to know who figures it out for themselves and who is following the example of others.

Once they have done it I demonstrate, for the sake of any who copied and have no idea what they copied or why they copied it.  In demonstrating it, I talk through each thing we do, and give them a chance to ask questions (usually someone does).

We are going to do something forever….so I pull over the first piece of code.

Scratch forever loop

What are we going to do forever?  Turn 180 degrees, then wait, then do it again, over and over again.

Turn, in a Scratch forever loop

In pulling these commands into the Scripts panel, I have a habit of getting lost in the Scratch panels when looking for Wait – I tend to forget it is in the orange ‘Control’ section.  “Look kids, teachers can get confused too.  Don’t feel bad if you take a while to learn your way round the interface….”

And, or course, we add a command to start if off – it can be a press of the green flag or space bar – it doesn’t matter.

Scratch forever loop, with a Start command

There’s lots of scope for discussion, even in this one example.  What does ‘forever’ mean? (until the power is turned off).  What if we forget the ‘Wait’ command (it keeps flipping, very quickly).  There’s also scope to talk about the over-engineered solutions that come up in every class.  This one came about from someone who thought the ‘challenge’ for a simple turn was far too easy.

A smooth turn of 180 degrees

It turns 1 degree at a time, and once it has turned 180 degrees it waits for a second.  Solutions like this are great to see and should be encouraged.  However, they give rise to the perennial problem of anyone teaching a practical subject: at one side of the room, we have the student who can do anything asked, and completely over-engineer it, in the time it takes the person on the other side of the room to just begin to understand the original problem.  With hindsight, maybe I could have set the ‘smooth scrolling version’ as a piece of extension work.  I didn’t though- it was…

Challenge 2: bouncing sprite.

Simple – your sprite floats to the edge, does a 180-degree turn, and goes back.  It bounces forever.

Most students had a solution working quickly.  Forever, move 10 steps, if-on-edge, then bounce.

If On Edge, bounce

Again, we get some over-engineered solutions.  I talk the students through one of them- what do we do in a world where the ‘If on edge, bounce’ command does not exist?

We need to ask an IF question – I briefly let them know that in programming, IF questions have two possible answers – yes and no.  Sometime later, we’ll work out where else this sort of thing gets used.  For now, we need to ask IF we are touching the side.  If the answer is Yes, we turn 180 degrees:

Scratch IF statement

Then I let them experiment with different angles.  Very quickly, someone is asking “I told my cat to turn 10 degrees, but it turned far more”.  Time for a discussion, and their first taste of a code walk-through.  It’s a literal walk-through, as this needs a volunteer to be walking around the room (while I point at each line of code, projected on-screen).

Forever…. so we never stop

Move 10 steps… volunteer shuffles forward

IF touching edge… volunteer is not at the wall yet, so we ignore the stuff that is done if IF gives a Yes answer.

Move 10 steps… volunteer shuffles forward

IF touching edge… volunteer is at the wall, so YES!

Turn 10 degrees

Move 10 steps… volunteer tries to shuffle forward, but the wall is in the way

IF touching edge… volunteer is at the wall, so YES!

Turn 10 degrees… 

Move 10 steps… volunteer tries to shuffle forward, but the wall is still in the way

IF touching edge… volunteer is still at the wall, so YES!

Turn 10 degrees… 

Eventually, the volunteer gets a chance to walk into the room, and off he goes, and them someone asks, “But, my cat is stuck in the corner, turning in circles”.  Mercifully (for the volunteer, who doesn’t want to spend time turning in the corner to everyone’s amusement), someone else points out that the cat’s shape means that even when it is pointing into the main stage area, it takes 10 steps but is still touching the side, so it keeps turning.   To fix this, we put an ‘If on edge, bounce’ after the turn command, to make sure the cat gets a shove into the middle again.


The cat is getting boring though.  It keeps doing the same stuff.  I tell the class how it reminds me of a computer game I once played when I was their age (yes, computer games existed then), where the goalkeeper in the opposing side always ran out to meet my attacker, and always got lobbed if I timed it right, so the game got boring.

So, Challenge 3, random turns.  Listen carefully, I say, I want the cat to do a random turn that is somewhere between 10 degrees clockwise, and 10 degrees anti-clockwise.  If I was you, I might get a random turn between 0 and 10 degrees clockwise working, and then tweak that a little bit.

Changing the turn command to look like this comes easily, for most of  them:

Random turn, 1 to 10 degrees

…but this is only clockwise.  So, I quickly draw a diagram on the board of what I want – but it turns out my friends in Maths have not covered three-figure-barings yet (so much for assuming knowledge!)  We have a discussion, ideas of the number-line come into their heads, and a random turn between -10 and 10 comes along.  The simple version is to change the random number, in the above example.  Most of the class are happy to experiment once they have it working, and all manner of variations appear, including a random turn left, followed by a random turn right.  Random numbers of steps come along, and soon we have sprites that stagger forwards and backwards, as if drunk.


Extension task: redo it, but with shorter steps and with an insect.  Now make several copies of the insects.  Oh look, a swarm of insects.  Experiment with the numbers in each one.  What happens if you want to change the turn angle, or the number of steps to be moved, for all of them?

Where are we going with this: hopefully a cloud of insects that we have to navigate some other creature through, in an effort to make a game.  Hopefully.  That will involve some keyboard control and sensing when other things are being touched.

The students doing this had already been using Scratch (via worksheets) for a few weeks.  They clearly understood the basics, though this exercise is enough to remind me of a few important things:

  • Blindly copying worksheets, or blindly following teaching instructions, teaches nothing.  Students need to stop and think about what they are doing.
  • Doing something once is not enough to understand it.  In any practical task, repetition is needed.
  • Encouraging experimentation and risk-taking is going to get them to do more exploring than any set of linear instructions ever will.


Pre-requisite knowledge – don’t assume anything

This week I was doing some revision with my Yr 11 (first year of GCSE) class.  The week or two before internal exams gives me a good chance to go over everything I think they should know, and identify any gaps in their knowledge.  Such gaps can arise because reading homeworks are not always not read; writing homeworks are sometimes  copied with little effort to understand; the teacher (me) sometimes glosses over something.  I do such revision exercises because I don’t want the “Why do you put things in exams that you don’t teach?” conversation with parents.  I really don’t want the “How come half the GCSE paper was not taught?” conversation.

So, this week, I asked someone to give me an example of what a ‘Wizard’ does when installing software.  Myself, and half the class were expecting an answer that was about these things:


LibreOffice installation wizard


The other half of the class were thinking along these lines:

Gandalf installs software

Dumbledore also got a mention.


Later in the day, another class were using Scratch and I asked them to do something with their “Sprite”.  Most knew that I meant this:

Scratch Cat

But, it was just after lunch and a few asked out-loud, about this:


500ml Sprite Bottle



Stupidity?  No, I don’t think so.  Half the class clearly did not understand the term and were doing the best they could to make sense of it (at least they had a go – it’s worse when you have 20 mute faces staring back at you).  It’s important to remember that in any subject that is full of specialist terms, students do not always know the terminology from the moment they walk in the door.  Bits, Libraries, Networking, Clouds, Tablets, Desktop, Notebook, Flash and a ton of other words, mean something else to other people.  As well as the specialist terms they don’t know, there are the specialist terms that they half-understand, heard elsewhere and out of context.  Little gems, such as: “Make a power point” (electricians do this – computers are used to make PowerPoint presentations); “Pen” (a device for writing, though some people use this word to refer to USB Flash memory); “The opera” (Italian singing, presumably being confused with “The Opera web browser”); “My computer has frozen” (did you put it in the freezer, or has Windows simply crashed?); “The Internet is broken” (eek! global catastrophe awaits!  Maybe your computer cannot access the WWW?).

Hey, at least they know something, even if their wording is confused.

Of course, teachers need be careful about what they say in response – we don’t need to wreck some poor soul’s confidence.  After all, they are usually some poor first-former who is repeating what their parents said, or even what their P7 teacher said, back in the days when The Teacher knew everything about everything.  Anyway, I’ve seen worse howlers in GCSE textbooks.

This is not confined to the realms of ICT and Computing.  Back in the days when I taught maths, I incorrectly assumed students would know about playing cards, when I used them in explaining probability (no, they play computer games nowadays).  I incorrectly assumed they would know about the movement of a knight in chess (no, they play computer games nowadays).  I incorrectly assumed they would know 12 inches = 1 foot ≈ 30cm (no, Imperial units are not taught in all Primary Schools).  In my first few months as a teacher, I spent a week wondering why only a third of the class had any idea of what long division was (it’s not part of the primary school curriculum any more, but I didn’t know that).  I even had one chap struggle with analogue clocks, claiming that they only use digital clocks and digital watches in his house.

What to do?  Remind myself they are in my class to learn, and remember how little I knew when I was their age?  Remove the plank from my own eye and use correct terms myself, to model good practice?  Reward those who get it right?  Don’t just mark them wrong – give partial credit for at least being in the right area?  Deliver fantastic lessons that they cannot forget?  Most importantly, remind myself that I, too, am still learning new stuff every day.


Preparing for GCSE and A-level Computing – decisions, decisions

There was a time when I was simply told what to teach, what resources to use, and to get on with it.

Now I am making the decisions on what languages to use and they are not all straightforward.

First, A-level Computing:

The group who start OCR A-level Computing in September will (mostly) have used Greenfoot in GCSE ICT.  There will be some who did not do GCSE ICT, and I expect this in future years too.  Greenfoot is suitable for A-level coursework, but that’s not my only concern:

  • At AS, one of their exams is about the basic components of programming (June 2012 paper is here).  This can be taught in practically any language.
  • If I use Java for this, it will be familiar ground to those who have already done Greenfoot.  Those who did not use Greenfoot might feel they are at a disadvantage and allow the ‘experts’ around them to put them off.
  • Java is widely taught, from first principles, in universities.  There is no expectation for students to have done Java at A-level.
  • I did Turbo Pascal at school, then mostly Turbo Pascal for a year at university, (and was bored in Yr 1, as I wasn’t learning much new – when I taught myself C, it was via Turbo C – same environment).  This over-emphasis on one language and one environment was not entirely helpful.  Would my decision to use Java do the same thing to my own students?
  • I am not here to teach Java, or any language in particular.  The main concern is to teach programming principles.
  • Java is a great language to learn, and I have taught it from basics before, at this level.  However, the syntax of Java can be a pain.  Also, graphics handling with Java can be fiddly (unless there is a drag-and-drop interface for Swing – a sort-of VB interface for Java – let me know if there is one!).

So, the more I think about this, the more my mind wanders back to…. Pascal, which I learned at school.   “But Pascal is ancient”, say some.  Yes, it is.  It is also a well proven teaching language and is well used in schools.  It has a straightforward syntax and IDEs don’t have the same confusing clutter that the likes of Visual Studio or Eclipse have.  Remember, the important thing is not the language, but the principles that are taught.  If they are taught properly, these skills will transfer equally well to C, C++, C#, Ruby, etc.  Anyway, it’s not the Turbo Pascal you might be thinking of – it’s Object Pascal, aka Delphi (or the FOSS implementation, Lazarus).

So, that’s my dilemma.  Everything needed to be taught at AS can be taught in Java or Object Pascal.  Which is the most effective preparation for the future?  Should I concentrate on Java, or do something that will make sure they can switch between programming environments and languages (something that was a shock to me, when C++ came along!).

Then there’s the A2 project.  Greenfoot would be lovely for this, and despite GCSE experience, most of the class will have to learn this anew as they’ll have forgotten.  If we have done Delphi, the option of some sort of forms-driven interface for data processing is also going to be there for someone.  If we do Java at AS, anything forms-driven will involve a hairy experience with Swing in Java – the hairiness of this could push students towards Greenfoot.  I have nothing against a pile of Greenfoot games, but the option of other things would be nice.  As it happens, for the past two years the OCR sample project has been a reverse-engineered 1980s game in C# (though Greenfoot is also acceptable).

Why not C#?  I know less C# than would fill a postage-stamp, that’s why.  Before teaching it (as I may well do at some point in the future), I need to be properly confident with it.  My spare hacking time is in learning Python, for GCSE (see below).

Then there’s my GCSE dilemma:

If a glance at the CAS forums is to be believed, there’s a lot of people out there using Python.  They are all sharing their resources, which I would happily plagiarise steal borrow.  If other people who you respect have been through this course with Python, which I am trying to learn anyway, then why not listen to their experience?  The requirements (while/if/else/lists/general problem solving – any language will do).

“But you love Greenfoot” someone said to me.  Yes, I think Greenfoot is brilliant and even if we do not use it for Controlled Assessment, we will definitely use it for teaching, at some point.  I’m not about to throw out my experiences with it.  I’m not sure if putting all my GCSE eggs into a Java basket is a good idea (fiddly syntax and so-on).

But the more I talk to people whose opinion I respect, the more I find out some are very happy using Delphi, and running straight into A-level with it.

So, back to my original dilemma – do I want to make everybody use one language, all the way through GCSE and A-level?

Answers on a postcard, please!




Book Review: GCSE Computing, OCR (Robson)

Teachers consider a lot of things when choosing textbooks: whether the textbook is the ‘official’ resource or not; whether an unofficial book is a well-recognised resource; how well the book matches the specification (even ‘official’ books don’t always do this!).

Susan Robson’s GCSE Computing for OCR (2nd ed.) isn’t the official book, though OCR have given this second edition their ‘approval’.  Asides from that, it is very widely used and is an excellently written book which takes students systematically through the GCSE course.  In this second edition, Susan has incorporated suggestions and feedback from teachers and OCR, to improve on the already very good first edition.

The book’s chapters follow the structure of the course specification.  For teachers using this as a main text, this will give them the confidence to know the course has been covered in its entirely – no fiddly jumping from chapter-to-chapter, to match the book to the specification.  Clear wording and good use of diagrams are combined to ensure that each topic is well treated.  This will be a big help to teachers who are new to this course and who don’t have someone in their department to hold their metaphorical hand.  The author is an experienced teacher, and has clearly kept the needs of real-life students in her mind.  Indeed, while this is the second printed edition, I cannot help but wonder how many versions have been used in the classroom, to refine it to a point where it is ready for a wider audience.  All teachers have been through the experience of notes that make sense to them, but that baffle students!  The time that has been taken to refine the content of this book, to make it accessible, is shown in the end-product.

Course theory material is related to realistic examples.  Examples tend to use Microsoft Windows and Microsoft Access (for databases), which most schools will be using.  Non-Microsoft schools needn’t worry – Windows task manager and command prompt (for example) follow a layout that is common in many operating systems and if it wasn’t for the word ‘Microsoft’ in the screenshot, you could be forgiven for thinking you were looking at a generic image.  The same can be said of the Access database examples – remove the word ‘Access’ from the screenshot and it could equally well be LibreOffice Base that you are looking at.

In the programming section, Visual Basic and Delphi examples are used.  This should not be a concern for schools using other languages, as the structure of an if/else loop (for example) transfers equally well across all common languages.  Generally, pseudocode is used, in an effort to be platform-independent.  Once students are used to the layout of VB/Delphi, they could treat these examples as well-structured pseudocode.  As this book is primarily concerned with the theory side of the course, and schools will be using other resources for the two practical modules, there should be no problem anyway – exam questions deal with structured pseudocode and can be answered in any common language.

There are some meaty parts of this course: binary and networking, to name but two.  These are topics that are revisited at A-level and, as a teacher, it can be difficult to know where to stop – even when the specification is covered, many of us like to go a bit further simply for the enjoyment of it!  Conversely, we have all taught classes who struggle with the full depth of meaty topics, and who do not benefit from a really intricate explanation.  This book has done well in addressing that tension: to provide enough depth to cover the course material well, and in providing enough of a stimulus to the students who wish to go further in either their own studies or at A-level.

The inclusion of past-paper questions at the end of each section, with sample ‘good’ answers is welcome.  One minor criticism is that this prevents students from attempting the questions ‘under their own steam’.  However, with a good range of past-papers now available, this shouldn’t be a big problem in the classroom.

This is not the only book available for this course, but it was the first and is deservedly widely-used and well-respected.  For comparison, O’Byrne and Rouse’s ‘official’ book is worth a look.  Both books have their own strengths and the decision on which to use will be one of the teacher’s own preferences.

GCSE Computing is available in a number of flavours, from Lulu.

The Colour edition costs £26.68, but at the time of writing it is discounted to £20.01.  If you prefer black & white, it is £7.99.  If you prefer the PDF version in A4, or the PDF version in US Letter-size (to match the printed book) either costs £99 and can be shared on a VLE or printed locally.

Susan Robson’s author page, on Lulu includes links to her AQA GCSE Computing book, plus sample material for free download.


Key Stage 3 ‘Using ICT’ assessment in Northern Ireland

I’m not the only teacher who has spent a lot of time in the past couple of years, wondering about Key Stage 3 ‘Using ICT’ Assessment in Northern Ireland. This scheme is due to become compulsory in 2013/14. So, here are some thoughts I have compiled. You are free to disagree, of course. They are not the views of any particular school or employer, but they are the views of a reasonably wide body of teachers, both of ICT and of other subjects.  These views have come from many conversations.  I have tried to be even-handed and fair to those involved (teachers, CCEA, etc.).  If you think I have missed the point, let me know and I will publish a corrected version.

In brief: the idea of embedding ICT across all subjects, so that students see the point of it, has merit.  The idea of assessing all students’ performance against standard benchmarks also has merit. Publishing information of schools’ performance in ICT (plus, ‘Numeracy’ and ‘Communication’ – the new names for cross-curricular Maths and English) will force schools to examine their own standards. Whether you think that asking schools to centrally report on only three areas of the curriculum is suitable, is up to you.  The NI Curriculum’s page on all of this is here.

However, the model we have been given is one that many teachers believe to create a lot of bureaucracy. Rather than driving up standards, the bureaucratic side of it may force many teachers to treat the issue with disdain.

Before properly discussing the pros and cons, I will overview the purpose of Key Stage 3 Using ICT assessment, for the benefit of anyone unfamiliar with it.

What is it?

Why does it exist?

The story we have heard at meetings is:

  • Politicians at Stormont decided that schools should report on levels of progression in Numeracy, Communication and Using ICT.
  • The Politicians told the Department of Education NI (DENI) to make it happen.
  • DENI contracted it out to the Council for the Curriculum, Examinations and Assessment (CCEA), as an ‘arms-length’ body.
  • CCEA drew it up and piloted it with schools. However, some schools withdrew from piloting ICT assessment when they decided it was unworkable.
  • The whole lot is supposed to become compulsory in 2013/14. I say ‘supposed’, because it remains a bone of contention with teachers’ unions, who are either taking action against it or are writing the whole thing off as completely unworkable (see this NASUWT statement, this UTU statement, this INTO statement and this ATL statement ).


What’s the purpose?

It exists to assess a student’s progress in Using ICT, at Key Stage 3 (Years 8-10).

By the end of Year 10, schools should be able to report a ‘Level’ for each student, which shows clear progression from the Level awarded at the end of Key Stage 2 (P7).


Who sets the work for students?

This is done by teachers of subjects that are part of the Key Stage 3 Curriculum.

ICT (and for that matter, Economics, Computer Science, Latin and others) are not part of this curriculum and therefore these subjects should not set or assess Key Stage 3 Using ICT work. ICT is not a discrete subject because “All teachers who use ICT are teachers of ICT”, they say. ICT should therefore be taught and assessed in a cross-curricular fashion. This has allowed some schools to remove, or reduce, dedicated ICT periods at Key Stage 3. Other schools have re-purposed ICT periods towards creative multimedia or computer science (see below).


How do the subject teachers set work?

In conjunction with the ICT co-ordinator, subject heads design tasks.

The ICT co-ordinator should ensure that the overall portfolio of tasks that are done by each student, meets each of the five cross-curricular ‘Es’ (Explore, Express, Exchange, Evaluate, Exhibit). This could be done in a few large tasks that each assess several Es, or in many smaller tasks that only assess one or two Es.


How do schools know if their tasks are good enough?

The subject head and the local ICT co-ordinator agree the task, which can be anything that uses ICT within the original subject. The ICT co-ordinator then submits the task to CCEA, for approval.

CCEA then suggest any required modifications, which the school makes and then the school resubmits. CCEA then either approve the task, or suggest more tweaks. This process of re-submission may go through several stages before the task is approved.


When is work done?

Students can do work at any point in Key Stage 3, prior to the middle of Year 10.

As students’ ability will increase as time goes on, it makes sense to set work as late as possible (to get them to a higher level). Work needs to be done by the middle of Year 10 to give schools time to carry out internal moderation of work and to report back to CCEA, in time for certificates to be issued at the end of Year 10.


Do schools have to use CCEA, or can they choose another board?

Schools must use CCEA.

OCR Ireland have considered offering a version of their Cambridge Nationals, however DENI insist that CCEA have the final say in approving tasks, no-matter which provider is used for certification.


What is internal moderation?

Someone in the school has to confirm that subject teachers have accurately and fairly marked work.

For this to happen, the work that students have done needs to be sampled. So, if a school has six approved tasks, from a range of subjects, a student will have finished six tasks by the middle of Year 10. Thus, an entire year-group of 150 students will produce 900 pieces of work between them. Someone needs to assign finalised levels based on the marks from all of those pieces of work. They also need to make sure a reasonable number from each task and from each teacher are sampled, and adjust the levels originally awarded by subject teachers if this is necessary. Once this process is done, CCEA will do their own sampling and moderation for each school.


Good points

Key Stage 3 ICT has been of varying standard, across schools, for a long time: Some schools have had excellent and innovative ICT for years while others were less enthusiastic about it, for a variety of reasons (funding, resources, staffing, time, other priorities, etc.). Having a mandatory scheme should, in theory, drive the standard upwards and make sure all students in Northern Ireland reach certain minimum standards.

By shifting ICT to a cross-curricular theme, ICT teachers may feel they have to spend less time delivering lessons on how to use PowerPoint, how to send an e-mail, how to nicely lay out a Word document, etc. In a lot of schools, Year 8/9 ICT is given over to this sort of material, as it is considered a pre-requisite for effective use of ICT in other subjects. The time currently given to this in ICT classes could be used for the more exciting side of ICT (video editing, making websites, programming, etc.), that leads to a proper understanding of creative multimedia and Computer Science.

Considering the way in which ICT is used as a resource in FHE, and in the ‘real world’ outside school, it is not unreasonable to expect this to be part of life in school.  Whether this scheme existed or not, both creative multimedia, Computer Science and plain old end-user ICT are essential skills for fully understanding and participating in the world we live in.


Bad points

There are major issues with the practicalities of this ICT model.

  • Some schools have reported that task approval takes three or four back-and-forth submissions per task.
  • Some subject heads have reported that by the time the task is finalised by CCEA, it no longer meets their original learning intentions and they have no desire to continue with the approved task. In an effort to tick ICT boxes, the wider curriculum can be affected.
  • The old voluntary ICT assessment scheme, withdrawn a few years ago, gave the option of using pre-set tasks. Seeing as so many schools will be asking CCEA to approve tasks that are essentially the same, I don’t see why pre-set tasks that can be customised are not available. I do feel sorry for whoever it is at CCEA who gets to assess the suitability of PowerPoint tasks from 100 schools, all about the Roman invasion of Britain, then 100 PowerPoint tasks on the Viking invasion of Ireland, then 100 PowerPoint tasks on the Plantation of Ulster – all variations on a theme.
  • A need to have CCEA approve tasks may compromise ad-hoc innovations and improvements to a task. For example, if a teacher has an approved task that uses PowerPoint but they decide that Prezi might be more interesting, the need to get re-approval may be off-putting. I do not know why CCEA have not followed the model in OCR Nationals, of the school’s Head of ICT deciding how suitable tasks are.
  • ICT assessment cannot be done by ICT specialist teachers (because “all teachers who use ICT are teachers of ICT”). In many cases, this could affect how ambitious or creative the use of ICT within a task can be. While mobile phone apps can be assessed, how many teachers of HE or German (for example) are capable of assessing how well programmed a mobile phone app is? How well can they assess how well layers within Photoshop have been used? In fairness to them, how many ICT teachers could teach cookery skills or the finer points of German?
  • Non-ICT teachers have wondered why they are assessing ICT.  “I trained to teach German/HE/RE/Art…..” is a common complaint.
  • Assessing ICT-based tasks creates a lot of extra work for a lot of people, which neither DENI nor CCEA have addressed. A teacher of German needs to assess the use of German within their task, and then assess the use of ICT. A teacher of HE needs to assess the HE skills in a task – and then the ICT skills. This significantly increases the teacher’s workload in assessing each piece. In addition, someone needs to monitor ICT levels that are being reported back from each subject and carry out the final moderation. To the best of my knowledge, DENI have not provided time for doing this. If this scheme is to work, there is a need to re-designate one day per term as “Key Stage 3 assessment days”, and hence reduce teaching days from 190 to 187. Alternatively, extra-curricular activities may be withdrawn by teachers who no longer have time to deliver them (because they are need to find time to assess Key Stage 3 work). Parents may not appreciate either of these options, nor may the pupils.
  • Neither DENI or CCEA are training all the teachers of Northern Ireland on how to create and assess tasks. Rather, one or two teachers per school are trained. In turn, they go back and train the 40 or 50 teachers in their own schools (where does the time and funding come from?) In my own experience, this falls down when it becomes obvious that getting the Head of ICT and the Head of HE/German/Maths, etc. together for a couple of hours is not so easy. This is because we already have plenty of classes to teach and plenty of work to assess, and because non-teaching periods for one teacher are teaching periods for others.
  • The final moderation may well fail, because a lack of time is available for it. CCEA will ask for finalised marks during the Easter term of Year 10. This will require moderation to happen during the Christmas term and early Easter term. However, these are very busy terms. Preparing students for modular exams and giving students feedback and guidance with GCSE/A-level coursework takes up a lot of this time, and if necessary, teachers will prioritise their exam classes.

Already, it has been reported by teachers’ unions that schools have been told to dock the pay of teachers who fail to carry out this work. This is grossly unfair. Teachers may feel that they are being told “Here’s an task which is impossible because we are not giving you the time needed to do it. It you fail to do the task, which is impossible anyway, we will punish you.” This does not help morale or co-operation.

I am not saying that the idea of Key Stage 3 assessment is inherently bad (you can decide that for yourself). Nor am I saying that an expectation of innovative and creative ICT is bad (in fact, I think the idea of innovative ICT is good). However, I am not alone in having many reservations about the model that is to become compulsory in 2013/14.

Nor am I saying that CCEA’s handling of ICT is entirely bad and nasty and evil.  In the past few years they have made big improvements in GCSE ICT and in September 2013 they will launch a new ‘Software Systems Development’ A-level.  At Key Stage 2, their voluntary ICT scheme looks more manageable and I have heard generally positive views on its content.  Sandwiched between all of them, is a Key Stage 3 scheme that has significant shortcomings.

If the Key Stage 3 scheme is to work, the sheer volume of extra work it creates (among other things) need to be addressed. Else, teachers may well conclude that if DENI and CCEA say “Do this”, but don’t give any extra time or resources to do it, then DENI and CCEA don’t that badly want it to succeed.

Computer Science & ICT in NI: The State of the Nation

The following are my own thoughts and observations on the direction ICT and Computer Science are taking in NI.  If you disagree, please comment.  They have come from many discussions I have had with other members of Computing At School.



Where we are: Education is divided between two ministers, in our Assembly. School (age 4-18) is looked after by the Department of Education NI (DENI) and Minister John O’Dowd (Sinn Fein). FHE, which includes age 16+ FE Colleges are the remit of the Department of Employment and Learning (DEL) and Minister Stephen Farry (Alliance).

Both ministers have said that Computer Science is a good thing. Both have said that education-for-employability is a good thing. In 2012, O’Dowd stated in the Assembly that he would ask CCEA to examine the need for Computer Science throughout the school curriculum – as far as I know, they are still examining it (if you know of any public statements, let me know).

Meanwhile the complaint of the FE Colleges and Universities, and of Farry, is that students currently arrive to do Computer Science courses and a lot think it will be a few years of PowerPoint and Excel. FHE points the finger of blame at the school curriculum. Yes, O’Dowd says Computer Science is a good thing, but schools are not hurrying to implement it.


Where we are going: is anybody’s guess. However, with a quarter of all job adverts on nijobfinder.co.uk being in IT, and specifically in software development/maintenance/etc., and with a number of big firms starting to wonder where new talent will come from, there is massive frustration with the educational system.

CAS (Computing at School) have talked with politicians, who in turn have asked questions in the Assembly, and many teachers or other concerned people have written to their representatives.

However, a clear action plan from DENI would be of considerable help.


Managed service

Where we are: Classroom 2000 (C2k) is a managed service that provides a networked infrastructure, PCs and software to all schools. When it arrived in all post-primary a decade ago, they declined to support software development tools: this effectively terminated many schools’ ability to deliver A-level Computer Science, which had been delivered via the schools’ own networks until that point. A handful of schools retained their own parallel network, from their own budgets, but over time, the numbers able to do this declined (see A-level, below).

Presently, C2k permit IDEs that support interpreted languages that run on a virtual machine (e.g. Java, Python). Schools must install themselves (and work around various network restrictions in the process). A virtual machine is also provided which schools can configure (again, heavily restricted).  Likewise, teachers of ICT often report that some things that they want to do are not supported.


Where we are going: C2k will soon become the Educational Network for Northern Ireland and the requirements for the tools needed to support Computer Science to A-level are being considered. C2k have been in useful discussion with CCEA and CAS and requests have been made for a clear list of programming tools to be supported as-standard. This includes IDEs to support the full range of languages taught at GCSE and A-level. Nothing has been confirmed yet, but they are well aware of the need for a range of programming tools that will support all GCSE/GCE Computer Science specifications.


Key Stage 2

Where we are: a new, less-prescriptive curriculum now allows teachers more flexibility to innovate. A steadily growing number of Primary Schools are using tools such as Scratch. In the end-of-KS2 assessment tasks, designed by CCEA, a number of programming tasks are included.

I am not an expert on KS2 – and would be grateful for any feedback in this area.  

From talking with a few KS2 teachers, it’s interesting to discover ‘Bee Bots’ – programmable Bees that roam the floor are doing what Logo Turtles did 30 years ago, in some schools.  Daisy the Dinosaur, a very simple drag-and-drop programming tool is used in some places- leading nicely to Scratch.  A lack of uniform provision here does mean some kids will arrive in KS3, knowing more than others  about tools that are used in KS3 (e.g. Scratch).  However, this already happens with aspects of Maths, English, Science, etc., and KS3 teachers are well used to it.  My own view is that encouraging innovation at KS2 will make it more likely that such ideas spread out to many schools, which in turn will benefit KS3 teachers as they will be able to expect most new students to already know a little of programming.

Key Stage 3

Where we are: there are major concerns in this area. Despite much negative feeling from teachers, CCEA are pressing ahead with their Key Stage 3 assessment scheme which will soon become compulsory. The need for KS3 assessment is mandated by DENI, who have asked CCEA to administer it. This involves assessing the use of cross-curricular ICT skills, through recognised KS3 subjects only. Neither ICT nor Computer Science are recognised as discrete subjects that schools are expected to deliver at KS3.

Effects of this include:

  • Some schools withdrawing ICT periods completely from the KS3 timetable, as a need is no longer seen, because ICT is now taught through all subjects. However, some schools have allowed these to be converted to Computer Science periods.
  • ICT being assessed by people who are not subject experts. So, while the scheme allows a History teacher to design a ‘Chop the Head off King Charles’ app, few History teachers will have the skills to teach or assess this. Hence, there are concerns that the scheme may aim to the lowest common denominator.
  • It is time consuming to deliver, administer and assess. The need for teachers to make it manageable for themselves may reinforce a perception that ICT=MS Office, thus affecting GCSE uptake.
  • It does present opportunities for creative, cross-curricular ICT.  For this to be fully realised, the administrative burden must be reduced.


Where we are going: Union action is currently in place to boycott this scheme. OCR Ireland are trying to run their Cambridge Nationals in ICT as an alternative. However DENI have ruled that for this to be allowed, CCEA must certify tasks for individual schools, to decide whether they are acceptable for the DENI assessment. Presently, for the CCEA scheme, schools must submit all their tasks to CCEA for CCEA to decide whether they are appropriate.  If the scheme is to reach its full potential, of effective cross-curricular ICT, the administrative overhead needs to be removed.  Not trusting teachers to determine the suitability of work – instead, relying on a cumbersome back-and-forth approval process – has already hamstrung it.


Key Stage 4 (GCSE)

Where we are: CCEA’s GCSE ICT now allows programming. This is a major development. A games-development task, originally designed with MS Office in mind, can be interpreted to allow Scratch, Greenfoot, GameMaker, etc. CCEA endorse such approaches. Other compulsory tasks include PowerPoint, Excel, Access and web-development (often done in Frontpage 2003, part of the C2k standard package).

A growing handful of schools offer GCSE Computer Science. However, a number of CAS members have reported that participation in OCR/AQA training has not been supported by their schools, due to financial constraints. DENI fund participation in CCEA training, but not that of other boards. CCEA currently have no plans to offer GCSE Computer Science.

Where we are going: assuming C2k deliver IDEs as part of their standard installation, schools will have more flexibility in what software to use. Teachers who have introduced programming in KS3 have seen demand for GCSE Computer Science grow, which will lead to A-level demand.  The CCEA ICT course is sparking increased demand for programming, either as part of A-level Computing, or as an option within ICT.

Key Stage 5 (A-level)

Where we are: CCEA withdrew A-level Computer Science in 2002. In 2002, there were 1201 students sitting the final A-level exam (mostly CCEA, some AQA and OCR). In 2012, there were 52 (AQA, OCR).  In most schools, CCEA ICT is offered in its place (some schools have chosen ICT in preference to Computing; others have chosen ICT as the next-best-thing, as they feel unable to deliver Computing within the managed service).  Only a few schools offer both ICT and Computing. Most schools offer the CCEA course and do coursework via Frontpage and Access/Excel (AS) and Access (A2). The CCEA specification clearly states that programmed solutions are “not within the spirit” of the specification. Requests for an optional programming module at each revision of the specification have been declined.  Instead, a database-centric model is followed, which excludes many options for programming, as well as other applications of ICT.  A smaller number of schools offer the AQA ICT course and the CCEA Applied ICT course, both of which offer more freedom.

A number of teachers have reported that concerned Principals have pushed them towards ICT, in place of Computer Science, because of a perception that ICT delivers better grades.


Where we are going: CCEA have developed a new Software Systems Development A-level, at the request of the Department for Employment and Learning, for delivery from September 2013. This is a major, and welcome, change in direction. The expected audience are FHE Colleges and a number of schools who do not currently offer Computer Science. Most schools who currently offer A-level Computer Science are likely to remain with their current provider for the time being, until they assess the effectiveness of CCEA’s new course.

Both AQA and OCR are keen to expand Computer Science provision. With a number of schools who do not offer A-level Computer Science offering it at GCSE, or intending to do so, A-level demand is likely to increase. School Principals are aware of developments in England regarding ICT and the drive towards Computer Science, and many are receiving enquiries from parents. Issues in the local economy and job market are also raising awareness of Computer Science.

Successful delivery of Computer Science or the new Software and Systems Development course depends on improved provision from C2k. Many schools simply do not have time or resources to work around restrictions that are currently in place.


The teachers

Where are we: ICT is taught by a broad spectrum of teachers. At one end, there are those who would prefer to teach Computer Science and who will gladly return to it. At the other, there are those who came from other subjects and who are content with ICT unless they are given time for training.  In the middle, there are varying shades of preference.  There are also concerns about whether a broad spectrum of students will do as well in Computer Science as they do in ICT, especially if it is not introduced to them until late in their school careers.

Very little time and money for training exists. Local universities have suggested a willingness to offer training, if money was available. This may be a major downfall, if not addressed. Many ICT teachers are willing to use Scratch at Key Stage 2/3 and a lot are competent to self-learn the skills needed for GCSE. However, A-level may be a major challenge for many if they are not allowed time to properly train.

STEM funding was recently made available via the Southern Education and Library Board, for a small number of ICT teachers. This included 3 days of training (including Python, C#) and 2 days of placement within a software development company. However more training, for more people, is clearly needed.


Where we are going: some teachers are investing their own time and money in training, as they are keep to teach Computer Science. However, it is not feasible (or fair) to expect all teachers to do this – especially those for whom Computer Science is an entirely new subject. Advances in the perception of Computer Science and in the demand for it will be negated if the subject cannot be delivered effectively.