3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

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;
  1. The school teaches programming etc on PCs, using software to model the device being controlled by the programmes children write.
  2. 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.
  3. 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?




rpibannerfinal.gif
78 comments
sort by: active | newest | oldest
Mar 10, 2012. 7:13 AMGoodhart says:
Yes, but here, at least a few individuals could test them, right? Or does the hardware problem preclude that?
Mar 10, 2012. 7:39 AMGoodhart says:
Good, I hope things work out for the best for you all.
Jan 16, 2012. 1:24 PMwhatsisface says:
I'm hoping that Office will still be taught alongside this. While the arguments against it are numerous, it's still my most used piece of software even on an engineering degree.

(I'm aware this isn't especially helpful to your situation, just thought I'd make my two-monthly comment).
Jan 16, 2012. 2:48 PMsteveastrouk says:
It isn't the function of the schools to push a particular product. By all means teach the use of an office suite, but to insist on MSFT products is not a good idea.

Steve
Jan 17, 2012. 9:05 AMsteveastrouk says:
Given the well known discounting and other activities of Msft, and the fact that school IT people are almost entirely brought up in a MSFT environment, that's not terrinbly surprising.

We run OpenOffice at work and we have no problems with .DOC files or .XLS files at all.

Steve
Jan 17, 2012. 3:09 PMLithium Rain says:
The point is, though, that it's not surprising given that such difficulty has little to nothing to do with any kind of inherent inferiority of FLOSS, but the training of the people responsible for setting up and maintaining the system.
Jan 16, 2012. 3:07 PMwhatsisface says:
Oh by all means, I'm not thinking schools should act as ambassadors for Microsoft at all, merely making the point that proficiency in some kind of office suite is an essential skill.

Apologies if it comes across as a bit pro-MS, it wasn't meant that way.
Jan 16, 2012. 2:15 PMLithium Rain says:
You can learn Office in a weekend. It's stupid to have an entire semester long class on it, let alone _years_ of it.
Jan 16, 2012. 2:56 PMwhatsisface says:
I was required to know Excel like the back of my hand when entering university, and knowing what I was doing put me ahead of quite a view classmates straight away. When spending all night trying to work out the optimum design for a pipeline using Excel, you're glad to know what you're doing.

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.
Jan 17, 2012. 8:41 AMgmoon says:
My cousin works for a major international technology company, and has basically survived the last five years by creating a series of supply inventory metrics, which run on Excel.

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.
Jan 17, 2012. 3:14 PMLithium Rain says:
I mean, that's great for engineers. And I mean that.

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.
Jan 18, 2012. 5:41 AMgmoon says:
My reply was really just an aside, but maybe I'll elaborate...

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 ;-)
Jan 18, 2012. 5:50 AMgmoon says:
Clearly, I meant to write "I'm not a M$ fanboy."

Sigh. Editing posts will never happen here...
Jan 17, 2012. 4:08 PMwhatsisface says:
"Schools have to teach skills that will be useful for the maximum number of people"

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?
Jan 12, 2012. 5:01 PMcanucksgirl says:
As you know, computer science is such that once a teacher has become qualified to teach a topic, the technology is already being replace, upgraded or perhaps obsolete. That being said, the change is a far cry better than teaching kids MS Word and Excel to the point of unconsciousness.

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".
Jan 13, 2012. 4:26 PMGoodhart says:
You got that right (first paragraph). I was learning COBOL II in 1982 on an IBM System 3.....with punch cards.....a good 4-5 years after graduation from highschool...
Jan 14, 2012. 12:45 AMlemonie says:
I half-remember some joke where the punchline is "A load of old COBOLlers.". (that half.)

L
Jan 14, 2012. 7:06 AMGoodhart says:
Haven't touched that language since 1984 though ;-) ...I know, I know....it isn't that I didn't "get it", it is more like "I'm ignoring it" LOL
Jan 14, 2012. 9:15 PMLithium Rain says:
They say there's actually a small but lucrative market for COBOL programmers - many legacy systems, including really important infrastructure, are running COBOL but nobody learns it anymore...
Jan 15, 2012. 1:12 PMGoodhart says:
ANS COBOL, the type that ran on the IBM system 3, is almost completely replaced now with COBOL 2002 or if not COBOL-85 at least. Although, had I kept the language alive by using it, I certainly would have a shot at using said skills with a bit of updating (mostly new commands to learn). BUT as with many things (like the GERMAN I learned in H.S.) if you don't use it ever, you lose it. Had I kept it "fresh" I could have been extremely valuable in 2000 when the "big scare" occurred :-) At this point, I'd have to relearn it.
Jan 14, 2012. 11:37 AMcanucksgirl says:
oh come on... someone needs to tell us the other half of the joke. :D
Jan 14, 2012. 3:51 PMGoodhart says:
I 'aven't been been able to find it on line....
Jan 13, 2012. 8:44 PMcanucksgirl says:
LOL... I've heard a lot about those programming punch cards... very funny, but it illustrates the point.
Jan 14, 2012. 7:13 AMGoodhart says:
Original punch cards:

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...)
Jan 14, 2012. 11:41 AMcanucksgirl says:
One day in the future, those things will be a huge collectors item. (I can just see it).

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....
Jan 14, 2012. 3:52 PMGoodhart says:
yeah, try looking through thousands of cards....and when the card reader jammed.....FUN FUN !
Jan 14, 2012. 4:56 PMcanucksgirl says:
LOL... my old boss told me about a time when their whole card box was knocked over onto the floor... imagine a half dozen programmers crying their eyes out.
Jan 15, 2012. 1:06 PMGoodhart says:
yeah a sorter wouldn't do you much good then for organizing them (they're GREAT for data, but not much good for programs).
Jan 13, 2012. 5:23 PMcefn says:
There are some UK pioneers out there who can give you a boost on this whole issue, having been struggling with it for quite a bit. I'm working with @teknoteacher in a few weeks doing 'Hack to the Future'...

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
Jan 15, 2012. 2:41 AMcefn says:
Alan's had a chance to say more about his perspective in this Guardian feature...
http://www.guardian.co.uk/teacher-network/2012/jan/11/computer-science-response-to-gove?newsfeed=true
Jan 13, 2012. 5:33 AMpossum888 says:
Maybe instead of focusing on development boards such as Raspberry Pi or Ardunio, you could always take the software option and learn/teach a coding language or two. There are plenty of resources online or in an old-fashioned bookstore.

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.
Jan 13, 2012. 9:50 AMPKM says:
+1 for this- I asked my colleagues and Python was the most frequent response to "which language would you use to teach secondary school children programming".
Jan 13, 2012. 4:24 PMGoodhart says:
Since Python runs on Linux, that and the Raspberry seem like natural links....or am I out of touch here?
Jan 13, 2012. 10:44 AMLithium Rain says:
Question: why do all of your scenarios assume you are going to be teaching them to write programs intended for hardware other than the computer itself?

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.
Jan 13, 2012. 12:24 PMJayefuu says:
+1
Jan 13, 2012. 2:49 PMLithium Rain says:
:( Sounds like this program isn't actually going to change anything except the focus - Raspberry Pi hardware instead of MS Office software. I guess it is a step in the right direction, but it sounds like those who control the purse-strings have just latched onto a new buzzword rather than a new philosophy...
Jan 14, 2012. 11:35 AMcanucksgirl says:
I wonder how many people who keep mentioning the Raspberry Pi aren't in some way 'involved' with the U.K. based company where they couldn't benefit somehow from the push (directly or indirectly). The 'ol "you scratch my back"... thing could be going on here. I would think that Arduino would be a better budgetary fit considering their open source options. That, and the fact that Arduino is already established in the marketplace.
Jan 14, 2012. 1:01 PMsteveastrouk says:
The arduino is extremely limited, and does not run an OS.
Jan 14, 2012. 1:14 PMcanucksgirl says:
Good point. (I don't use Arduino). With that in mind, I would guess that Raspberry Pi is their best bet. I would imagine they'll run in Linux and program in Python? That may or may not be good, depending on the teachers and this issue that Kiteman's presented.
Jan 14, 2012. 1:57 PMsteveastrouk says:
An Arduino is also not its own programming environment, the Pi is.

Once you can run Linux, you can essentially use anything.

Steve
Jan 14, 2012. 9:16 PMLithium Rain says:
I still don't understand the emphasis on special hardware. Just dual boot linux on the machines you've got!
Jan 14, 2012. 10:17 PMsteveastrouk says:
The idea of the Pi in GENERAL, is to brng back the days of the early Sinclair machines, when the box plugged into your TV and everyone could have one.
Jan 15, 2012. 7:04 AMLithium Rain says:
Don't get me wrong - I love the Pi. But I am struggling to see the point of the educational application. Computers are already just about that commonplace. For kids whose families don't have the means, schools already have programs to lend them laptops for some given period of time.

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"?
Jan 15, 2012. 7:44 AMsteveastrouk says:
Its not just that, its the programming on the metal, if you want to that the Pi is trying to encourage again- where our current batch of UK power house software and hardware designers started, back in the 1980s.

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
Jan 16, 2012. 11:06 AMsteveastrouk says:
If its set up properly, no it wouldn't - the kids computers would be thin clients and running in virtual machines on the school servers - but that means LESS for the IT people to do. Screwed up the VM ? Who cares ? click, restart VM.

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.
Jan 16, 2012. 2:29 PMLithium Rain says:
Y U NO OS-agnostic? :(
Jan 17, 2012. 3:26 PMLithium Rain says:
Oh - I thought you meant they specifically disallowed traffic if the header didn't specify iOS or something.
Jan 16, 2012. 11:33 AMsteveastrouk says:
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...


WOW, that's one heck of a result. Well done.

Steve
Jan 16, 2012. 1:56 PMsteveastrouk says:
If they access the net on their devices (which they can do with the 3G network ANYway, I can't see what the problem is.

Steve
Jan 16, 2012. 12:01 PMcanucksgirl says:
ha ha ha... nothing an antacid can't cure. :D
Jan 12, 2012. 2:52 PMcaitlinsdad says:
One viewpoint I found  http://useless-factor.blogspot.com/2007/03/high-school-computer-science-education.html .  It might come down to what your school system will acquire and dictate as the result of lobbying efforts of the various manufacturers or vendors - Apple, TI, HP, Lego Mindstorms NXT, National Semiconductor, etc....

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.
Jan 12, 2012. 3:19 PMGoodhart says:
Here, most "authorities" decide ahead of time, then put it to a "vote" and then fiddle with the outcome. My wife is good at this too. She'll ask me a question, having already decided the answer, as if she is giving me say in the matter. *sigh*.
Jan 13, 2012. 9:57 AMElvenChild says:
Well if you have the bigger wallet of course she will want to act like your opinion matters... Don't tell her I said that.
Jan 13, 2012. 10:53 AMGoodhart says:
Not true. She forms the opinion of what she wants, asks the question (should we go to A or B), has already decided which one she IS going to, and my "choice" gets negated because I think differently then she does, and inevitably will not choose the "right one". An argument ensues....and I end it with "whatever" ! LOL
Jan 13, 2012. 10:46 AMLithium Rain says:
-_- Paging captain misogyny, paging captain misogyny...
Jan 13, 2012. 11:03 AMGoodhart says:
Or practicing saltating to illations (J/K) ;-)
Jan 12, 2012. 3:26 PMcaitlinsdad says:
That is enjoying "freedom" and "democracy" at its finest.
Jan 13, 2012. 7:52 AMriff raff says:
Indeed, there are all sorts of open source programming emulators available. If your school PCs are required to run Windows, you can still boot into Linux with a "live CD" and have access to all the emulators.

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.
Jan 13, 2012. 10:03 AMElvenChild says:
There are lots of stupid things these days. Like how people consider themselves gamers and yet have never played any of the Legend of Zelda series or the Mario series. Like how people buy DSLR's and the only button they use is the shutter button. Like people buying MacBook Pros only to install windows on them (Seriously whats the point?!!?!?!). Like how people buy hdtv's to connect there standard def dvd players to. Life is full of mysteries so I guess people getting degrees without programming in assembly these days does not surprise me.
Jan 13, 2012. 6:10 AMPKM says:
(Sorry for the lengthy rant, I'm trying to address a lot of areas: if you don't have time to read all of this, at least check out the code academy link)

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.
Jan 13, 2012. 2:53 AMsteveastrouk says:
Damn.
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
Jan 12, 2012. 1:12 PMlemonie says:
What I've learned is that while microprocessor-devices are made "user-friendly" like Fisher-Price toys, most people have a pooer grasp of what they're catually doing / what is going on. E.g. one error-message that they don't understand can stop them dead.
It needs a basic functionality-education, more than playing with programming (which would supplement that).

L
Jan 12, 2012. 2:10 PMlemonie says:
The basic structure of a PC, modems, internet-protocols, servers, file-formats, etc. the underlying structure of what people are using. In order that people have an understanding of what buttons actually do and what it actually is that you're looking at/clicking on.
The virtual-world is much neglected by people who might be concerned by societal-problems.

L
Jan 12, 2012. 1:04 PMJayefuu says:
I don't understand why people think just because they're changing what they're teaching it HAS to involve extra hardware.

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.

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!