Computing Science is a problem-solving subject: we just have to work out the way to solve the problem … and leave the machine to do the hard work.
Pupils gain immense satisfaction from seeing the success of their efforts and even if our first attempt is incorrect the computer tells us that there is a problem and asks us to correct the code – significantly less depressing than just seeing a red cross on a piece of work.
From the short introduction in the Fourth Form (Year 9) through to the most advanced A level projects, pupils develop their ability to define a problem, work out how to address it, then create and test a solution. Programming skills and theory give pupils access to more complex, interesting puzzles.
We follow the Cambridge Assessment iGCSE, a course which helps pupils develop their coding skills through using Python and giving them a broad understanding of how computers work. It is run as an option subject with over a third of the year group choosing it.
Students study for the AQA specification, relishing the opportunity to write code as part of the exam (“that was hard, but it was fun!”) and to engage with a substantial project for A Level. Computer Scientists are often, but not always, good mathematicians and the AQA course certainly appeals to the mathematically able. We also offer the Further Maths module on Discrete Maths which is attractive to many looking to apply to University to read Computing.
Many pupils enjoy computing without following it as an exam course. Informal groups spring up that follow their own interests (a new pupil led AI Society has been inspiring to see) and the enthusiasm for robotics can really light up some engineering projects.
For the hard core computer scientist, we encourage pupils towards the Olympiad competition where we often pupils make it through to the final. Our pupils have done well in the Bebras computational thinking competion, organised by the University of Oxford. We also have had pupils entering several cyber-security competitions (including making your computer safe against attack and trying to work through methods to stop web site hijacking), an app development club (mainly focussed on developing games) and talks from external speakers – recently these have included talks on artificial intelligence, drones and the technology behind bitcoins.
Some problems you might meet in computing
Some problems are solved by coding, others by pure computational thinking. Problem 1 is not too hard. Problem 2 is quite advanced and needs systematic thinking of the sort that Computer Scientists need to use. Problems 3 is an example of a programming challenge you might meet.
- You are a hotel tour guide. Tourists staying in your hotel expect to be taken on a tour visiting all the city’s attractions. You have been given an underground map that shows all the locations of the attractions and how you can get from one to another using the underground network. You must work out a route that starts from the hotel and takes your tour group to every tourist site. The tourists will be unhappy if they pass through the same place twice. They also want to end up back at their hotel that evening (from CS4fn).
- In England the currency is made up of pound, £, and pence, p, and there are eight coins in general circulation: 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p) and £2 (200p). We could make £2 in the following way: 1×£1 + 1×50p + 2×20p + 1×5p + 1×2p + 3×1p How many different ways can £2 be made using any number of coins? (from Project Euler)
- Write a program that outputs how many points you would score in a game of ten pin bowling, given the number of pins knocked down by each ball (if you don’t know how the scoring system works, google it).
As you make more progress with programming you could try your hand at some competition questions – try the Olympiad website.