Time to re-load? Computational Thinking and Computer Science in Schools

Snapshot—April 5th, 2012 In Chicago today the Obama re-election campaign is set to be the most technically sophisticated ever seen with voters being wooed via Twitter and Facebook, and digital technology along with those who understand how to build and use it set to play a key role in influencing people’s decision making. Across the Atlantic in the UK we face an abundance of choices about how to exploit and use technology, and this poses an enormous challenge for both the current and future education of our children. The realisation that we need people who can produce as well as consume technology has brought a new energy and excitement about computer science and computational thinking, which is being heralded by some as the new literacy of the 21st century. The technology revolution has changed the way many of us work and interact, it has generated new industries and new
businesses, and it is natural that we now look to schools, teachers and the education system to help us to understand how we might best prepare our children to live, work and make best use of what computer technology offers.

But how best can we do this?

A mess? 2012 has seen the Secretary of State for Education state that “ICT in schools is a mess” and he has called for a new approach with the hope that technology can be used creatively to develop curricular content: the ‘wiki’ curriculum. What is happening with ICT and computer science education in schools has also been the subject of a 2011 Naace report entitled “The Importance of Technology”, an Ofsted report on ICT in schools, and the importance of providing young people with the skills required by the new workplace is captured by Nesta’s Next Gen report. Clearly there is growing concern and government commitment to change, so what change should we make and why?

Is Computer Science the answer? Computer science is an important element of the debate. The Royal Society’s 2012 ‘Shut down or restart?’ report suggested that a sound understanding of computer science concepts enables people to get the best from the systems they use, and to solve problems when things go wrong. However, computer science is evolving rapidly and its interdisciplinarity means that its evolution touches on many domains and every day life. There are significant challenges for those interested in how best to include it in the curriculum.

Are we sure we know what we want to change? There is already some excellent teaching of ICT and computer science in some schools within the current curriculum and programme of study, so not everything is wrong. Care needs to be taken that the changes we make do lead to a better learning experience at school: an experience that inspires and educates. But, are we clear about what is wrong with computer science and ICT in schools now? Can we be precise about the rationale for what learners at different stages need to be taught? What do we want learners to be able to achieve as a result of studying computer science? Where do ICT and computer science fit in the structure of the school curriculum: media, design, science, cross-curricular?

How can learners tap into the power of computational thinking? The skills of computational thinking can be taught with or without computers, by exploring how processes work, looking for problems in everyday systems, examining patterns in data, and questioning evidence. With a computer, learners can put their computational thinking into action. Could a focus on computational thinking better equip learners to use their understanding effectively and to learn how to apply a range of computing tools? Writing the code that makes a computer behave in a particular way is a creative pursuit: reflecting on what you have constructed is a key part of learning. We may therefore valuably ask: How can we develop good computational thinking for children?

Are we looking in all the right places? Are there less obvious areas of research that might help us answer some of these questions? For example, many people encounter the experience of Flow and are all too familiar with the experience of losing themselves in a task. Might the idea of Flow itself help us understand the learning process in computational thinking and computer science? Researchers in the psychology of programming have spent decades exploring how people learn to code, surely their expertise needs to be drawn into the debate?

There are no short cuts to answering these questions. The process of addressing them requires an interdisciplinary and participatory approach that involves groups from across the sectors that is inclusive in nature and powerful in design. This will require an approach that is new to society, schools, teachers and learners: a process that must be both flexible in its thinking and realistic in its understanding of the role of schools.

Tomorrow we will be having a debate about some of these issues at the London Knowledge Lab and I’ll report back on how that goes.

Read our briefing paper (from which the above text is taken)

Follow the event through illuminate – go to http://link.lkl.ac.uk/e-meeting for access to the live stream.

Thinking like a computer or computing like a thinker?

In my last post I finished with a comment about pop-11, a langauge designed to help novices learn how to program and to grapple with Artificial Intelligence. I also included an image of the Eliza programme an early example of natural language processing designed in the sixties by Joseph Weizenbaum at MIT. The computer user typed in questions and the ELIZA programme appeared to make human like responses. It worked on a script and when the user started to ask questions that were outside the script, ELIZA struggled. Probably the most famous example of the ELIZA programme was that of a psychotherapist, but my version of the ELIZA programme was one of the first pieces of code I ever produced in pop-11. I found pop-11 a good way into programming, it enabled me to get something up and running quickly, it helped me to start thinking in a particular way and it introduced me to the practical design and application of algorithms. My ELIZA program took on the personna of a politician, and it was surprisingly realistic and succeeding in writing a program that worked and produced a dialogue gave me a huge amount of pleasure. You know the sort of thing:

John: You don’t seem to be having a very good week

Teresa: Why do you think I am not having a very good week?

John: Well it looks as if your attempts to deport Abu Qatada have been stalled

Teresa: My attempts to deport Abu Qatada have not been stalled

John: But you acted too early and you have left him a days window to appeal

Teresa: I have not acted too early and I have not left him a days window to appeal

John: Do you not think that the three month deadline ended after you arrested him?

Teresa: I do not think that the three month deadline ended after I arrested him?

John: Are you sure that you have counted the days correctly?

Teresa: I am sure that I have counted the days correctly?

John: Is it not possible that you and your team have made a mistake?

Teresa: No, it is not possible that me and my team have made a mistake?

John: So have the European Court confirmed that you and your team have the correct deadline

Teresa: I have confirmed that me and my team have the correct deadline

John: But have the European Court confirmed this

Teresa: I don’t know why you are asking me if the European Court have confirmed this

John: Because the European Court will now decide if there is time for Abu Qatada  to appeal

Teresa: I don’t know why you are asking me if the European Court have confirmed this. I have confirmed that me and my team have the correct deadline

John: But we need to know if the deadline you used was correct

Teresa: I don’t know why you are asking me if the European Court have confirmed this. I have confirmed that me and my team have the correct deadline

John: We seem to be going around in circles here

Teresa: I have not gone around in a circle I travel in a Jaguar: a circle is a simple shape of Euclidean geometry consisting of those points in a plane that are equidistant from a given point, the centre

John: !

To code or not to code, if that is the question, what is the answer?

I was struck by the item on the R4 Today program this morning at 8.45 ‘ish when Rory Cellan-Jones told us about his day course at Decoded, through which he, as a complete novice, built an app. You can see his app and his story on the Today website, and as Rory points out “coding is cool – the government is listening to those calling for it to be taught in schools, and executives are signing up for courses.” This has prompted me to reflect on my own programming experiences and to make this the subject of a few posts over the next few days and running up to our next “What the Research Says” event on computing in schools.

I am a member of the BBC micro generation who first came across computing through using this delightfully frustrating device. However, I was not a member of the young audience at whom this machine was aimed, but the wife of a teacher who became intrigued by what her husband was up to in his office. Having secretly mastered the manoeuvre of disk swapping that got you started with the BBC micro my appetite was whet and I enrolled for a course at the local technical college. When I went to sign-up I said I wanted to learn about computers and I was asked what I meant by that. I had no clue why they were asking me this question, because the answer seemed obvious to me – I wanted to learn how the computer worked of course! However, I was offered a range of courses that would take me into the realms of managing a spreadsheet or learning to word process as well as learning how to write a program in basic – no brainer of a choice for me then. I duly arrived at my first evening class ready to build something, no idea what, but something. I loved it, even though my outputs were modest:  a greeting on the screen (you know the one), a date reminder, but I was hooked. I wanted more and much to the bafflement of my husband and to my children aged 5 and 3 I announced that I was going ‘back to school’ and was going to apply to read Computer Science and Artificial Intelligence at University. I was a distinctly mature student and was a little afraid that I would be the ‘silly old woman at the back of the class’. My fears were unfounded – most of us felt silly when it came to programming, because for most of us it was very, very hard!

After my BBC basic baptism, I entered the heady world of pop-11 a langauge designed to help novices learn how to program and to grapple with AI.

 

To be continued….

Let’s talk about what the research says: Industry, Academia, Learning: 7 days to go

Vanessa Pittard DfE, Richard Noss TEL Research Programme Director, BESA, Intellect, ALT, and Demos about research inspired technology enhanced learning to tackle challenges from teenagers’ energy consumption to social communication in a multimodal virtual environment for youngsters with Autism Spectrum Disorders. What the research says event at LKL now has a waiting list for places! Clearly people do want to talk.

Speak to Me

Debugging ICT in schools, and something for the old folk too

As New Year fitness resolutions come and go and birthdays add another year, one can’t help but contemplate what to do when one retires, these thoughts are fuelled by media and political attention to retirement age and the plight of the elderly within the NHS. For many years now I have told my children that I intend to study horse and dog racing when I get old. I believe that working out the odds will help to maintain my cognitive faculties, that following the races live, on the TV or radio will provide some excitement and that discussing the latest form of horses, riders and pundits with other fans will help to keep my social skills on song. Of course, this assumes no medical disadvantages to my capacities, but all being well this is an attractive plan.

More recently however, I have felt that this plan lacks any contribution back to society on my part, other than trying to ensure that I keep myself in good shape and reduce the chances of being a burden to my children. I have now added to my retirement plan rekindling my interest and skills in computer programming. There was a time when I was frequently to be found with a flask of coffee at 3am sat at my computer coding away. I could lose all sense of time when engrossed in trying to design a solution or debug a problem and could end up taking my children to school without having been to bed at all. I don’t want to return to these days of sleep deprivation and caffeine overload, but I do want to get back into the exhilaration of writing a recipe that makes something happen for me, for others and in ways that are not necessarily predictable: I want to hack for good when I get old. I may even be able to finesse my desire to follow the dogs and horses with my programming activity, and as I pointed out to my family, if I end up inadvertently doing something illegal, I could perhaps end up in the cheapest old people’s home a family could find, with regular meal times and exercise, plenty of time to think and work and regular visits from ones loved ones.

What is it that makes me want to go back to programming?

Perhaps it is a hankering for those halcyon days when I was younger and had the time to play, or when my studies and work required that I did; these were the days before I had to manage projects and have other people do the coding for me. It was when I had time within my working week to keep up to date with developments in a way that simply isn’t practical now. Or perhaps it is a realization that my dislike of ‘app culture’ is that it makes things too easy for people to do things without understanding how that thing is being done, and I like to understand how things are being done.

Is programming for everyone and should we all be learning to code?

I liked coding when I had the time to enjoy it and do it well and that is what drives me to go back to it, but I know many people who studied at the same time as me who hated coding and could not wait to stop having to do it. The benefit of understanding computer science, including coding is that it gives you the power to build things, like apps, rather than merely use them; to make things happen, rather than have them happen for you without understanding how or why; and to be part of a vibrant global community of people who like to code and work together to change the way that we interact with our technology. For a great example of young people developing and building innovative technical applications see the winning entry from Blatchington Mill School in Hove, to the Pearson Innov8 competition.

BLATCHINGTON Mill School version.

However, it isn’t for everyone and does not necessarily need to be. We certainly need a more technologically literate population, as noted by the Foresight Wider Implications of Science and Technology Report and the recent Royal Society report into the teaching of computing in schools. There is insufficient technological literacy to enable us to recognize and exploit the significant technological advances being made, but is everyone learning to code the answer?

The importance of being able to program was also amongst the virtues extolled the Secretary of State for Education in his recent opening address at the Bett 2012 exhibition and we should certainly give children the opportunity to learn to write code, to build applications and to get involved.

Gove at Bett2012

We all recognize that this means that we need to make sure that we have a teaching workforce who are equipped to teach such skills and that it needs a place within the curriculum and the school day. However, this is not a once and for all task, as is exemplified by the outdated and now obsolete ICT curriculum. The field of computing and programming changes at great speed and those who are part of it can be part of these changes. This dynamism and evolutionary speed means that the normal educational frameworks need adjusting to accommodate teaching a fast-moving, flexible and massively authored curriculum. It also has to be said that teaching, both the fundamentals of computer science, including programming is difficult: extremely difficult. Of all the teaching experiences I have had, the teaching of programming to undergraduates was the hardest subject area I have ever had to tackle. I wonder therefore how we really will maintain and support an expert computing teaching community.

There is of course a great role for technology itself to support the training and CPD of teachers and indeed to support the teaching of programming. For example, technology can provide a communication environment in which facilitators guide and link discussions so that practitioners share ideas, questions and probe more experienced, knowledgeable colleagues beyond their home workplace. But to build these sorts of networked practitioner forums through which teachers may form learning communities, they need to be provided with:

  • funding for practitioner time buy-out and small operational costs;
  • support for the roles of leading and co-ordinating facilitators, and
  • encouragement for self-organising communities, such as TeachMeet.

There also needs to be an acceptance that the benefits may not be immediate – practitioners and managers find it difficult to integrate technologies into their context. Their attitude and confidence with technology impacts on uptake and innovation requires. In the same way that Mr Gove accepts that his reforms may lead to a lowering in the number of top grades at GCSE and A Level, school leaders need to accept the possibility of some initial ‘failure’, and systematic mechanisms for dissemination by innovative teachers.

Technical skills alone are not enough

There is much more of importance that needs to be understood if people are to be able to build and use technology effectively and exploit its benefits for good. Students need to understand how people interact with and use their technologies to best effect. This is an interdisciplinary enterprise that includes social sciences as well as computer science. In order to build engaging applications of technology that are suitable for their purpose, students need to learn about the motivational and subjective experience of developing and using technology as well as the objective. Without this attention to Human Computer Interaction there is a risk that students will be unable to apply their new found technical prowess in ways that are effective for society and that will bring back the UK’s computing cutting edge.