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.

 

Politicians

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.

How I became a teacher of ICT

Mr Webber’s post, ‘How I Came To Teach ICT‘, set me wondering about how I ended up teaching ICT.  The subject didn’t exist when I was at school, or when I was training as a teacher, so what happened?

The vague notion of a career in teaching started to linger in my head when I was at school.  I’ve always loved learning new stuff, and I enjoy showing new stuff to other people even more than I enjoy learning it myself.  It wasn’t the only career path I could have gone down.  A degree in History was just as likely until GCSE coursework finished off my chances of studying History at A-level.  This was a great shame, as I think the subject is great, but my ability to organise coursework only developed once I started to use a computer for that sort of thing.  I remember pottering round Maths departments at university open days. Though at some point in the middle of A-level Maths I realised that I was working really hard to keep up with people who were finding it all really easy (a shock, having not had to work at all in Maths before that).  So, I reluctantly concluded that a degree in Maths might be a bad move.  A-level Physics didn’t excite me – I still enjoy Physics but as A-level went on, the content became less exciting for me.

Meanwhile, A-level Computing really got my interest.  Programming is great fun – for both the problem-solving ideas and the thought that by issuing commands on my computer I can make another computer in the next room do stuff.  Learning proper programming (as opposed to copying chunks of BASIC from magazines into my ZX Spectrum and tweaking it) was a joy.  The Borland Turbo Pascal compiler, without a GUI in sight was great (well, it was 1992).  Equally great was a wonderful book by Elliot B Koffman, simply called ‘Pascal’. It did what the magazines didn’t do – simple examples and extension exercises.  The extension exercises made you think.  Sadly, this was in the days before it was reasonable to expect students to have PCs at home (hence, my opportunities for doing any of this outside of school were limited).  There was also Ray Bradley’s brilliant textbook, which teachers of the subject still regard with awe.  I’d love to meet him one day, to say “Thank you”.

I still have fond memories of finding holes in my school’s network security and getting away with it (the teacher reckoning that curiosity did not need to be punished).  I also remember someone in our A-level class asking “What’s the point?” of some piece of abstract theory  – a question which caught the teacher off-guard, as he had no ‘real’ experience in Computing or IT.  The last major program he had written was a massive piece of COBOL for his dissertation. He did show us this one day – a hundred dot-matrix pages of listing, all nicely joined together.  After his degree, he went directly to teaching.

So, somewhere in all of this I figured if I was ever going to teach this stuff I would have to immerse myself in it, and work in industry for a while.  I never wanted to be the teacher who was left looking stupid with a “What’s the point” question.  At around this time, I discovered the now defunct Byte magazine, two months old by the time it arrived from the States.  I do wish it was still published.  Unlike a lot of PC magazines, it wasn’t full of reviews of stuff to buy, it was all about how things worked, future trends, how to program and so on.

So, imagine how odd it felt when I arrived at university to find out we’d be learning…. Borland Turbo Pascal with a book by Elliot Koffman.  It turned out that at least half the class did not have a background in any sort of programming.  Back then, the problem was schools not having the money to buy computers for A-level Computing classes.  Today, we have computers but for some reason lots of schools don’t offer Computing.  The people who had done A-level Computing (or BTEC) relaxed a bit.  I discovered the Internet and read lots and lots of wonderful stuff, including an early version of the Cathedral and the Bazaar.  I wondered at the ethical implications of lifting an installed version of Word 6 or a Borland IDE off the PC and onto floppy disks.  I got a little giddy and excited when I realised I was issuing commands to a machine in USA that was responding as if I was beside it.  I bought a second-hand PC and spent the holidays teaching myself C.  At some point languages such as Ada, C++ and Prolog came along. In the middle of all of that, I did a placement that mostly involved Solaris (a UNIX implementation that, unlike Windows, never seemed to crash) and Oracle Databases (plus Perl, Bash scripting, Pascal, C, learning how to be a network admin, opening PCs up, etc., etc).  Then it was back to uni, more Oracle, Linux, C++, etc., etc.  Oh, and I spent a lot of time on text-based chatrooms (the Facebook of the day).

Eventually, I graduated with a degree in Computing and spent some time in a meat plant (how I got there is a long story, but feel free to ask me anything you like about killing, slicing and packing beef).  Reprogramming factory machinery was interesting.  Automating manual tasks of exporting data from control systems to CSV files, to keep accountants happy, was a nice challenge.  However, writing programs in QBasic was not fun.  When your ‘expert’ boss recommends QBasic above all other programming tools, and shouts at you for asking if there were any books on how to use it, you know it’s time to look elsewhere.  When you realise this ‘expert’ knows nothing about decent programming, you know it’s time to move on.  When you are called stupid for having an issue with Windows always crashing, you know it’s time to look elsewhere.  So I did (writing telecoms stuff in C – very enjoyable indeed).

In all of this, thoughts of teaching were still lingering in my head.  This was a by-product of a few things:

  • I still enjoyed explaining stuff to people. At Uni, I had spent a reasonable amount of time helping people in the year below me, and had enjoyed it.
  • I had done a fair bit of youth work, which I enjoyed.
  • I had (and still have) an overwhelming sense of gratitude to the teachers who influenced my life.  We weren’t a well-off family, and from childhood I remember being taken to libraries and museums and told to work hard at school to improve my chances in life.  I still remember the great teachers who helped me on my way (I also remember the not-so-great teachers!).

So I did my PGCE in Computing.  The primary school placement was fun – classroom-assisting and teaching HTML to P6 students (who loved it).  My first secondary placement (inner-city comp) started well: the teacher who I should have been observing for a week was absent, so with 10 minutes’ warning I was asked to teach her class (GCSE Information Systems).  Later in the day I was teaching Pascal via Apple computers of some description (having only ever used Apple products for word-processing and propping doors open).  A week later, she returned from having flu and let me continue.  She was also fantastic at sharing resources with me, unlike the HoD in my Grammar placement, who was extremely gruff when I asked if I could borrow some of his notes.

Then it was a wee bit of subbing, and off to a full-time job to teach Computing (to A-level).  Within a year, the landscape would start to shift.  A new subject of Information and Communication Technology was invented by the Blair government, with emphasis on the ‘Communication’ part of it, rather than the ‘Technology’.  This replaced Information Systems and Information Technology (which emphasised how to use computers and an understanding of how they functioned and how new systems were developed).  ICT took over completely at GCSE (IT/IS were both scrapped), and was offered alongside A-level Computing.  I had a lot of sympathy for teachers whose students struggled with the big GCSE Information Systems database project, but I don’t know if any of us expected what replaced it: six pieces of work whose assessment depended on how much you could write, and very little on how much you had achieved.  A writeup of how to use a search engine and how you sent an e-mail was among them.  Programming vanished from A-level, with Computing giving way to ICT (“more relevant” said the marketing blurb).  Any schools who resisted found out that the new C2k managed service didn’t support A-level Computing (so that was that).  A-level ICT coursework was a very large database project at AS… and another at A2.  Or you could use Excel instead.  I knew only the basics of Excel at that point (Why would I know it in depth? I had trained as a Computer Scientist, not an accountant or statistician).

This is where my industrial experience, and own personal interests, started to break down.  I could explain the point of knowing how to hack open source projects (having done so myself).  I could was lyrical about the merits of being a beta-tester for commercial products.  I could explain the point of star and bus networks, and even know where ring networks are used.  I could explain why more RAM, and not a better processor, will speed up your PC.  I could get excited about new tech and lament not having the money to buy it.  I could not, ever, explain the point of Microsoft Access or Excel projects as a preparation for a degree in Computing.

A lot of people think I hate ICT.  I don’t. My problem is with ICT courses that are very shallow in their content, with an emphasis on mundane and repetitive skills (NB not all ICT courses are like this!).  I become infuriated when someone suggests we should spend hours teaching the finer points of PowerPoint or emphasising how to send messages via social media.  This infuriates me because (a) students get bored quickly; (b) this is lowest-common-denominator teaching; and (c), this is not teaching transferable skills.  However, if we teach the underlying principles (i.e. programming and problem-solving), students develop transferable skills and enough problem-solving ability to figure out PowerPoint.  Nobody ever spend more than half an hour teaching me how to send an e-mail, use a word-processor or use PowerPoint.  I figured it out as I needed (i.e. once I saw the relevance).  I survived.  It might be different if I was an accountant who used all the lovely features of Excel that cannot be picked up in an afternoon – but, honestly, how many 14 year-olds care about pivot tables and vlookups?  OK, maybe a period should be spend getting the first-form to send emails, if they haven’t already done so.  Then, move on.

Well-structured ICT courses are great.  ICT courses that allow teachers and students flexibility are great.  Courses that allow me to teach what interests me are great (because I cannot excite students unless I am excited, and believe me, I can get stupidly excited sometimes).  Courses that remember that ICT has Information and Technology, as well as Communication are great.  Courses that reduce the teacher to a bored robot who cannot wait for 1st July, are very, very bad.  That’s why I changed our A-level provider.  Access bores me (I know some teachers enjoy it, that’s fine, if they can pass enthusiasm on to students then they should do so).  On the other hand, giving students the chance to build games, mobile apps or search engines, is far from boring (but is a bit more challenging than building a query in Access).  When you have an A-level ICT specification that expects students to know the difference between open and closed-source, without ever writing a line of source code, you know it’s time to move, on.   CCEA’s revised GCSE in ICT has me breathing a sigh of relief – I can teach some programming again! (however, the look of sheer pain on the faces of my current 4th year, when I told them they’d also have Controlled Assessment in PowerPoint, will stay with me for a long time).

As a school, we have offered GCSE and A-level Computing from next September.  This is a big thing, for me.  I trained to teach Computer Science, not the secretarial skills some courses emphasise.  Bizarrely, I have spent a fair bit of my ICT career teaching Computer Science ideas, inside ICT classes. Sometimes, this is useful material that is related to the course, at other times it is simply a diversion to keep the students interested!.  Oddly, I hope to keep teaching ICT also.  Not the PowerPoint(less) stuff, but the interesting problem-solving stuff.  Students can get excited about cool stuff in MS Office, or building robots, or making silly little games – but some specifications don’t reward cool stuff, instead they suck the life out of the subject in order to create an ‘accessible’ mark scheme.    Students get excited about the Gadget Show or Click.  So do I.  Students get excited about command-line interfaces (because it’s different and interesting).  They get excited about the time I had to install OpenOffice on a hundred machines, so wrote a batch file for it (so I wouldn’t have to click next-next… on all those machines).  They get excited at my demo of this, they get excited when I tell them to open Command Prompt…. they chant “Epic fail” when a C2k-generated message stops them.

I get excited when a non-ICT/Computing specialist wants to learn about the subject.  I get excited when ICT teachers come to Greenfoot courses I have run, to learn how to teach programming.  I get excited when I meet past-students who are doing great things in the software industry. I get excited about useful new tech in the classroom.  I get excited about making tablet PCs talk to the network and access data.  I get excited when someone shows me something I don’t know – whether that is a new gadget, an animation they made or a more efficient way of making something run about the screen.  I get excited about students teaching themselves interesting stuff, whether it is in programming or multimedia.  Actually, I get excited about any student who realises he doesn’t need me (or any other teacher) – all he needs is willingness and a tutorial or book.  I will never forget the student who showed my his jerky clay-animations (jerky because his camera kept falling off the book it was propped on), and the look on his face when I gave him a retort-stand and clamp for the summer (borrowed from Chemistry, or was it Physics? I wonder if they ever got it back?!).

I know I am not as good a programmer as I would have been if I had stayed in industry.  If I had stayed there, I’d have C# coming out my ears by now and might even have spent the past three years making nothing but iPad apps (instead of the one that I once made, via a tutorial).  I enjoy Java, but am far from an expert.  Instead, I currently spend a lot of time flitting between Greenfoot, Scratch and learning Python.  I use Linux for most of my work at home (because I want to know it properly, but know I’ll never be at sysadmin standard, because I still have to write tutorials for classes).  My to-do list, of C#, Haskell, Ruby, Alice, AppInventor, Objective-C, etc., just gets longer.  So, I’m an average hacker, maybe.  I might even be below-average, compared to someone graduating today (but don’t tell my students that!).

But in my classroom, I am having bags of fun, learning with great students.

 

Reflections on Open Day

Every year we have a day for Primary School children and their parents to come and see our lovely school.  It’s a big sales pitch.

A few years ago, I had a conversation that went like this:
Parent: “Why are you teaching this simplistic nonsense?” (i.e. PowerPoint, Word, etc.).  “And surely you know there aren’t many jobs in MS Access – why are you teaching it at A-level?”

Indeed.  I often wondered the same myself.  I mumbled something about it not being my decision, external bodies, etc.

The next year:
Parent: “OK, you have a little programming club – good.  But can you tell me in all honestly that A-level ICT is preparation for anything useful?”

Well, no, I couldn’t.  But C2k wouldn’t let us run the software needed for A-level Computing on their computers at that time and, well, ICT was as close as we could get.

The year after, a parent was more direct, the week before open day:
“I’m not going to your open day for one simple reason.  You and I both know ICT is a farce.  You and I both know kids who do it struggle at Uni if they do Computing.  You and I both know that programming teaches stuff that MS Office cannot come close to.  On the other hand, the school in the next town does have Computing.  Based on that fact alone, it is clear that they are serious about preparing kids for the workplace and you are just playing games with easy grades and league tables.”

He is a good friend and I told him to put it in writing and post it to the Head.

So, this year I was proud to announce to the masses that, “We are the only school in this town offering GCSE and A-level Computing”, which we are.  P7 kids played and tinkered with Greenfoot games my students had programmed.  Parents shook my hand and said “About time too”.  Lots of parents asked why, with so many jobs in programming, were so many schools ignoring the issue.  I had to say I couldn’t speak for them.  All I know is, universities want Computing to be taught, employers want it, and parents and students are asking for it.  Students who do A-level ICT and who do a Computing degree, are not often happy people.

Lots of parents asked me to clarify the difference between ICT and Computing, and wondered how exam boards can justify using a PowerPoint presentation for GCSE coursework (in ICT).

Parents and children alike were all captivated by the A-level student who was showing off the search engine he built.  The Android apps went down well too.

Add a Score Counter to Greenfoot

A few people have been asking me how to create a score counter in Greenfoot.  So…

Click here for a PDF tutorial – to complete the tutotial you need certain files that are used in Greenfoot.

To get those, as a big Zip file, click here.  Decompress it and read README.TXT

In essence, it builds a really simple game (a turtle eating flowers) and counts the flowers eaten.  The counter is a rip-off of a counter I used elsewhere and students need to use the old counter, which refers to Lobsters and ‘rewire’ it slightly so that it talks to Turtles.  This borrows from some of Michael Kolling’s great work (Google for The Joy of Code).

Happy hacking!