Two Computer Scientists from the School of Electronic Engineering and Computer Science were asked to contribute chapters to a new A to Z practical guide for School Teachers.
Paul Curzon, Professor of Computer Science and Jane Waite, Teaching Fellow and Public Engagement, Outreach and Teacher CPD Co-ordinator at the School of Electronic Engineering and Computer Science, have contributed chapters to a new book about teaching introductory programming.
Computer Science in K-12, has been written by experts from around the world to give guidance on how to teach introductory programming. It aims to help current and aspiring K-12 computer science teachers (school level teaching) build both content, knowledge and pedagogical content knowledge related to teaching introductory programming.
The book comprises of 26 chapters written by 40 educators, covering the most fundamental concepts and practices and well-researched pedagogies related to introductory programming in K-12 computer science. Together, the combined knowledge brings an unparalleled breadth and depth of experience from across research, curriculum design and/or classroom practice across all education levels.
J: I was emailed by Shuchi Grover, who is the editor for the book and asked if I would like to write a chapter with her for it. I know Shuchi from the general computer science education community.
P: I was originally working with Jane on her chapter, but Shuchi thought my work would be better included in a new chapter so I switched to working on that instead.
J: My chapter is about how to teach programming using a number of specific techniques and approaches. These approaches scaffold (or support) learners in different ways. One of the ways is through getting learners to read code, another about combining different techniques into a particular order. An example of this is an approach called PRIMM. In PRIMM, the learner first predicts (P) what a sample program will do, they run (R) it, then answer questions about the program (Investigate), modify (M) the program and then make (M) a new program which uses the same concepts and constructs. I worked on the research project on PRIMM and I co-authored several papers and journal articles on it.
P: My chapter is about the importance of guided exploration in computing. Although it is important for students to actively learn and explore concepts themselves, as a teacher you need to provide a framework 'scaffolding' for activities to ensure they are learning productively.
This chapter focuses on 'unplugged computing' which is teaching programming using activities away from computers. As well as using more traditional programming activities, I have had significant experience of teaching ‘unplugged computing’ through role play activities, storytelling, games, puzzles and magic. I’ve also created hundreds of such activities, which have been adopted by many school teachers from across the globe. These can be found on the Teaching London Computing website.
In addition, this work is underpinned by my research with Prof. Karl Maton (Un. Of Sydney), Jane Waite (QMUL) and Jim Donohue (Manchester Met) on semantic waves - a way of understanding how to give really good explanations and powerful learning experiences. This leads to a series of dos and don’ts about how to design this type of activity. We give a series of specific activities but in a structure of how teachers can create their own learning experiences. It is based on my personal experience teaching undergraduates to program for over 25 years as well as teaching computing teachers.
J: There is quite a lot of research on how to teach programming, both for undergraduates and for school-aged pupils. However, most of this research has not filtered through to the classroom. This book is a translational piece of work which introduces school teachers to research. Rather than the research being set in the context of the original studies, the research is presented as practical classroom activities and is written in school, rather than research, vocabulary. The research is kept to the end of each chapter, as further reading. The book will make an enormous difference to the quality of teaching and learning of programming.
P: It is significant because it takes research about how best to teach programming and writes it up in a practical way with advice for teachers to follow. It is built on strong pedagogy - solid approaches to teaching that research shows leads to better learning.
J: This book will highlight the importance of research in computer science education. At present, there is no money in the UK to fund this type of research. Three strands of research that I work on are featured in this book, including my PhD work on Design, my work on PRIMM and my work Semantic Waves. I am an unfunded PhD student in the EECS Education lab, without the support of the faculty my work in this area would not be possible. I hope that this initiative will help us persuade universities to support students, like me, and to back up the case to funding bodies that we should be investing in computer science education research. This research has a direct impact on pupil's experiences, their opportunities to be more effective digital citizens and on the improved use of technology in society.
P: It matters as computer science including programming is now compulsory in schools being taught from primary school upwards. The change was made really quickly and as it is a really hard subject to teach anyway, it’s been hard for teachers to gain the experience fast enough to teach it well.
The big aim is to help teachers across the UK and worldwide to be able to teach programming really really well. We hope the book will help give teachers the deep understanding they need, based on the wealth of experience from the expert authors, and as a result, more school students will learn to program and learn to love programming. This in itself is important for society, as to do well in our technological advanced world, everyone needs a deep understanding of how gadgets really do things, whether they become programmers or teachers, nurses, judges or in fact, just about any career.
Computational thinking, the skillset behind programming, matters for everyone. If people can understand it then society can make good decisions about its ethical use of software.