Computer science in schools - advice and arguments needed.
You may have heard that UK schools will be teaching Computer Science from September, instead of teaching ICT (= "how to use Microsoft products").
Most people will agree that this is a good thing, since the basics of Office can be grasped in an hour or so, and hardly need the current years of study.
However, last year, whilst several thousand people qualified as ICT teachers, only 3 people qualified as Computer Science teachers. Many existing ICT teachers only ended up as ICT teachers by chance. That group includes me, but I am fairly sure that I will be asked to teach Computer Science next year.
So, here's the thing: I am not confident that those with a grasp on the purse-strings know enough to make an informed decision regarding the route to follow in September, investment-wise, and I know I'm not.
Possible routes that occur to me;
What do you think?
Which of these routes should I encourage my school to go down? Why?
What other options are there?
Most people will agree that this is a good thing, since the basics of Office can be grasped in an hour or so, and hardly need the current years of study.
However, last year, whilst several thousand people qualified as ICT teachers, only 3 people qualified as Computer Science teachers. Many existing ICT teachers only ended up as ICT teachers by chance. That group includes me, but I am fairly sure that I will be asked to teach Computer Science next year.
So, here's the thing: I am not confident that those with a grasp on the purse-strings know enough to make an informed decision regarding the route to follow in September, investment-wise, and I know I'm not.
Possible routes that occur to me;
- The school teaches programming etc on PCs, using software to model the device being controlled by the programmes children write.
- The school invests in Arduino or Arduino clones, and forges closer links between the ICT and Technology departments to teach Computer Science through the medium of robotics.
- The school invests in Raspberry Pi, plus the required peripherals, and teaches programming of computers from the ground up.
- In all three cases, the existing ICT suits would remain as a resource for other departments to use.
- In 2 & 3, I would like to see the hardware being treated as a consumable, much like printer ink or wood.
- In all three cases, nobody currently employed has any skill in those areas and has no time to be formally trained in those areas, so would need to learn alongside the pupils.
What do you think?
Which of these routes should I encourage my school to go down? Why?
What other options are there?


















JUNE 2013 Build Night - 3D Printing with 123D & Tinkercad
Instructables Build Night w/ Bare Conductive @ Noisebridge
Embed a 3D viewer in your Instructable
Maker Faire 2013 Slide Show!
Fried Contest Launches 5/13, HQ Celebrates with Fried Day Friday
MEH! :D A Build Night at Montana Ethical Hackerspace!
Got contest ideas? Want to help HQ staff?
Large Instructables Robot head made out of driftwood, check it out!
Call for pre-made parts!
The Instructables Green Design Contest is starting on Earth Day!


Visit Our Store »
Go Pro Today »




For the past 10 years the "ICT Strategy" (launched by the government to improve teaching ICT to make it more relevant) tried to move away from software specific learning into a more balanced and multimedia 'product production' type of learning.
This meant a focus on Audience and Purpose; choosing the correct tool for the job instead of adapting Word to create a poster.
In my LEA we were shown how to make podcasts using audacity, movie editing in digital blue, creating websites using open mind and www.webs.com, making interactive web based solutions using open office or MS office, using magnetic darts in the class, then using the computer suite to generate a score keeping solution that gave you a 'finish' using google docs, making cool computer games using scratch and 2simple diy, animating using blender and xtrnormal.
We still taught the basics of office, but based them on, for example, murder mysteries using access, letters of complaints about the design of the school website using word etc.
Then the OCR National qualification was introduced.
Lots of schools in my LEA abandoned the KS3 PoS and taught Level 2 qualifications to EVERY 11 to 14 year old kid(Level 1). This raised the results for the schools and now almost every school in the area teaches this! Students missed the fun of using ICT to make cool things in favour of a course that made the school look good on results day.
NOW to counter act this, the government have decided to forget the strategy focus, remove these 'basic office etc' courses and replace them with computer science. Back to programming code, making text 'guess my age' games and getting qualified in geek. A 180 degree turn and back to the early 90's.
I dont mind this, but just when we were getting kids back to enjoying being creative using tools, they will have to learn how to make the tools they once used. This is turning off students from choosing ICT, therefore even less students will leave with ICT basics other than making posters and using proxy websites to access facebook.
I'll never forget my mentor at college
"Education is just like ballroom dancing. You go around in circles to someone else's tune"
We have a "proper" ICT teacher starting in a few weeks, so we'll see what happens then.
(I'm aware this isn't especially helpful to your situation, just thought I'd make my two-monthly comment).
Steve
My old school flirted with the idea, but couldn't manage to meet the levels of "cyber security" required by whoever it is that requires these things, and there were great problems of compatibility with subject-specialist software not running under an open source OS, and it was a major pain transferring documents between school and home.
We run OpenOffice at work and we have no problems with .DOC files or .XLS files at all.
Steve
Apologies if it comes across as a bit pro-MS, it wasn't meant that way.
The "years of Office" image that's portrayed isn't accurate. I had a good amount of teaching in Office, but spent an entire year long course learning to use Flash and Fireworks. The IT course I did was a total joke, but not because I was taught Office. I'd say Office was the most useful thing I became proficient in over the course of my IT education.
His data-driven analyses are viewed daily by plant managers around the globe.
This is especially interesting since he's an engineer, and has been project manager for several products manufactured by the same company. He developed the software to help him in the job, and later discovered it was useful for others.
But...most people *aren't* engineers. Schools have to teach skills that will be useful for the maximum number of people, not the subset that will have jobs where all they do is Excel or some other MS product. Knowing the specifics of Office (as opposed to just knowing how to run essentially any word processer and having basic computer skills that generalize to any program) is not going to be _crucial_ for most people - just marginally nice, or perhaps moderately helpful. So the edge cases, while valid, aren't really a good argument for the vital need to teach Office in schools.
While spreadsheets are dominant in business and finance, they are certainly used by engineers, too. What makes my cousin's story interesting is that, as engineer, he is proficient in other computer languages--and had used them in product development.
He does consider his use of Excel as programming. His spreadsheets import masses of data, crunch it, then output a series of graphic displays that communicate the distilled results (an interface).
I'm sure that his other comp language skills helped him develop his Excel app. But his Excel skills are high level, so they were acquired concurrently with his other programming knowledge--perhaps due more to the project/people manager aspect, than engineering (sorry, engineers). But it's not a clear cut, one-or-the-other situation.
So, as a devil's advocate, I'd expect far more people "program" Excel and Access, as opposed to C++, C#, VB, etc. That makes it a valuable skill.
Or open source equivalents. I'm a M$ fanboy. Oh no.
A deeper aside:
As a professional in the graphics industry, you'd think I'd disapprove of the use of Word (or the equivalent), and favor Quark or InDesign for projects. I do, but only to some extent.
OK, Word is poor for page layout. For design work, it's not a professional tool. However, for a large group of people who can't afford the other, it's a viable, useful program--and one that almost everyone has access to.
Case in point-- I was on the board of a non-profit group, and we always made flyers in Word. At first I though that was foolish, until we had a new board member who insisted their spouse would redesign all the literature in Quark. I left the board soon after, and within a year the newer member was gone, too. Consequently the existing board was stuck with updated documents that no one could edit...
(Sorry, I haven't even commented on the original topic ;-)
Sigh. Editing posts will never happen here...
Would you say that knowing how to code is going to be useful for more people than knowing how to properly use a word processor and a spreadsheet?
The article you referred to says, "it will be replaced by a flexible curriculum in computer science and programming, designed with the help of universities and industry." - Do you know what help or industry tools you may receive?
If you're going to be part of the solution, I would think its rather important to have your opinion on the direction of this change. Simply having heard of certain technologies is not the basis for being motivated to educate.
Also, has anyone asked the students what they would like to be taught? I know this may be a foreign idea in the education system, but kids are far brighter and knowledgable in the latest technologies than they are give credit for. Maybe they would like to work with 2D & 3D programming. Perhaps they'd like to work in graphic arts and design within PS and develop their ideas onto the web using something like DW.
I applaud your desire to research and ask for opinions on this, versus simply "moaning about the government".
L
80 column cards
and the much SMALLER 128 column cards....
and yet, when I got a job, it was at a place (one of the last remaining ones) to use them.....and they did so for another 10 years after that ! Long after they had stopped manufacturing the cards.....we got ALL our cards from old warehouse stock (there was a lot, believe me....warped but available...)
Looking at those images makes me kick myself for ever having complained about current programming aspects. Clearly sitting over 10,000 lines of code looking for a single quote is better than the alternative... (or maybe not...) ? hmmm....
http://teachcomputing.wordpress.com/2011/10/28/hack-to-the-future/
http://hackademy3.eventbrite.co.uk/?ebtv=C
...where I'll be doing some hands-on Arduino demo sessions with kids and their families. Although the event's sold out for delegates, it's worth getting in touch with @teknoteacher to see if he can host you as a fellow professional.
I've got to submit some work for my PhD damn soon, but otherwise I'd be contributing a load more to this thread. If you'd like some insights from the code face, then give me a shout, (I'm a hacker and educator across multiple languages, but mainly for adults). Alan is the man for understanding how this should play out in the curriculum and how kids engage with this stuff, what tools work etc. etc.
I've been generally skeptical about the Raspberry PI as some people seem to think it's about teaching OS basics (which are actually far from basic :) and until recently I've thought like others that you can get the same experience on a desktop, and everyone has a desktop don't they?
I no longer think that's true. If Raspberry PI means that kids can have an environment of their own, and take it home, and build it into their lives or their toys or their balloons and remote control cars because it's so cheap, then that could be an excellent outcome, similar to some arguments in favour of OLPC. I'm starting to come around to the idea that it would make providing a hackable machine much more economically and logistically feasible, where this isn't really easy for all kids today to get hold of them. If you want kids to hack, there's no point them walking the tightrope of having to keep the machine clean and stable for granny's Microsoft Skype session.
Everything which people have said in the thread about 'just program desktops' still stands. The skills they've learned making something happen on the Raspberry PI will probably translate completely to their home Windows machine, but maybe after they've tested it and broken it a few times! The school desktops...maybe not so much, given their admin and networking lockdown!
Cefn
http://cefn.com
http://www.guardian.co.uk/teacher-network/2012/jan/11/computer-science-response-to-gove?newsfeed=true
Some languages taught at my school are Scratch (VERY easy to grasp; building blocks layout), Racket, Python and C. These are free, and online resources are free too, so that could be a point the school board might like: low cost. No need to invest in 100 or so Raspberry Pi's.
My 2 cents is to teach them to program for the hardware that you already have - regular computers - with the emphasis on underlying principles. The choice of language should be well thought out (for example, whether to use a "real" language or one specifically designed for this purpose - yes, they exist), but I think it isn't nearly as important as teaching them principles, terminology, and ways of thinking.
Once you can run Linux, you can essentially use anything.
Steve
If the general idea is to give them skills that will translate to common real-world scenarios, surely it's better to practice on the actual common machine that everybody uses, rather than an esoteric stand-in (how many are actually going to be engineers as opposed to something else?). Why dumb it down in the interests of "making it simpler/easier to understand and teach"?
I don't know how schools in the USA are about it, but you would be expelled from some here for DARING to program on a school computer.
Steve
We should be pushing for a heterogenous computing environment - with kids being able to use their own hardware on the school network, without it being any issue at all.
Unfortunately, most of the decision-makers (even the tech services people) will also be similarly outside their knowledge-base.
ON the up-side, I have persuaded my school's tech guy that it would be useful for people to be able to use their own iOS devices on the school's wifi...
Plus, the only pocket android devices I know of are phones, and the students are not allowed phones around school, whilst they are allowed their iPods.
WOW, that's one heck of a result. Well done.
Steve
Steve
Caitlin(high school in the Fall) is taking "computer science" classes now and it consists of Digital Citizenship(social networking on a controlled intranet version of Facebook/myspace and anti-bullying/digital security). The other class is in digital art learning to use digital cameras and producing video and photo montage for graduation show. Since classrooms are equipped with the projector electronic whiteboards, they are required to do powerpoint presentations and use the TI-83 for maths and exams.
I am inclined to think that someone has already decided what to teach and what equipment to buy. If every student has a home pc or access to one, the school should be providing a licensed compiler to use for whatever programming language is used for the basis of the curriculum. I don't know how open source software is regarded with your administration.
So far, all the "actual" ICT staff at my school have done about it is moan about government whimsy...
A handful of Arduinos and the Raspberry Pi computers would still be nice to have, just to give kids some hardware experience.
I'm still amazed that people can get a CS degree these days without ever learning how shift registers work, or what the accumulator does, or never having programmed in assembly language. That's like trying to learn an instrument without knowing how to read music.
Re: physical computing, I get the impression that teaching kids to program microcontrollers is given more attention because they have physical outputs and are therefore somehow more "relatable" than pure software, but this seems to me like teaching children to drive in JCBs rather than cars because making the big bucket arm go up and down is more fun than turning your headlights on and off. The really important parts- go, stop, turn- don't need the digger there for you to learn about them.
If you want a nice example of one possible way programming can be made more accessible, check out Code Academy- I'm not sure Javascript is where I'd start, but it's a neat example of ways the important concepts can be introduced in context rather than in abstract on a whiteboard, and I'm sure there are (or will be soon) similar schemes for other languages.
As Jaye points out, teaching programming doesn't need any additional hardware. You can teach many real, commercially relevant languages (C and derivatives, Java, Python/Perl/PHP, HTML/Javascript) on the average several-year-old school IT room desktop. Often the software is free in cost, and one competent IT admin can set up an environment in which to teach these languages without compromising the security of the school network. This is by far the most feasible way to teach programming in schools.
The Arduino is nice for a more robotics/electronics angle, but with a little setup by a competent admin a simple microcontroller programmer could do the same job at a lower cost. It might be worth getting set up with an AVR or PIC programmer for GCSE or IT technology students, but I don't think the core concepts of learning programming are really helped by these- a screen full of text output has a lot more potential than a flashing LED.
The Raspberry Pi is a curious mix of enthusiast device and techno-utopianism. I'd love one (or three) because I would put in the time to build a web server, home NAS box etc. out of one, and that's because I'm an enthusiast who already knows what I'm doing. All the talk of it revolutionising the teaching of IT baffles me slightly. There's nothing that it can do that an already-present school desktop can't, except perhaps flash some LEDs.
My personal recommendation would be to go with option 1 and stop at the comma- "Teach programming on PCs". It's got no hardware cost (assuming you have an IT room full of PCs), nice low training barriers, is commercially relevant and teaches the important concepts behind programming. As forum posts here requently demonstrate, all the Arduinos in the world won't help you if you don't understand a FOR loop. Your choice of teaching language is almost limitless, but I strongly believe that adding electronic jiggery-pokery for its own sake is unnecessary complication.
I wrote a long reply on this, and the system zapped it.
Essentially,(1) and (3) and use you existing IT to telnet into the Raspberry. Teach Physical computing wiith them, and you should only need 22 quids worth per seat.
Steve
It needs a basic functionality-education, more than playing with programming (which would supplement that).
L
The virtual-world is much neglected by people who might be concerned by societal-problems.
L
The school already has PCs, why not teach them something on those? I bet loads of kids would be interested in learning to program simple games. The hard bit'll be making the basics fun. Program structure for example.
Plus, we are supposed to be becoming an Engineering Specialism school, and the various companies being courted for money will expect to see something relevant for their investments.
* For non-UK readers, GCSEs are exams taken at age 16.