Category Archives: Teaching resources

Exam strategy

At the moment, I’m busy most evenings tutoring, as we reach the peak of exam revision season. I’m often asked what the best way is to prepare for exams.

 

Most of the tutoring I’m doing is for maths, so I’m thinking in terms of those specifically, but most of this advice applies to any subject.

Past Papers

The best way to revise is to find a source of past papers to work through. Exam boards make past papers available on their websites, along with the mark schemes, although the latest past paper is usually reserved for schools to use as a formal mock exam. So download a past paper and work through it, marking your own work, and gradually weaning yourself away from using your books to look up techniques.

 

Alternatively, especially for the new-style maths questions, you can buy a pack of practice exam papers.

Exam Question Triage

Practise going through the paper quickly, categorising each question in one of three ways:

  • Easy answer, no problems at all
  • I think I could probably get this with a bit of thought
  • No way do I have any idea what they want with this one.

Answer all the questions in the first category (unless your revision is tight for time, in which case you can skip these altogether).

 

Then start working through the second category, seeing how far you can get on your own and then looking up the rest of the technique. If necessary, check the answer and any guidance/intermediate mark information given, and work backwards.

 

Don’t worry about the third category until you’re more comfortable with category 2. You might well find that as you master 2, you put more questions in that category instead of 3 anyway.

On the Day

By the time you get to exam day, you should be practised in dividing the questions in this way. Make sure you answer all the category 1 questions quickly and accurately. Then go for the marks in category 2. If you still have time, try to put something down for category 3 questions. If you can show that you understand what maths is involved, and get some way towards an answer, then you might pick up a valuable mark or two.

 

Whatever you do, don’t waste time on a question while there are easier marks to be picked up elsewhere.

 

The new computing curriculum and web science

There have been many arguments over the new computing curriculum. The more I look at it, the more concerned I am that it appears narrowly focused on programming, whereas computing can involve so much more.

 

One case in point is the course I’m currently studying at FutureLearn, the Open University’s contribution to the MOOCs (massively open online courses) currently sweeping the web. This particular course, sponsored by Southampton University, is called Web Science: how the web is changing the world. It looks at the effects the world wide web is having on society, and how we have influenced the web.

 

The topics it covers are ones that are important to understand, and that I spent time in the classroom trying to get across – that technology is new, but pervasive, and affects our lives in more ways than we can imagine. In fact, the same topic is covered in a book I’m currently reading in order to review: Digitized: The Science of Computers and how it shapes our World.

 

If children are truly to understand the importance of coding, and to be able to express themselves effectively using digital media, then they also need to understand the deeper concepts of computing, for example how it can help us to build a better world, and to better understand our own minds.

 

I haven’t done much resource creating for the past few months as I left my teaching post in July and have been focusing on other aspects of my business, but after a break away from classroom technology and learning for a bit I’m now getting restless and starting to look for ways that I can help schools make the move forward from office-based computer skills to real computer skills. If anyone has any suggestions – or anyone in the Canterbury, UK area (or online) would like practical help – then please do get in touch. I will be resuming my quest to produce teaching materials in January, but not being in a classroom regularly makes it a little harder to keep up with the practical side of things.

 

Incidentally, there’s another MOOC coming up that ICT teachers really should be seeking out: Teaching Computing part 1 (part 2 to follow) from the University of East Anglia, which aims to prepare teachers to teach the new computing curriculum in both primary and secondary sectors. The course lasts for 4 weeks and is expected to take up around 4 hours per week, but of course anyone seeking to teach computing should be prepared to devote time to it – my biggest fear is that computing will go the way of ICT, with too many non-specialists stumbling through and not giving the subject the rigour that it deserves.

 

More on BBC Basic

Since my previous post about BBC Basic I’ve been looking into the topic further, and it appears the language might have something going for it after all – it’s very similar to the pseudocode used by OCR, and OCR seems to be supporting it, as they have provided training materials using BBC Basic to illustrate solutions.

 

One problem the language does seem to have is a lack of materials available, so I decided to have a go at remedying that, and have produced a KS3 workbook, similar to my Python workbook, which provides guidance into the first few steps of programming – input, output, variables, IF statements and loops – using BBC Basic, including simple exercises. My intention is that the booklet provides enough information for the more able students to progress by themselves, while others will benefit from extra guidance from their teacher.

 

I myself missed out on BBC Basic, as by the time it was introduced in schools I was at the top end and about to leave, but I did start off with Sinclair Basic, which was very similar. I do miss the old days of line numbering, but I have to admit that these days it’s far easier! If there is a generation of teachers out there who need to learn how to teach computing in a hurry and they’re already familiar with – or even just have a passing acquaintance with – BBC Basic, then capitalising on that would seem to be a viable way forward.

 

I intend to look further still into BBC Basic and pseudocode, as students are expected to understand pseudocode anyway for OCR GCSE Computing, and being able to write programs in pseudocode that translate directly into executable code would be useful, but I do feel that there needs to be some sort of introduction to another language as well. Watch this space for more news on training materials.

 

I remember reading once (a long time ago, admittedly!) that universities don’t want students who have already learned a programming language because they get confused when learning a second, but on the other hand those who already have experience in two find it far easier to learn a third. I myself have found that it’s the thinking and planning skills that are vital – once you understand exactly what you are trying to do, finding the exact syntax in the language of your choice becomes the easy bit. It’s like learning to drive a car – when you first learn, you’re bothered by every small difference in another car – the side the indicator is on, the biting point of the clutch – but once you gain more experience you’re aware of the differences and can work better with the similarities.

Hopscotch – programming on iPad

Hopscotch looks similar to Scratch in many ways

Hopscotch looks similar to Scratch in many ways

I’m always on the look-out for interesting ways to introduce children to programming, and recently I came across Hopscotch, a free iPad app.

 

At first glance, Hopscotch looks very much like Scratch, but it is much simpler, while making full use of the interface possibilities of an iPad.

 

Blocks available to use are limited to

  • motion: move, rotate, set heading, change x by, change y by, set speed
  • lines: leave a trail… end, set line color, set line width, clear
  • controls: repeat… end, wait
  • looks: scale by, set opacity, change costume
  • operators: random

Each script starts with an event trigger:

  • When play button pressed
  • when I shake the iPad
  • When I tap the stage
  • when I tilt the ipad down/left/right/up
  • when I tap the object
  • when I hear a loud noise
  • when [this object] collides with……

    The program can produce simple graphics

    The program can produce simple graphics

One sample program that came with the app produces this output, by using several sprites to each draw a section of the image:

 

My first reaction was that not having the full functionality of Scratch is a real disadvantage – there is no possibility of embedded maths, for example, because the only operator offered is one that generates a random number.

 

Part of the code for the Sydney Opera House program

Part of the code for the Sydney Opera House program

However, on reflection, this could also be a strength, as limiting the code that can be used forces attention on those that can be used, so the coder can really explore the possibilities without getting too bogged down in complicated code blocks.

 

It’s my impression that the app is constantly under review and development, as since I first investigated it the collision function was added, so it’s very possible that within a few months Hopscotch turns out to be a fully developed, child-friendly graphical app design tool.

 

Tabs show different sprites in the program, while a simple diagram helps with placement on screen

Tabs show different sprites in the program, while a simple diagram helps with placement on screen

In the meantime, it does offer basic functionality that enables creators to create interactive animations and activities involving basic logic. Its Event -> Action format would also serve as a good introduction to Gamemaker or other similar products, and of course the drag and drop graphics make it very easy for even young children.

 

I suspect that older children would find this rather limiting after a while, but I would certainly recommend it at key stage 2 for exploring possibilities in programming, and even as a cross-curricular maths tool, exploring distances and angles, for example giving a drawing to copy and seeing if children can describe the sequence needed to draw it.  Results could of course be recorded by screenshot and drawings to copy can be as simple or complex as needed, leading to natural differentiation by task.

 

There is a limited selection of cartoon-like graphics that can be added to projects, plus a text object. This limits what can be done rather, but again I suspect that this could well be developed in the near future, including hopefully the ability to import your own graphics.

 

There is a limited selection of objects available, plus a text object

There is a limited selection of objects available, plus a text object

In summary, a basic tool that provides a good introduction to programming for younger children and has strong possibilities, but which at the moment is likely to be rapidly outgrown by anyone who has already experienced Scratch, as the interactivity offered by the iPad is negated by the limited instruction set.

 

If you have a class set of iPads, then this is would be useful. If you haven’t, then you’re not missing very much at the moment, but this could well be one to keep an eye on for the future.

Gamestar Mechanic and the new computing curriculum

gamestar mechanic logoOne resource I was pleased to come across was Gamestar Mechanic. This is a purely web-based resource that teaches elements of game design. It’s aimed at 4-9th graders (I make that 9-14 year olds) and offers them a chance to move from playing games through fixing games to making and sharing their own. Of the many resources I’ve used with key stage 3, it’s the one I see consistently used voluntarily by the students outside of formal lessons. As we’re partway through our year 7 computing unit, which so far has looked at Scratch, I thought I’d take a closer look at GSM and see exactly what offers in terms of learning and how it fits in with the new computer-orientated curriculum.

 

One feature that makes GSM easy to use in class is that the registration system does not require an email address. It does, however, have a system to recover passwords that depends on students being able to remember a username and sequence of favourite colour, subject and animal, which isn’t ideal (it can change from attempt to attempt, let alone lesson to lesson!) so this time round I intend to make students make a note of their user name and passwords somewhere secure. They can use any nickname as their user name as long as it’s not already taken, but often it’s easier to tell them to use their school log-on names and passwords rather than spend hours trying to think of something suitable.

 

Once registered, the student is presented with a quest to work through. There is one quest available free, while others are available for those with premium membership ($19.95 for premium membership, and it may well be that students are interested enough to get their parents to pay for it, but free membership is plenty for school use).

 

There are two other areas of the site that will also interest users: in the workshop they can create their own games, while in Game Alley they can publish their games and try out those made by others, but more of those later.

episode 1 screen

Episode 1 screen

There are teaching materials provided by the website to serve as an introduction to the site, in the form of five lessons. Lesson 1 works through episodes 1 and 2 of the quest and then provides an opportunity to reflect on learning so far. The resources provided for lesson 1 are a set of cards that can be printed and used for matching – one set provides images of various concepts, while the other set provides names and explanations of those concepts, which are grouped into mechanics, space and components. For example, under the space group you will find bounded and unbounded space, under components you will find health meter and avatar, and under mechanics you will find collecting mechanic and exploring mechanic. This will give the students a whole collection of key terms and concepts to build the rest of the unit on, but I wonder just how many they will be able to take in and remember. The suggestion is that in small groups they work to pair up concepts and images and then everyone goes through the answers. I’m considering giving them worksheets with the concepts on and the cards with the names on, so they can fill in their worksheets and keep them for reference.

 

Lesson 2 introduces the core design elements, which are defined as space, components, rules, mechanics and goals. Episodes 3 and 4 of the quest provide a chance to investigate ways of changing each of these and showing the effect on the games. The resource provided for this lesson is a graphic to serve as a reminder of the core design elements.

 

Lesson 3 looks at balance, investigating how the different core design elements balance a game to achieve the right level of difficulty. This focuses on episode 5 and then gives students the first opportunity to build their own game. This ability is there right from the beginning, by the way, via the workshop, but each challenge the player completes in the episodes unlocks another feature they may use, either a different sprite, different background or something similar, so the further through the quest they get the more they have to use in their own games.

games creation screen

Games creation screen

 

Lesson 4 gets the students to design their own game, and offers challenge cards for different themed games should you wish to use them.

 

Lesson 5 encourages students to play-test each other’s games and give feedback via the sheet provided. This guides them into answering questions like “What were the core mechanics of the game?” “how well was this game balanced?” and “how could this game be improved?”.

 

So far so good, but what got me really thinking was when I started looking at the new computing curriculum and how Gamestar Mechanic might be considered to fit into it, because that was when I struggled to find anything in there that would link easily to games design. While games design is only a small part of what computing offers, at the age of these students it’s their most immediate attraction and links in most closely with what they already enjoy doing, so whether it fits into the computing curriculum or not,  I feel it has a lot to offer.

 

One aspect of the computing curriculum is to use two or more programming languages. Does this provide a programming language? Well no not really, but it does provide objects that have attributes. By changing those attributes the student interacts with elements of the game and causes changes. While this does not count as a programming language, I would certainly argue that it is an important step towards moving into object oriented programming in systems such as Greenfoot, by providing a way to play with parameters and settings in a very controlled and accessible way.

 

Object oriented programming gets no mention in the computing curriculum, which is a shame. I’m starting to get the impression that it was written without the needs of children in mind; I can’t imagine too many children being excited at learning sorting algorithms, but give them a chance to learn games programming and they’ll be much more engaged (I know that object oriented programming and games design are not the same, but the latter provides a very good way into the former). What they learn via games design can then be applied more widely as they develop their skills.

games alley, showing published games

Game Alley – published games

 

What about the creative element of the computing curriculum? Undertake creative projects that involve selecting, using and combining multiple applications … to achieve challenging goals… well it’s selecting, using and combining multiple elements and experimenting to see how they work together in order to achieve a playable game, does that count? It’s not really multiple applications, although it is multiple elements, which can include sound. What students can’t do with this, as far as I can see, is design their own elements. I’ll be taking a look at Gamemaker very soon, which is a natural successor to Gamestar Mechanic and does offer this facility.

 

Create, reuse, revise and repurpose digital information and content with attention to design, intellectual property and audience – well it’s doing some of that, not intellectual property maybe, but attention to design and audience, and combining the elements in a suitable way, particularly if you use the challenge cards to set a specific purpose or setting for the game.

 

Maybe Key Stage 2 would fit it better? After all, if the students haven’t been through computing at key stage 2 there’ll be some need for overlap for a year or few. Here we have solve problems by decomposing them into smaller parts, use sequence, selection and repetition in programs; work with variables and various forms of input and output, use logical reasoning… I would argue that it covers all those, although maybe not in the way those who created the curriculum were expecting them to be covered.

 

What it does do is provide a common language and set of concepts for games design that can then be developed further in many directions, so that students can move on to programming their own objects while already aware of concepts like level design, object interaction, responding to events and parameters.

 

Key stage 4? Here we fare much better.  It should provide a chance to develop their capability, creativity and knowledge in computer science, digital media and information technology and to develop and apply their analytic, problem-solving, design and computational thinking skills, all of which I would say it does. Considering the restrictions on it, however, I would suggest that GSM would need to be used as a springboard to Gamemaker, Greenfoot or Scratch, all of which are much more versatile and provide more opportunity to incorporate a wide variety of imported assets. It does, however, have the advantage of allowing students to focus on the game design elements and how they interact without worrying too much about how they create them, so they are not trying to learn everything at the same time.

 

So strangely, this seems to fit in far better with the older key stage than with the younger ones (although, of course, the key stage 4 curriculum was deliberately left very vague in order to fit in with the many ICT and computing qualification courses already available).

profile page showing badges earned

Each games designer earns badges as they learn

 

Looking at the old ICT levels, Gamestar Mechanic seems to fit in much better: strand 1 covers planning, developing and evaluating systems, using feedback to develop work, strand 2 covers creating sequences of instructions and changing variables and explaining the impact, and strand 3 covers presenting information in a range of forms for specific purposes and audiences.

 

In summary, while GSM doesn’t completely seem to fit the new computing curriculum, it does seem to have a lot to offer as an introduction to game making, and as part of a larger unit or with explicit teaching on various aspects such as changing parameters and looking at audience and purpose, it does have a place in either late key stage 2 or early key stage 3 learning. More importantly, I would argue, it engages students and keeps them coming back for more, and shows them the satisfaction of creating their own games for others to play and comment on. Any frustration they eventually feel at the limitations of games created through this method can then be directed into Scratch etc, where they have much more control but need to create the behaviours themselves.

game review screen

Game review screen

 

And that reminds me of another aspect that appears to be missing from the new computing curriculum: there is no mention of collaboration in there, of working together as a team to achieve a common goal and of supporting each other in their learning. This was present in the old system (use ICT to communicate and collaborate) and would appear to be a vital digital literacy skill, considering the extent to which young people use ICT to share ideas in the real world. In Gamestar Mechanic they have a chance to do this by writing reviews for games.

 

Still, until the new computing curriculum is confirmed and we have more concrete information about what it entails and how to deliver it I’m happy that my students will indeed experience the games design fun of gamestar mechanic.

 

Python at Key Stage 3

a simple programI recently had the pleasure of introducing some year 8 and year 9 pupils to Python. They had previously dabbled in Scratch, but the idea of writing formal text-based programs was new to them, so we took it slow and steady.

 

The first lesson was mostly taken up with getting to know Python – we started by typing commands directly into the shell, and then they learned how to open up a new window, type a simple program into it and run the program. By the end of the first lesson they could type up print statements and simple maths statements into a program listing, save it correctly and run it.

 

Lesson 2 introduced the idea of variables and input. I reminded students at the beginning of the session how to start up a new window and create a program rather than type into the shell, and how to save their program with .py on the end to conserve the colour coding. They were also starting to discover the pleasures of debugging, and learning to look carefully at their code to spot errors. They helped each other out with this, and I showed them how to check not only the area of code that Python highlighted as a concern, but to check just before it as well, as often the error was missing speech marks or closing brackets.

 

Lesson 3 was where the real fun began, as we looked at if statements. Combining these with input meant that we could create a question and answer program, and combining that with a variable called score gave them the option of creating their very own quiz. Reactions varied, as some struggled to get their program running and grew frustrated while others started to really fly, creating inventive listings that checked for a user name and password before allowing access to the quiz. Generally, they seemed to enjoy the sessions, and my favourite reaction was that of frustration expressed as the code refused to work, followed by that surge of satisfaction and achievement as the error was spotted and fixed.

 

Our work developed by way of writing programs to solve problems, and for this I used my flash resources. This had the advantage of offering different levels of challenge and support, so that those who were able could work at a higher level while I could help those who were really struggling. By the end of the sessions all students understood a little more about how programs are made and they had learned that little details like capitals and spelling really matter. Most were starting to see how their program worked and how to fix errors and develop the functionality, while a small number really enjoyed the unit and were starting to come up with their own ideas and solutions.

 

This was only a very brief introductory look at programming, but it was enjoyable and worthwhile as a taster of computing rather than ICT, especially for those going into options, and encouraged students to think carefully and increase the accuracy of their written work. I saw expressions of satisfaction from both ends of the ability level, as those who struggled finally got something working while those who experimented showed off what they had managed to work out for themselves. Students whose first reaction as “This is stupid” moved over to “Oh, I see what the problem is”, as they learnt that the computer would do exactly what was it was told to do, and discovered for themselves the harsh realities of Garbage In Garbage Out. Even if they never see another Python statement, I believe they’ve taken away the understanding of how carefully you need to express yourself in order to be properly understood and how accuracy leads to better results.

 

As a result of my experiences I’ve developed a workbook and some flash resources, which you can find on my website here.