Page 1 of 2
Is programming a topic that should be taught in schools? Or should we let kids discover it for themselves? Recent evidence suggests in Vietnam half of the students in grade 11 classes could pass the Google interview process! This is not good enough - grade 11 students everywhere should be able to pass the Google interview.
Earlier this week Microsoft announced it was including a Kodu Challenge as part of the Imagine Cup. We welcomed this as an indication that Microsoft was acknowledging the impending crisis of insufficient STEM, and specifically Computer Science, graduates joining the work force to meet the ever-increasing demand for such skills.
But is this the right response - or does it just let schools continue to treat learning to program as some fun and optional activity rather than putting it into the mainstream curriculum?
The argument that :
Every student in every school should have the opportunity to learn to code
is being made in a high profile way on Code.org, a new website that was recently launched with support from "leaders and trendsetters" including President Bill Clinton, Bill Gates, Mark Zuckerberg, and Salman Kahn.
However, while these luminaries all agree that coding is an important skill, there is only one explicit mention of the word "curriculum" among the over 80 quotes listed. Opinion seems to be divided as to whether programming should be a subject with the same status as math or chemistry or an optional experience.
The State of US Computer Science Education
One of the facts that Code.org is trying to draw attention to is the fact that in 9 out of 10 US schools, computer programming isn't included on the school timetable.
The UK tries to reboot CS in schools
In the UK the debate about what to do about Computer Science has received attention from The Royal Society in conjugation with the Royal Academy of Engineering (also in our news this week for inaugurating the Queen Elizabeth Prize for Engineering).
In the foreword to its 2011 report titled Shut down or restart? The way forward for computing in UK schools, the President of the Royal Society, Sir Paul Nurse writes:
Computing is of enormous importance to the economy, and the role of Computer Science as a discipline itself and as an ‘underpinning’ subject across science and engineering is growing rapidly. This alone is motivation enough, but as this report shows, the arguments for reforming Computing
education are not purely utilitarian. It is becoming increasingly clear that studying Computer Science provides a ‘way of thinking’ in the same way that mathematics does, and that there are therefore strong educational arguments for taking a careful look at how and when we introduce young people to the subject.
So we have a highly influential scientist recognizing the importance of computer science education. However, the report makes for gloomy reading for anyone already committed to this point of view. It states:
The current delivery of Computing education in many UK schools is highly unsatisfactory. Although existing curricula for Information and Communication Technology (ICT) are broad and allow scope for teachers to inspire pupils and help them develop interests in Computing, many pupils are not inspired
by what they are taught and gain nothing beyond basic digital literacy skills such as how to use a word-processor or a database.
Even this quote indicates some of the problems in getting the sorts of skills we need included in the curriculum. Being able to code is a skill that is sandwiched between computer science above and computer literacy below. It is too easy to slide down into simply using applications such as word-processors or up into the abstractions of computability and symbolic logic. It is difficult to keep the objective of being able to create useful code in the sights.
IThe report explains how tthe current unsatisfactory situation is perpetuated using this diagram, which shows that a shortage of teachers with appropriate skills and the ICT curriculum therefore being reduced to the level of digital literacy means we can't break out of a vicious circle.
The existing ICT curriculum was abandoned in English schools in 2012 with schools encouraged instead to find alternative resources on the web to pug the gap. More recently Computer Science has been put on a par with other sciences and has been added to the list of core academic subjects that are counted towards school performance measures.
Computer Science Down Under
Other countries appear to be much more open to the importance of teaching kids to program.
In Australia a document outlining a proposed Technologies curriculum was published last month and it offers a prospect of starting to introduce digital technologies and algorithmic thinking at an age when children are most receptive to it - i.e. at or before age 7 - and continuing to develop their programming skills over their entire school career.
The Draft Curriculum for digital technologies proposed that at the very start of their school careers. (Foundation to Year 2) students should begin thinking computationally by using the power of digital systems in their play with, for example robotic toys or when performing everyday, repetitive tasks with greater efficiency. For example, they are expected to: Follow, describe, represent and play with a sequence of steps and decisions needed to solve simple problems.
In Years 3-4 they: Design and implement simple visual programs with user input and branching, in Years 7-8; Develop and modify programs with user interfaces involving branching, repetition or iteration and subprograms in a general-purpose programming language, and in Years 9-10: Use agile development techniques to iteratively and collaboratively develop (design, implement and test) software that meets user requirements.
OK so this currently has the status of a proposal but it does demonstrate commitment to incorporating real computer science on a nationwide basis which is in stark contrast to the US where in most states it isn't treated as a core academic subject.