MGS Computing Society page

=Background=

The Brief
However, after announcing the new Government Initiative to our Year 9 (14 year olds) last term (Winter 02011), HM decided (and I had to agree) that the boys had shown considerable enthusiasm and to capitalise on that we really needed start something. So we did. I'm using this wiki page to share what we're up to and why we're doing whatever we're doing (mainly making lemonade…). I'm really not holding this up as a model of best practice, just a record of what we're trying, with the hope that others might find it a useful starting point. Criticism and suggestions welcome, but be gentle with me. Discussion of this material is currently occurring on this forum thread[]

About Me
I'm currently Head of Physics and a hobbyist programmer – teething initially on the BBC B and the Commodore Pet last millennium sometime, therefore RaspberryPi is an idea close to my heart. When the initial announcement was made, I flagged to HM that I was interested in helping (I have no idea how many teacher programmers we have but all the rest bar 1 sensibly kept their heads down). I'm a bit of a language junkie, enjoying the actual process of learning, so learning new languages is my idea of fun and sharing what I am learning is my raison d'etre as a teacher.

Currently at MGS
In the junior and lower schools (years 3 to 8) the boys get some exposure to SCRATCH. In the 6th Form (Y12&13) there is an options programme course on programming that samples SCRATCH, Alice, Java and Python, but the exposure is really shallow due to time constraints. In 6th Form Electronics the A2 course involves some PIC programming. It is interesting that low level programming is saved for A2. Abstraction is always difficult.

Resources Constraints
The Computing Services Department are willing to distribute SCRATCH anywhere I ask for it. The largest classroom we have is C2 which contains 30 PCs. Other IDEs make them, not unreasonably, very nervous indeed. The 6th form course is delivered in a room that is otherwise locked and each machine has its own virtual W98 machine into which the boys can install their own stuff, but each boy is tied to a particular machine. Teachers: Just me and one other brave NQT who has come into the profession late from industry where he has some Java experience. The current Head of ICT is also very supportive (he runs the 6th form options course but is also largely responsible for Staff ICT training to his plate is already very full – SIMS has a truly gruesome UI). We're hardly experts. For me, at least I am struggling with debugging my own code on a daily basis, so my head's in the game. Also I'm an experienced teacher and I have huge enthusiasm for the idea of introducing more people to programming.

External Support
The Behind the Screen guys http://www.behindthescreen.org.uk/ are only just getting going. Last week the entire site was just Lorem Ipsum – now it's just the last page (of 3). The projects are Squawk and IBM at Wimbledon. These are tough challenges. Support? Nothing yet.

The Hand I was Dealt
I was delivered the names of some 40 interested boys in Y9. They had been told that this year this would be entirely co-curricular with a commitment of one lunchtime and one hour after school per week. Next year and the year after that they would have some dedicated curriculum time leading to a GCSE-like qualification similar to the Extended Project. The idea of a qualification that is essentially curriculum-less scares the willies out of me as a teacher. I can't seem to find any hard edges to this diaphanous idea anywhere. Specifically, how will it function in detail? So here I am stepping out into the abyss trusting the bridge to assemble itself under my feet as I walk.

First Thoughts
The dichotomy of a first language seems to be this. You can either have something that gives early results and feedback, but is ultimately limiting (Scratch, Alice) or something that will take some time to get out of the command line into GUI (Java, Python, C++, HTML5/Javascript). Motivation is everything here, especially as a co-curricular activity this year, so the former is more important than the latter. However, you're never going to program that Wimbledon App. in Scratch, so sooner or later we're going to have to progress on to another language. Exactly what is up for grabs but the teacher expertise lies mainly in Java, so that's the current front runner. Pragmatically, Scratch is available and familiar, so we'll start with that. It's a pretty friendly place to start as you can't make typographical errors, so debugging is easier. It teaches the main control structures in procedural programming, but the individual sprites have a nice OO feel. There's a nod to local and global variables, action listeners and multi threading. However, unfortunately, you can't define a sprite class and then instantiate it. As this rather nice implementation of classic Space Invaders shows, each invader is its own sprite. http://scratch.mit.edu/projects/ifugu/1979494 =What we actually did=

Session 1 - Th 19 Jan 02012
Expecting some 14 boys for the first meeting 32 turned up (we ran out of computers). In the first meeting I re-introduced Scratch and looked at moving around sprites via a simple game I called "Bomb the Cat".

Session 2 - Th 26 Jan 02012
In the second meeting I divided the boys up into the Scratch Jedis and the Padawans (ones who actually needed to be taught Scratch). The Jedis were organised into teams and told to implement a classic arcade game, dividing up the coding between them. They decided on Pong, Pacman (two groups) and Super Breakout. The intention is to then push them on improving the user experience and improving the gameplay once they claim to be "Finished". The Padawans continued with Bomb the Cat and were introduced to variables to handle score and lives and we also looked at changing the sprite "costume" on the collision event. Both approaches seemed to be successful for their intended audience in as much as the boys seemed to be enjoying themselves.