Thursday, 16 January 2014

Teacher CPD on Computing

We taught the first session of a six evening set of twilights at our centre on Tuesday 14th January to a group of 8 teachers from Doncaster and Sheffield. The session was lively and interesting with lots of ideas about the Computing Programme of Study and the challenges facing teachers.

One of the key issues was a lack of understanding in school leadership about the significance of the change that ICT teachers are facing. In September 2014 they will be faced with the prospect of teaching a different subject to the one they have taught for the last decade. This is unlike the changes to most other subjects where the change is about the content of the programme not the organising principles and ideas. It is a mistake to underestimate the nature of the challenge. As one delegate said - "I didn't become a teacher of ICT because I wanted to teach programming ... I'm hoping that this course will make me excited about the prospect of doing that."

I was pleased that the delegates were able to see how vague and open to interpretation the programme of study at KS3 really is. This was one of the aims of our session - to make it clear how much scope departments do have to construct a KS3 curriculum that fits with their students' aptitudes and interests. It is a very different approach to the old National Strategies philosophy which was to prescribe in detail what needed to be taught and how. Whilst we may not like every change of the last 4 years this move to give teachers greater professional judgement does have its merits.

These are a couple of things the attendees said in our post session survey: "The session provided a great platform for the rest of the course"
"The session was very informative and enjoyable, I feel future sessions will be equally useful and look forward to them."
If you want to attend a future instance of this course look at the dates scheduled here. If you'd like the course run in your location we can do that too - just email ajones (a) sheffieldclc dot net

Friday, 10 January 2014

Secondary Computing

This post is a collection of ideas about Secondary Computing that have arisen from two years of work on these issues with and for schools. In particular I have been heavily involved in the last three months in working with a CAS (Computing at School) Master Teacher and a couple of helpful people at Sheffield University Computer Science Department to create a sequence of six twilight sessions on becoming a teacher of Computing.

The Computing at School organisation has taken a prominent role in supporting the new curriculum. Their site here has a list of events that offer CPD, apart from those directed at helping deliver GCSE Computing the biggest other group of events are ones looking at a particular programming language, for example there is "Python 3 programming for beginners" or "Python in a Nutshell". Numbers of teachers are paying to be taught programming languages of one kind or another. This is a mistake, a very understandable mistake but a mistake. Teachers are very concerned that they will be teaching something they don't know how to do. It isn't clear how a half-day training will enable teachers to become expert Python coders, but even if it did teachers would then face the much more daunting task of teaching this material themselves. Possibly they might reproduce the training they have received and deliver that to the young people in their schools. A careful reading of the Programme of Study indicates that if they were to do so they would be unlikely to cover what is required at KS3. The programming elements of the Programme of Study are daunting to teachers who have no experience of coding, but I believe (based upon my own experience in the classroom) that programming can be taught very well without an expert knowledge of the particular language being used. Most of the key ideas in programming can, and possibly should, be taught away from a computer. I think the first priority for ICT Teachers who want to be able to teach Computing is to understand the demands of the new PoS and the conceptual framework of the subject.

The Programme of Study for KS3 starts with this "A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world". It doesn't seem very sensible to ignore "computational thinking" (CT) if you are trying to develop a scheme of work to teach at KS3. There isn't, unfortunately, an authoritative definition of the term.

Steve Hunt, from the School of Computer Science, University of Hertfordshire discusses what CT means in the latest issue of the CAS newsletter (here).
"Computational thinkers gain the ability to model problems in a manner that makes them amenable to computational solutions. Where others merely see instructions, actions and things, computational thinkers are able to see algorithms, processes and data.""Where 'ordinary' folk make little distinction between what needs to be achieved and how it should be done, the computational thinker is aware of the difference between results, and the processes by which results are obtained, and can see how to decompose problems, and how to use computing to solve them."

It is commonly agreed that CT is a set of thinking skills. The skills that should be included are contested in the academic literature. A review in 2013 by Shuchi Grover and Roy Pea (available here) offered the following summary of the skills involved
  • Abstractions and pattern generalizations (including models and simulations)
  • Systematic processing of information
  • Symbol systems and representations
  • Algorithmic notions of flow of control
  • Structured problem decomposition (modularizing)
  • Iterative, recursive, and parallel thinking
  • Conditional logic
  • Efficiency and performance constraints
  • Debugging and systematic error detection
Whilst this list is comprehensive it isn't terribly helpful to a classroom teacher trying to organise content for students. For example it's very difficult to understand, yet alone teach students, what is meant by "parallel thinking". Anyone reading this who can offer a simple explanation of that idea; would you please add it as a comment?
I think the formulation by Cynthia Selby is much more useful for organising curriculum content. She wrote a paper for the TiCSE Conference 2013, at the University of Kent "Computational Thinking: The Developing Definition" where she offered this formulation: "computational thinking is an activity, often product oriented, associated with, but not limited to, problem solving. It is a cognitive or thought process that reflects the ability to think
  • in abstractions, 
  • in terms of decomposition, 
  • algorithmically, 
  • in terms of evaluation, and 
  • in generalizations.”

Having a set of thinking skills that are revisited explicitly with students as they move through KS3 is a very good thing to do. A meta-analysis by Dehnadi et al. (2009) found one factor that is a strong predictor of success in a programming course: a mental model of programming knowledge. Students with a mental model of programming that they applied consistently to solving computing problems had an 85% pass rate compared to students without a consistent model, who had a 36% pass rate (Dehnadi et al., 2009). (from Subgoal-Labeled Instructional Material Improves Performance and Transfer in Learning to Develop Mobile Applications - Margulieux, Guzdial, Catrambone). John Hattie in Visible Learning offers compelling evidence that meta-cognitive approaches in many contexts have a strong effect on learning.

The criticisms of ICT that were made by the Secretary of State and others in 2011 and following were a caricature. There were many places where ICT was simply taught as "one damn thing after another", but there were places where it was a stimulating and engaging experience for students. Looking at the Computing PoS it looks to me like we may be in danger of replacing one problematic subject with another. Without an organising conceptual framework for the subject Computing could just as easily become a succession of seemingly unrelated topics; python for three weeks then how the CPU works for four more. CT offers a way of providing coherence to the subject. A spiral curriculum where skills are revisited across the key stage would offer students a way of tracking their own development, teachers a way of linking work in differing programming languages and a framework for assessment. For example a problem that students decompose in year 9 may be utterly different from a problem that was tackled in year 7, but the skills of decomposition, abstraction and algorithm design can be directly compared. Students with a view of their own developing mastery of a subject are not only better motivated but also more likely to have a deeper knowledge of the subject.

If you want to learn more about these ideas and other insights my team and I have been developing then sign up to one of the iterations of our 6 session ICT to Computing courses.

Add to Technorati Favorites