Teaching Children under 7 Programming via the British Computing Society: ICT Programme of study (draft)

As part of the game platform I’m building I’ve been reading through the initial draft of the BCS ICT Programme of study (copied in full below). The foundation of which is the realisation that we’re not teaching our children correctly and this reduces their options for work. The thinking is that they’re not all going to be programmers but having a good understanding of how digital technology works should to be a foundation skill, like maths and english.

This was announced formally this year as Education Secretary Michael Gove scraps the existing ICT curriculum.

It’s a very good start at outlining the ages at which we think children (marked through key stages) are capable of understanding core computing concepts. Many of the concepts and target ages, e.g. Algorithms to be understood by 5-7 year olds, are really interesting and destined to create a good and healthy debate. Personally, I agree with much of but it depends very much I think on the pupil and their setting. My hunch is that we can also teach this stuff to the parents too, so I think if we can get it right, it has a very wide impact 😉

For example, I have a daughter who is 5 next March. She’s somewhat lucky/unlucky in that her father’s a computer scientist, as I’m going to try and teach her the key stage draft. My initial sense is she will pick it up quickly but there are obviously factors that will skew the outcome a little – namely, it’s just the two of us and I’m her dad who writes code every day (milage may vary as to quality depending on sleep deprivation levels but I largely know what I’m doing 😉

So the draft proposal outlines Key Stage 1, which covers children aged 5-7, as follows:

  1. Use software on a range of devices; create, manipulate and evaluate digital media in a range of formats for use by an audience with whom they are familiar; use the web as a tool for learning and research.
  2. Understand what algorithms are and that these are implemented as programs on digital devices; use knowledge of algorithms to write simple programs.
  3. Store and retrieve data and know some ways in which information is represented digitally.
  4. Communicate safely and respectfully online, keeping personal information private; recognise common uses of IT beyond school.

So, breaking that down, point 1 is pretty straightforward, that’s teaching our kids to make stuff (e.g. drawings, writing, music perhaps) on laptops, pads and show it to us. Point 2 is the real meat of this, ‘algorithms’, know what they are, how to implement them and write simple programs – wow, 5-7 year olds, that’s 3 months away for my daughter, this is not going to be easy. Point 3 is, or can be, interpreted more easily e.g. writing a memo on an ipad and retrieving it. Point 4 is a good one and is something all parents will want to encourage.

To recap that, we want all 5-7 year olds to be able to be able to use pc’s, pads, etc to create, save and retrieve things on digital devices, be safe online and treat others with respect AND (and here’s the science so concentrate) understand/write algorithms.

For non-nerds ‘algorithm’ is just a fancy name for a list of steps to solve a problem, what makes them really useful is that when you’ve solved a problem with an algorithm, you can often re-use it to solve similar problems.

If you’ve ever been stopped in the street by someone who’s lost and you’ve given them directions, you’ve pretty much devised an algorithm e.g. go straight ahead, take the first left, go on until the lights and it’s first on your right.

If you think of a cooking recipe, it’s basically an algorithm too.

So, fancy name but really simple and really powerful because you can stick them together and solve more and more complicated problems. Back to the cooking analogy, if you know a pastry recipe and a beef stew recipe you can make a pie.

So that’s the challenge, can we teach our 5-7 year olds those four things, I think absolutely and I think I should go and find out by getting a bunch of them!

If you have one or more and please get in touch, I’d love to hear what you think (particularly from non-technical parents!)

you can email me at dan [@] inpractice [dot] org or get me on twitter @danfbridge

Here’s a copy of the whole BCS draft and here’s a link.

Oct 22 2012 Initial Draft, not endorsed by DfE

Initial Draft, coordinated by BCS and Royal Academy of Engineering.
Initial Draft (not endorsed by DfE): ICT Programme of study

Purpose

A high-quality ICT education teaches pupils how to understand the world through computational
thinking, and provides a sense of empowerment and excitement in using and developing digital
technology.

ICT includes

:
 Digital Literacy (DL) is the ability to access, use, and express oneself using digital technology,
including a critical understanding of technology’s impact on the individual and society.
 Information Technology (IT) covers the use and application of digital systems to develop
technological solutions purposefully and creatively.
 Computer Science (CS) is the subject discipline that explains how computer systems work,
how they are designed and programmed, and the fundamental principles of information and
computation.

ICT is important educationally. It requires logical thinking and precision. It encourages innovation,
collaboration, and resourcefulness: pupils apply underlying principles to understand real-world
systems, and to create purposeful artefacts. This combination of principles, practice, and invention
makes ICT an intensely creative subject, suffused with excitement, both visceral and intellectual.
More broadly, it provides a “lens” through which to understand both natural and artificial systems.
ICT has great economic and societal value. A foundation in ICT provides pupils with the knowledge
and skills to contribute to the digital economy. It enables pupils to play an active role in a world
where new technologies are invented daily. ICT has power to make the world a better place, and
understanding of ICT is the key to exercising that power.

Aims and Principles

Aims: The National Curriculum for ICT should ensure that all pupils
 Can critically evaluate and apply information technology (including new or unfamiliar
technologies) confidently, responsibly, collaboratively and effectively to solve problems and
work creatively.
 Understand the fundamental principles of computer science, including algorithms, data
representation, and communication protocols.
 Learn to see problems in computational terms, and have repeated practical experience of
writing computer programs in order to solve them.
 Develop awareness of the individual and societal opportunities, challenges and risks raised
by digital technology, and know how to maximise opportunities and manage risks
appropriately.
Opportunity and progression: From KS1 to KS3 the school curriculum should include all three
strands (CS, IT, and DL), though these may be taught together. By the end of KS3 pupils should be
sufficiently competent in ICT to support their learning across the curriculum at KS4. Students with
suitable aptitude must have the opportunity from KS4 to specialise in specific aspects of ICT,
including both CS and IT-related areas (e.g. digital media), leading to distinct KS4 qualifications.

Key Stage 1

Pupils should be taught to:

  • Use software on a range of devices; create, manipulate and evaluate digital media in a range
    of formats for use by an audience with whom they are familiar; use the web as a tool for
    learning and research.
  • Understand what algorithms are and that these are implemented as programs on digital
    devices; use knowledge of algorithms to write simple programs.
  • Store and retrieve data and know some ways in which information is represented digitally.
  • Communicate safely and respectfully online, keeping personal information private; recognise
    common uses of IT beyond school.

Key Stage 2

Pupils should be taught to:
 Select, use and combine a variety of software (including internet services) on a range of
electronic devices to accomplish a given goal, including collecting, analysing, evaluating and
presenting data and information; apply good design practice when creating digital products
for a given audience; work collaboratively in digital media and manage small projects; use
search engines effectively and appreciate how results are selected and ranked.
 Write programs to accomplish given goals; solve problems by decomposing them into
smaller parts; recognize that there may be more than one algorithm to solve a single
problem; detect and fix errors in algorithms and programs.
 Use ‘if … then … else’ and loop structures in algorithms and programs; use variables and
tables to store, retrieve and manipulate data; work with different forms of input, data
representation and output.
 Describe computer networks including the Internet and be aware that networks can provide
multiple services, such as access to the Web.
 Analyse and critically evaluate digital content; respect individuals and intellectual property;
store personal information securely; use technology responsibly; recognise the personal,
social and ethical impacts of technology on their and others’ lives.

Key Stage 3

Pupils should be taught to:
 Work creatively on individual and team projects in a range of digital media; select, use and
assemble multiple applications across a range of devices to achieve complex goals, including
analysing data and meeting the needs of known users; create, reuse, revise and repurpose
digital content with attention to design and audience.
 Represent the relevant aspects of a problem as abstractions that can be described within a
program, including a conceptual understanding of how data is represented and how
instructions are processed within a computer system.
 Generate, develop and implement creative programmatic solutions to a range of engaging
computational problems. Explain how and why an algorithm works, and why it represents a
good solution to the problem.
 Know the hardware components that make up a computer system, how they interact, and
how they affect performance; understand how computers can be connected with, monitor,
and control physical systems.
 Recognise the impact of digital technologies on society and the implications of technological
innovation; describe their use in a range of professions; make responsible and effective use
of digital technologies.

Key Stage 4

All pupils should be taught to:
 Develop their knowledge and understanding of the use of digital technologies, including but
not limited to managing their online identity, participating in online communities,
developing and critically evaluating digital media, and taking account of ethical, moral, legal
and environmental aspects of information systems.
 Develop and apply their computational thinking skills.
All pupils must have the opportunity to study information technology and computer science beyond
this core entitlement, in some combination, leading to qualifications at KS4.