Thursday 7 February 2013

Computing at Key Stage 3

I've just had a read through the new National Curriculum framework which includes the new Computing program of study. I'm really interested to see how these changes are applied in schools, as there is a lot of tricky stuff there.

I've had a look through the 'Subject Content' bullet points for computing at KS3 and made a few brief comments on the practicality of teaching each of those strands in a secondary school today.

Design, use and evaluate computational abstractions that model the state and behaviour of real-world problems and physical system

Starting off quite easy, I would expect most schools already do this to some extent. Excel modelling, along with some flow chart style control software (Go, Flowol, Logicator etc.) would be a good way to meet some of this at a basic level.

Understand at least two key algorithms for each of sorting and searching; use logical reasoning to evaluate the performance trade-offs of using alternative algorithms to solve the same problem

Wow - I remember learning this at university and think it was complicated. How my year 9s are going to cope with this I'm not sure. You can find a list of sorting algorithms on a wikipedia page - examples include. quicksort and bubblesort. I'd be really interested to know what other people are planning on doing for this. I guess a challenge to write a program to sort a list would be an interesting way of approaching this aspect (perhaps in python or even javascript?). 

A real challenge is that the majority of ICT teachers I know, didn't learn these things at university - many have never written a computer program. 

Use two or more programming languages, one of which is textual, each used to solve a variety of computational problems; use data structures such as tables or arrays; use procedures to write modular programs; for each procedure, be able to explain how it works and how to test it

It would be interesting to know what the government's definition of a non-textual programming language is - would something like Scratch meet the requirements? 

Learning a textual language is quite a big thing, but I do think it's important if our young people are to help our country become a world leader in the computing field. The real problem again, is that our ICT teachers will really struggle with this.

Understand simple Boolean logic (such as AND, OR and NOT) and its use in determining which parts of a program are executed; use Boolean logic and wild- cards in search or database queries; appreciate how search engine results are selected and ranked

This one isn't too bad at all. Most students quite quickly pick up how boolean searches work in year 7 when discussing search engines. This can then be built up to using them in something like Excel, and then to using it in programming languages.

Understand the hardware and software components that make up networked computer systems, how they interact, and how they affect cost and performance; explain how networks such as the internet work; understand how computers can monitor and control physical systems

It's a bit GCSE ICT, but I think many students will already have some idea about these things. Most households now have their own wireless router, so they are using this technology every day. 

Explain how instructions are stored and executed within a computer system

It depends on how deep you go here - I'm not sure I'd like to explain this in much depth to any of my KS3 students.

Explain how data of various types can be represented and manipulated in the form of binary digits including numbers, text, sounds and pictures, and be able to carry out some such manipulations by hand

Straight forward enough in theory, although I'm not sure what software you'd use to do this.

Undertake creative projects that involve selecting, using, and combining multiple applications, preferably across a range of devices, to achieve challenging goals, including collecting and analysing data and meeting the needs of known users

I'm sure coming up with projects based around this would be reasonably straight forward.

Create, reuse, revise and repurpose digital information and content with attention to design, intellectual property and audience.

Most ICT teachers already do this - often in the form of a graphics or presentations project. I'm not sure intellectual property is well covered at KS3, although students should be able to grasp this at basic level (thou shall not steal). 

Overall, this is quite an interesting move towards a more programming orientated ICT computing classroom.

There are lots of good things in here, and a desire to have our society as a world leader in computing is something few would argue against.

There are however two problems.

One, is down to us teachers to solve - how to motivate the students to want to learn about programming. Many students are genuinely interested in finding out how things work, but given the choice of teaching programming or graphics, graphics would definitely be the easy option. Having said that, I've had to teach Access Databases for years, so this problem is nothing new.

The biggest problem I can see is staff expertise. I can't think of many of my colleagues who have ever written a proper program in any real programming language. There will be many schools and colleges that have no expertise at all in this area. It's really important therefore that if the government wants to make a good job of this, that they invest heavily in training up teachers to teach computing properly. Scheme's such as this one, whilst good for the headlines aren't really that great - 500 newly trained computer science teachers in a country with 3.6 million secondary students makes a class ratio of 1:7200!

I'm behind the changes in principle, but practically speaking, this is going to cause a lot of problems in most secondary schools. However, with enough investment in terms of time and money, this could be the start of something really good for this country.