How long does it take to gain the knowledge needed to give kids a grounding in programming and computer science?
Plenty of books promise to short circuit the learning process - to teach you a foreign language or how to program in superfast time.
But can you really 'Learn Java in just seven days' or 'Learn French in a week'? Maybe in the loosest possible sense, but you probably shouldn't expect to be refactoring MapReduce jobs or holding forth in the Assemblee Nationale.
One of the more acute examples of how thinly the notion of learning can be stretched was the claim made by Lottie Dexter when she was director of a UK government-backed push to get people to learn to code.
When asked how long it takes to learn how to "teach people to code", Dexter, who admitted to having no programming knowledge herself, said "I think you can pick it up in a day".
The belief that anything useful could be picked up in such a short space of time isn't shared by Google' director of research and renowned AI expert Peter Norvig. He contends that mastery of a subject requires repetition and effort over years, not days.
"The key is deliberative practice: not just doing it again and again, but challenging yourself with a task that is just beyond your current ability, trying it, analyzing your performance while and after doing it, and correcting any mistakes. Then repeat. And repeat again."
Teachers in England certainly don't feel they can morph into coding gurus overnight. Charged with teaching schoolchildren aspects of computer science for the first time, the majority of these teachers recently said they are not confident in their ability to do so.
Their concerns may be grounded in the fact that less than half of all secondary school ICT teachers have a post A-level qualification relevant to IT, and most primary school teachers do not have a computing background.
These same teachers will be responsible for providing children aged 14 and under with a grounding in a range of concepts related to computer science and programming, including:
- designing computational abstractions that model the state and behaviour of real-world objects;
- understanding at least two commonly used algorithms, such as those used for sorting and searching;
- using two or more programming languages, at least one of which is textual, to solve a variety of computational problems. They should be able to create data structures such as arrays and tables and be able to write modular programs that use functions;
- understanding how simple Boolean logic, such as AND, OR and NOT, is used to determine which part of a program is executed and in circuits;
- understanding the hardware and software components that make up networked computer systems and how they interact;
- understanding how various data types can be represented and manipulated in the form of binary digits.
The UK government has launched initiatives aimed at training 45,000 teachers, backed by more than £3m in funding and supported by Microsoft, Google and IBM. As of June, nearly 7,000 teachers had received training from the network of 400 'master teachers' established by the BCS, The Chartered Institute for IT, while the Computing at School (CAS) programme is also running workshops to train primary school teachers.
However attendance at these sessions is voluntary and to date has been at best, patchy, according to some of those involved with the schemes.
"Some teachers seem to be expecting someone to do it all for them and present them with a course delivered in their school. But it does rely on the teachers going out and getting engaged with CAS, looking where training opportunities are up and down the country and going on these courses," said Duncan Maidens, senior lecturer at Birmingham City University's School of Computing, Telecommunications and Networks.
Maidens, who runs a number of CAS schemes at the university, said: "Teachers are very busy, and a lot of them are still thinking this is magically going to happen."
Attendance at training sessions in his local area is starting to pick up, however, as "people are now realise September is here, I better go and get some training".
Teaching of the new curriculum will inevitably improve over time, providing properly funded training continues to be available, said Miles Berry, principal lecturer in computing education at the University of Roehampton.
"Think of this like agile development, an early release. We've got what I hope is a minimum viable product this year, but this is something where there will be a process of iterative development, of getting better at how we teach this."
Preparing schools to teach this new curriculum might not take 10 years, but it's certainly going to take longer than one day.