Introduction

We now offer OCR AS Computing to our KS4 pupils as an alternative to the GCSE ICT course. Pupils will study this course over two years; it is normally done in one year by 16-17 year olds but given the excellent students we have here, I think they will cope. Just under 50% of the pupils opted to do this course when they had to make their choices at the end of Year 9. There is no coursework in the OCR AS computing course (which ironically means we will be able to do more practical work as we won't have to jump through hoops).

The pupils are all girls in a high-performing grammar school. They have all had some experience writing code in previous years; they have used Scratch to write a shoot-em game, VB.net to produce a web browser, Logicator for flow charts and html to produce web sites. Pupils on this Computing course will have three 50 minute lessons a week in both year 10 and 11; one lesson is intended to be a pure theory lesson and they will also have a double lesson lasting 1 hour 40 minutes in a computer suite. I expect them to do about an hour or so a week of homework. Pupils will primarily be learning Java. The main IDE we will be using is Greenfoot (excellent and free). We will be working from the Michael Kolling Greenfoot textbook and using resources from the Greenfoot website. We may dabble with other languages and IDEs.

The broad plan for the first year is to program program program by teaching pupils how to write computer games. I intend covering as much of the Greenfoot textbook as possible and as much of the Programming unit (OCR Syllabus F452) in year 1, and then the theory parts (F451) in year 2. By the end of the first year, I want the pupils to be able to confidently write their own computer games.

Monday 24 October 2011

Week 7 - The joys of binary

This week was used to give pupils a breathing space in their computer lab lesson to complete their piano projects.

We used the theory lesson to introduce pupils to the joys of the binary counting system, which was fun. We looked at how denary works and then extended this to binary, doing lots of conversions between both systems. We defined LSB, MSB, bit, nibble and byte and made a few notes on what a character code was, a character set and ASCII. Pupils had to spell out their names in ASCII. We briefly touched on the hex numbering system.

Quite a few pupils were away on trips so I'll have to revisit this anyway but with the next lesson on strings and string manipulation, this seemed like the right time to introduce this topic. Fortunately, they are bright pupils, good at Maths, so we didn't need to labour all of this.

Half term next week so lots of time for preparing lessons (*£&$!). This was a fun site, for making ASCII art.

Friday 14 October 2011

Week 6 - Forwards we go ...

Pupils have worked very hard this week on their pianos. They aren't all finished, so next week will be about getting them finished. I'd like them all to have done one crab game and one piano by the time they return after half term. I also need to use them to showcase the AS Computing course to year 9s soon. They have all been set homework, to do the first 4 chapters of the BBCBASIC tutorial and look at chapter 8, and then to write two simple problems: get the width and height of a field and display the area, and get the radius of a coin and display the circumference. Most have already done it.

Today, I gave them all a test. This was the first one on the course and tested a knowledge of a cross-section of the terms we've come across so far. It lasted 25 minutes. I've just marked them and interestingly, I'm failing half a dozen as they just aren't getting the basics clear in their heads. Most, however, are doing staggeringly well. I'm both delighted and relieved that the knowledge is going in for most of them. Next week, I will work closely with the six who are struggling whilst the others get on with their pianos and see if I can help them with some of the basics. I also need to arrange 'Study buddies' for them, other students who can help them revise and who they can ask for help. This idea works well in a Grammar School. On the plus side, they all completed a questionnaire on all aspects of the course so far. Nearly everyone is thoroughly enjoying the course. Most love the challenge, although a few are struggling. They like the resources, the pace is good for most of them and all but one person thinks they are really learning something useful. This is very encouraging but I must work harder to get the ones who aren't so happy back in the groove!

We also did our first introduction to pseudo-code today. We talked about why programmers need to define problems exactly and we looked at an example. I gave them a problem and then asked them to write down the steps in solving it in any way they wanted. After a while, they were stopped, and we looked at their solutions, finding ambiguity as we went. I then showed them a solution in pseudo-code and we discussed that and why it was precise (nearly) and what we needed to do to improve it.

This was really interesting, watching them thinking and discussing how to clearly describe a solution to a problem. I have a feeling that they are going to benefit from practising using pseudo-code to define the solutions to problems in all kinds of unexpected ways. If nothing else, they should after a few weeks start to think more logically, step-by-step, trying to pick holes in their own solutions. I'm quite looking forward to the next few lessons.

Monday 10 October 2011

Week 6 - Things just got harder, and easier ...

Most pupils are getting to the stage where they have finished their piano (chapter 5 of the Greenfoot book) and are playing with customising it (not very constructive in terms of the syllabus but fun anyway). I worked through Chapter 6 in the book again over the weekend and am struggling with this; there is a rather large jump in complexity in this chapter and I know my excellent pupils will struggle with the abstract ideas it contains, especially in dealing with lists and collections.

So, while I figure out how to deal with this, we are going to spend a month or so with BBCBASIC as well as introduce BlueJ for Java. Our syllabus requires us to look at a procedural language. The plan is to set them lots of small, focussed problems and get them expert in producing pseudo-code in constantly mixed-up groups. Then dry-run the pseudo-code, showing them how to do that and produce test plans. Then they will have to implement the code in BBCBASIC and finally, implement the code again, but this time in Java using BlueJ. Hopefully, looking at BBCBASIC as well as Java will drive home some of the more basic ideas: variables, constants, selection and iteration, arrays etc. This might make life a bit easier when we return to a world made up of objects and classes (or it might confuse them - we shall see). If nothing else, we can tick off lots of bulletpoints in the syllabus in the next four weeks and that can only be a good thing.

This week, the plan then is to get them all closer to having a finished fun piano, then start working through the tutorials in the BBCBASIC application. It has been donkey's years since I looked at BASIC, but it all came flooding back on Sunday.

Friday 7 October 2011

Week 5 - Jargon

That was a good task to do! I gave pupils a page of code and a list of buzzwords. They were mixed up into threes, working with people they don't sit next to and then they had to work together to identify the buzzwords in the code, colouring them in and then writing next to them what it was. It was a really good opportunity for them all to make some notes in a slightly different way on all of the jargon that they keep meeting. Method signatures and programming constructions needed to be explained but apart from that, there was some really good conversations going on. They are brighter than the sun, these pupils! This took about half an hour. The lesson used is available from the Downloads section.

None of them knew what MOD did so I set the groups a challenge, giving them e.g. 10 MOD 3 = 1 on the board and then giving them a few minutes to tell me what MOD did. Then I gave them 20 MOD 6 = 2 and a few more minutes. Then 7 MOD 4 = 3 and so on. One group got it after 4 sums were on the board and then a few more got it after a few more sums were put up. That was a fun challenge for them.There two competitions now that I will be entering them for this year: this one and this one. With pupils like these, how can they fail.
I have set up an anonymous questionnaire in Moodle for all the pupils to do next week, asking them all about how they feel the course is going, if they are happy, if they feel the teaching is okay, if they think the pace is okay etc. This should be interesting. I also have set the date for the test I've kept promising them for next Friday so that will give them a focus for revision of work they have done. On top of that, they have been asked to download BBC BASIC at home and do a few of the starter chapters.

I want us to play around with BASIC and also PASCAL for a bit, but fully intend to keep the momentum up with Java, as most seem to be really enthusiastically enjoying what they are doing. BBC BASIC looks simple enough for them to work through on their own, with just a bit of help in class from time to time.he next two weeks will be devoted to finishing the piano in chapter 5 and then customing it with their own sounds. I also want to do a few formal exercises on writing simple pseudocode to describe problems and then converting that into solutions in Java. Fortunately, I got my budget recently and ordered half a dozen reference books for Java, so should be able to get lots of ideas.

Tuesday 4 October 2011

Week 5 - Constructors

Generally, a good lesson in the computer suite today. Pupils have started Chapter 5 of the Greenfoot textbook and loved the idea of a piano that can play animal sounds so they all worked very hard on their pianos. We had some fun, with the students coming up and playing the piano on the interactive whiteboard as well, which was amusing.

A few got near the end of their piano, although when they looked at the final version of the piano code in the book-scenarios, they wondered where the FOR loop had come from. Chapter 5 uses a WHILE loop! It was really pleasing to see the first few girls really start to independently hunt for bugs in their code and work together to track down where something has gone wrong. I have got to keep praising this, and fortunately, found a big pile of reward stickers in the bottom of one of my drawers today so will have a praise frenzy in the next lesson.

The introduction of constructors, where you pass parameters when you create a new object, is causing a few problems for some students and they struggled to get to grips with this idea. I guess this must be quite a difficult idea and I don't think I explained it that well so will do a lesson on constructors in the next theory lesson on Friday. I'll also have to go through arrays as well, as I think that students are copying but not really understanding.

I keep promising both classes a test soon. I must get my act together so will put something together for next week.