What Makes an Effective Computing Lesson

Introduction and Context

The adoption of computer science (CS) within the national curriculum (NC) was only four years ago in 2014 and arguably UK secondary school education was slow to embrace the new CS curriculum – Busby, H (2016). A change in paradigm between the skill-focused delivery of ICT and the conceptual-focus delivery of CS is required. The Department of Education ([DfE], 2013) clarifies the end-goal of CS in the first sentence of the NC for Computing: “A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world.”

The vast array of education literature, from policy to professional guidance and academic research, is indicative of many factors that can influence the effectiveness of a CS lesson. A traditional approach to understanding the effectiveness of a lesson would be judgement of tangible pupil output against learning outcomes. In a computer science lesson this may appear to be code but there are inherent pitfalls because it is possible for a pupil to simply copy and execute code without conceptually understanding what a program is doing.

A useful endpoint, then, to evaluate the effectiveness of a CS lesson would be to what extent a lesson helped students develop computational thinking (CT) skills; whereby programming serves as the formative assessment to ascertain the extent to which this understanding has occurred. The challenge to delivering an effective CS lesson is then essentially the challenge to teach children CT – appropriate to their stage of development. This assignment will explore the role of starter activities, within wider learning theories, in order to nurture CT skills.

Review of Existing Literature

The fundamental aim of computer science is about utilising technology to solve problems. It is useful to retain a relatively vague definition because technology constantly evolves; and the subject encompasses everything from low-level programming of micro-controllers through developing neural networks. The element of solving problems need not be more specific because the problems could be real-world, which are simulated in software, or they could be purely conceptual (mathematical) – indeed computer science itself can generate its own problems to solve. An effective computer science lesson then delivers a skillset, a framework, to the leaner by which problems can be solved as the endpoint – as opposed to imparting knowledge itself (e.g. syntax).

This skillset is CT: A phrase in usage since the 1980s but gaining prominence, and precipitating much debate, when Jeanette Wing (2006) wrote an article in a widely deployed and respected journal, stating that “Computational thinking is a fundamental skill for everyone, not just for computer scientists.” This indicates that CT provides deeper benefits to pupils than a narrow set of skills for a limited scope. CT is then the fundamental scientific framework with which problems are understood and practical skills can be employed. Table 1 summarises the aspects of CT.

Table 1 Summary of CT aspects based on Sentance, S., Barendsen, E., & Schulte, C. (2018, Chapter 3.4)

AspectExplanation
Logical Thinking The ability to analyse problems and reach a solution. In CS, this is Boolean logic and constructing expressions based on operators (e.g. AND, OR, NOT).
Algorithmic Thinking The procedures involved in solving a problem, which typically involves sequence, selection and repetition.
Pattern Recognition Being able to recognise patterns provides the basis for generalisation or iterative/recursive models; or being able to re-use solutions for various parts of solving a problem.
Abstraction Regarded as the most important aspect of CT whereby detail is reduced to enable simplification and focus on the input and output. This is key to producing algorithms and models, which simulate real world complexity.
Evaluation The ability to analyse whether a solution is correct and appropriate. In CS, this is usually against criteria of efficiency or resource usage, for example.
AutomationUnderstanding which abstractions and data representations are most appropriate for a machine to automate a solution. Distinguishing between which elements are best solvable by machine versus a human.

Sentance, S., Barendsen, E., & Schulte, C. (2018, p.30) states “there is little debate that computational thinking is about more than codifying a solution for execution by a computer through programming and that it is the loftier, more worthy goal of CT that we must strive to achieve through appropriate pedagogies even when students are engaging in programming”. The next section will explorer wider theories on how this goal can be achieved.

Learning Theories

Guidance can be found amongst the plethora of literature that has emerged over the last century to present various theories of how children learn and subsequently, how then best to teach. The earliest theories of learning are regarded as behaviourist approaches – what is observed and the idea of rewarding desired behaviours – operand conditioning. There are limitations to this approach and Pritchard, A. (2018, p.29) states, “Using a behaviourist approach in the classroom seems to be most effective when applied in cases where a particular child has a history of academic failure; where there is very low motivation and high anxiety; and in cases where no other approach has worked.”

The opposing, constructivist, view of learning is described by Pritchard, A (2018, p.37) as “the result of mental construction. That is, learning takes place when new information is built into and added onto an individual’s current structure of knowledge, understanding and skills. We learn best when we actively construct our own understanding.” The author continues to define four areas for learning as knowledge, concepts, skills and attitudes. Bates, B. (2015 pp. 46-48) summarises Vygotsky, a chief proponent of the constructivist perspective: “knowledge and thought are constructed through social interaction with family, friends, teachers and peers” and “learning occurs through social interaction as being in the Zone of Proximal Development (ZPD)”. Being in the ZPD is where learners “developed an understanding of a subject beyond their previous level of comprehension”.

Perhaps then a fundamental challenge to delivering an effective CS lesson, with the aim of nurturing CT, is to move away from the historically traditional approach of simply teaching programming on a computer. The layouts of many CS classrooms do not support this paradigm: There is a personal computer provided per child where children sit facing away from the collective, and this configuration does not readily lend itself to collaborative social learning. Pupils present with many barriers to learning and the preconception that CS is a solitary pursuit may be counter-productive, according to Zygotsky’s model, where pupils desire social interaction to learn.

Sentance, S., Barendsen, E., & Schulte, C. (2018, p.30) states: “A couple of other elements, though not considered part of CT in earlier definitions of CT, are often described as common practices in computational problem solving. These include collaboration and creativity. Both are acknowledged as critical competencies for a new century, but they do have a special meaning in the world of computer science.”

Zygotsky, cited in Bates, B. (2015 pp. 46-48), developed the concept of scaffolding, which describes a teacher’s role to support pupil development and outlined some principles:

  • Build interest in the subject and engage with people.
  • Break the given task into smaller sub-tasks
  • Keep the individual or group focused on completing the sub-tasks but don’t allow them to lose sight of the main task
  • Use MKOs to support people
  • Model possible ways of completing the task, which individuals can imitate and then eventually internalise (Bates, B., 2015 p. 47)

In summary, scaffolding is the process by which a teacher models how to solve a problem and then steps back, in a more facilitative role, to only offer support where required as learners utilise their new-found knowledge and skills to further their learning.

This constructivist perspective to learning aligns appropriately with the evidence that “Many computing concepts have links to everyday objects and real world ideas so the use of analogy is a powerful to scaffold students’ understanding”. (Sentance, S., Barendsen, E., & Schulte, C., 2018, p.92). Perhaps then a fundamental challenge to effectively teaching CT is to move away from the historically traditional approach of simply teaching programming on a computer, to using activities with which students are familiar. As this culture of collaboration is paramount to developing CT in order to deliver an effective CS lesson; the question then arises as to how this can be achieved and at what stage of the lesson.

Starter Activities

Starter activities seem to be a de-facto component of lessons in secondary education and their benefits are widely acknowledge. Capel, S., Leask, M., & Younie, S. (2016, p.92) state “It is usual to begin with a starter task to engage learners from the very moment they enter the classroom.” One of the benefits is to ‘set the tone’ of the following lesson – the classroom climate.

Classroom climate, as the embodiment of the routines, instructions, management of behaviour and interactions has long been viewed as critical to determining effective learning and teaching. Over two decades ago, through analysis of research, Wang, M., Haertel, G., & Walberg, H. (1993) placed the impact of classroom climate almost as high as, and second only to, student aptitude – illustrated by figure 1.

Figure 1 Table showing the average influences on learning – from Wamg, M., Haertel, G., & Walberg, H. (1993, p.79)

Simmons, C and Hawkins, C (2015, p. 68) state “A good starter provides an opportunity to set the scene, excite children, provide essential information and pose big questions.” – and that they are often used in order to set targets, demonstrate a skill or get pupils thinking. Lau, W. (2018, p. 83) refers to ‘classroom culture’ and informs a teacher: “Once you have established a positive learning culture in the classroom and your students are highly motivated and trusting, it will be possible to teach practically any computing topic.”

Daniel Mujis and David Reynolds are well-respected experts in the field of educational practice, occupying senior posts at the University of Southampton as the Chair of Education and the Professor of Education Effectiveness, respectively. Their publication, in its fourth edition over nearly two decades, provides a strong insight into a range of considerations that discuss effective teaching, drawing on evidence-based research and states “The most important aspect of classroom climate is the relationship between teacher and pupils.” – Muijs, D., & Reynolds, D. (2018, p.130 )

Student aptitude cannot be directly and immediately determined by the teacher, but classroom climate can be established by the teacher in constructing supportive teacher-student relationships. Dr Williams, an experienced teacher and academic, states that “Research tells us that the start of a lesson is the best time to engage the learner” (Williams, S., 2016). Ergo, it seems that the start of the lesson is the most important time by which the teacher sets expectations of students and indicates what relationship will exist – the ‘tone’ of the lesson. Lessons in secondary school teaching commonly follow the formula of starter activity, main teaching and a plenary – albeit variation as appropriate does exist. The starter activity, then, seems perhaps the most relevant point at which to reinforce a supportive the student-teacher relationship. A core component of using Vygotsky’s scaffolding model, as discussed earlier, is to “Build interest in the subject and engage with people.”

The Department for Education and Skills (2004) publication was prior to the adoption of CS within the NC but nevertheless provides strong research-based insights into the usefulness of starter activities, along with guidance. It highlights the following outcomes that a successful interactive starter can achieve:

  • pupils engage fully in learning from the outset;
  • they gain an understanding of the objectives and purposes of the lesson;
  • there is a sense of pace;
  • pupils spend most of their time on-task and focused on learning;
  • there is an appropriate level of challenge that enables pupils to make good progress in their learning. (Department for Education and Skills, 2004, p. 106)

As discussed previously, student preconceptions of CS can present as barriers to learning. Some students view CS as ‘difficult’ and therefore an unsurmountable challenge. Starters can constitute an early stage of scaffolding or scaffolding can be utilised within a starter to overcome this preconception. A common barrier to learning (across subjects) is a ‘fear of failure’ – often associated with summative assessment. This author’s conversations with pupils ascertained that starter activities are perceived as a ‘bit of fun’ and not consequential to summative grading, with which anxiety is often associated. This, then, presents starters as an ideal ‘guise’ by which the teacher can induce harmless failure in pupils to subsequently nurture a culture where mistakes are perfectly normal to the learning process; and the emotions associated with failure do themselves present as a barrier to learning.

Conclusion and Implications

It is evident from the literature that helping students to develop CT should be the primary goal of computer science lessons; because students who understand and employ these skills can apply them to new encounters and the benefits are even cross-curricular. CT is a framework, a mindset that must be directly targeted and one that is importantly engineered at the start of a lesson. Mastery tasks, that require no prior knowledge, are an excellent way of simultaneously delivering learning but, more importantly, building student confidence for further learning.

Sentance, S., Barendsen, E., & Schulte, C. (2018, p.92) emphasise “Many computing concepts have links to everyday objects and real world ideas so the use of analogy is a powerful to scaffold students’ understanding”.

Bocconi et. (2016) is a comprehensive resource for implementing CT within professional practice. It is produced by the European Commission’s science and knowledge bases service, the EU Science Hub. The report suggests that conceptual understanding is more achievable when using real-world experiences that students can relate to as opposed to launching straight into coding. Although correct syntax is a necessary part of programming, it could present as a barrier to learning concepts (especially for students with dyslexia). An article from an NQT in the Guardian, perhaps more anecdotal than academic in nature, (O’Callaghan, S. 2013) is nevertheless pertinent to this author as an ITT: “In hindsight, I focused a little too much on students learning the syntax of a particular coding language rather than embedding wider programming concepts, such as selection and iteration, something I’m going to change in my approach for the upcoming school year.”

Lau, W. (2018, p.79) discusses the importance of mastery whereby students “move from teacher-led learning to student-led learning” and that “Learners at this stage should be independent in their thinking and application of knowledge and skills.” A well-designed starter activity would elicit this behaviour so that students are comfortable with independent learning.

The table below summarises the determinants discussed of an effective computer science and proposes, then, the characteristics of a well-designed computer science lesson starter:

AspectContribution
FunThe starter activity must capture the attention of the students so that they are engaged with the forthcoming lesson, this may involve physical activity.
No prior knowledge The starter should not rely on prior knowledge, which could be absent, as this would be detrimental to confidence.
Relevant Any activity that is more relevant to students’ socio-cultural understanding is likely to result in better engagement.
Accessible The complexity of the starter must cater for a range of abilities to provide students with confidence for the remainder of the lesson. Resources or instructions may use different or complementary media such as verbal instruction or handouts.
Brief A starter between 5-10 minutes is a good length to motivate but not detract from the main learning in the remainder of a 1 hour lesson.
Computational Thinking Should contribute to one or more aspects of computational thinking.
UnpluggedComputer science starter activities can more effectively deliver critical learning concepts by removing any barriers (such as using a PC) and illustrate the underlying CT skills.

Thinking Skills Review Group (2004) discusses the impact of interventions to directly develop pupil’s thinking skills – an explicit aim of the National Curriculum in foundation subjects (ref the English NC). A conclusion for practitioners is that “Positive outcomes on pupil motivation and self-esteem may be registered before there is any tangible impact on attainment measured by standard assessments.”

Reflection on Practice

Circumstances at my placement meant that I focussed on one lesson to implement this study, which was the third lesson for a year 8 class during a scheme of work utilising the BBC Micro:bit. The class was mixed ability and consisted of 18 girls and 13 boys. Six pupils had SEN (including ADHD, Autism, EHCP, VI, Dyslexia) and one pupil was identified as ‘pupil premium’.

The host teacher informed me to deliver a lesson on constructing a digital compass using the BBC Micro:Bit; as determined by the scheme of work. Informed by my literature research, I deliberately structured the lesson so that I wasn’t teaching the class ‘how to make a compass’ but, crucially, ‘teaching programming concepts, illustrated by making a compass’. I planned my lesson (Appendix A), enhanced a powerpoint resource (Appendix B.1) and produced a help sheet (Appendix B.2) to reflect this paradigm.

I wanted the pupils to grasp the new concepts of loops and conditions, without programming code initially – which could later reinforce, not convey, understanding. Bell et al (2009) supports this idea and by using ‘unplugged computing’ activities, which provide “A focus on demonstrating CS concepts, rather than programming, as programming can be a bottleneck that prevents some students from ever finding out what the deeper concepts are.”

The class had missed two previous lessons and I only saw them weekly so, I was aware that I hadn’t had the opportunity to develop a strong relationship with them. In addition to contributing to learning, the starter needed to then be both accessible and fun: I used an adaption of the ‘Simon Says’ game.

I confidently addressed the pupils queuing outside with “Today we’re going to be doing something really exciting, so I want you to go in quickly and wait behind your chairs.” I addressed uniform issues with a couple of pupils on the way in – principally to assert authority. Despite pushing the desire to push boundaries, children appear surprisingly receptive to the establishment of rules. This approach is supported by a study from Cothran et al (2003), cited in Lawson, T. (2012) whereby student feedback indicated the importance of “Early, clear expectations and consequences. Students identified clear expectations as important and believed they should be clear from the start.” Setting expectation from the true lesson start, at first contact, seemed to pay dividends.

I was excited about the starter and lesson and noticing my animation, a fervour began to emerge among the pupils: An atmosphere of anticipation. Once registered and seated, I introduced the starter, and after clarifying everyone was to only action commands prefixed with “Simon Says”, I said “Okay, let’s begin, so everyone stand up.” Most of the class eagerly rose to their feet – to the smug amusement of those who noticed the absence of “Simon says” and remained seated. The uncertainty brought about our collective laughter. This provided the engaging atmosphere I’d intended but, more importantly, the first suggestion of a classroom culture where mistakes are fine.

The subsequent slide references refer to the presentation (appendix B.1). The first task was to raise a hand and I explained afterward with slide 2 that this was an if-else statement (with the implication that else, was to do nothing). The Powerpoint presentation enabled me to transition verbal instructions to visual code; with the benefit of being displayed for longer than a verbal command. I could see that one SEN pupil, in particular, valued this extended time to digest the instruction.

Subsequent instructions were presented as visual pseudo code-blocks (with commentary) where the conditions were now different – such as gender or current seated/standing state (slide 3). The pupils were now processing the visual instructions directly and deciding on the conditions, the visual-aid’s most important benefit was realised – I was now able to seamlessly transition to just presenting visual code blocks as instructions, without verbal instruction.

Some instructions caused confusion for some pupils initially (I was aware of a couple of SEN pupils that struggled) but they all persisted, nevertheless. The thirty seconds to action each slide took away any anxiety for the less-confident pupils to get it right straight-away. On a couple of occasions, I asked some pupils who did not perform the correct action to explain why they had reached their decisions. Explanations were useful for me (and the whole class) to see someone’s reasoning. When pupils realised errors themselves, with some prompting, they seemed keen to correct and progress to the the next step.

I introduced arithmetic comparisons for the lengths of names and the actions were clapping, waving, standing up and the pupils were keen to engage. Although the activity involved the whole class, it seemed to be very personalised because individuals were not able to simply copy others who may respond differently to the conditions. The pupils were however helping each other out with clues.

The starter enabled me to employ scaffolding as we had gone from verbal “Simon Says” to visual conditions involving Booleans and while loops. The pupils grasped the while loops without issue but few understood the Booleans. I suspect that explaining the term “Boolean” prior to the Boolean-condition instruction was disconcerting and on reflection it would have perhaps been preferable to have them undertake a Boolean-condition instruction and then afterwards, explain that they had used Boolean logic. Jargon in any subject presents a barrier to learning because it is a new word to learn with, of course, an associated new concept. I speculate that it would be more effective to introduce the concept in an accessible manner, via an activity (e.g. if you are a girl and your name begins with a vowel) and after successful completion, to have informed the class that they had been using Boolean logic.

The starter activity exceeded the 6 minutes intended and lasted for 12 minutes – detracting from remaining lesson time. Simmons, C and Hawkins, C (2015, p. 69) confirm that “It is easy for starter to overrun. You need to make a professional judgement here; if the quality of discussion and learning is good then you may need to be more flexible in the use of the planned lesson time.” However, Boolean logic should have been omitted because it was inconsequential (in retrospect) as the relevant activity was not undertaken later.

The host teacher’s feedback (appendix C) stated that, despite the class being typically well behaved, “through the use of an engaging start activity, students were particularly motivated”. Their motivation was evident from their excitement to quickly log on to PCs and collect Micro:bit devices. It was more subtly evident in the questions they asked me as they were working through the coding problems. Pritchard, A (2018, p.33) “Early success is likely to increase a child’s selfesteem and add to the child’s motivation to carry on.” and this persistent was evident when I restricted myself to only prompting students to review code (without providing answers) and the students didn’t seem frustrated but were happy to rectify their own errors. It is hard to solely attribute this motivation to the starter activity, but my ‘intuition tells me’, it likely helped.

Host teacher feedback (appendix C) stated “The starter and main activities were well planned, introducing key elements of programming in an engaging way.” Teaching standard 4 (Department for Education, 2011, p.11) includes “promote a love of learning and children’s intellectual curiosity”. This does appear apparent in their keenness to engage with tasks and the progress made – illustrated by the code screenshots in Appendix D.

The table below summarises the pupil progress (see appendix D for a breakdown of submitted work) and any significant student-characteristics present in each group:

ChallengeNumber completed to specificationNumber attempted but not met specificationNot attempted / non-submission
Challenge 126 (incl. all SEN pupils)05
Challenge 216 (mixed ability incl. SEN autistic, ADHD, dyslexic)6 (incl. SEN pupils A and B)9 (incl. SEN pupil with ADHD)

Five pupils did not submit screenshots at all. None were pupils with SEN, nor earmarked as low-attainment but all pupils had completed challenge 1 in the classroom. I cannot definitively say, then if those 5 pupils had attempted the second challenge. Overall, I was pleased with the progress and I had checked understanding with pupils as I went around the class – to ensure code was merely copied from a neighbour – however this does appear to be a risk that can never be full mitigated unless I can chat to each pupil. Observation feedback stated, “some SEND students seemed uninterested and not part of the class” and in retrospect, with limited time, I should have prioritised ascertaining the understanding of the SEN pupils, while enabling the high-attainment pupils to progress more independently.

The lesson observation indicated “some students were choosing to be off-task”. I did notice a few pupils were doing other things with their code. There does need be a balance between self-directed discovery learning, enabling inquiry, but also adhering to the lesson outcomes. Nevertheless, I did not employ the behaviour system once, as I did not feel that any pupils were so severely off-task to warrant sanctions. However, the off-task pupils were high-attainment pupils and again, these should have been challenged further.

Implications on Professional Development

As a general reflection: I was initially cynical about the formulaic approach to planning lessons to a rigid format of starter – main – plenary, that was recommended by colleagues in my placement faculty. However, the research I had undertook, and my experience, supports the importance of a well-designed starter activity as a strong determinant of classroom culture; and the effectiveness of a lesson. Although cynicism can be a strength, especially within education where politics and opinion may determine practice; I need to be mindful that (experienced) colleagues may not be readily able to (academically) justify their recommended practice but that does not invalidate the practice. I need to embrace the experience and ideas of colleagues and, at the very least, attempt them – before predetermining the effectiveness of practice.

Pace was a concern in this lesson and in several lessons throughout the placement. There appears to be a balance between ensuring enough understanding has occurred before progressing to the next stage, versus covering the curriculum. I need to identify the ‘non-negotiable’ learning and not dwell on learning that does not directly contribute to the lesson objectives. From a pragmatic perspective, I adopted using a timer toward the end of the placement, which made a significant difference to keeping me on track. Indeed, when presented for the attention of students it also instils a sense of urgency. Maintaining good pace directly contributes to Teaching Standard 4, “impart knowledge and develop understanding through effective use of lesson time” (Department for Education, 2011, p.11).

I need to be realistic about what can be delivered in a lesson and I need to be mindful of every minute of that lesson. For example, everything I say and every activity undertaken has to contribute toward achieving the learning outcomes. Perhaps, just like a well written narrative, a lesson has no room for inconsequential elements.

One remark from another lesson’s feedback was about a “One size fits all approach” that I had taken in some year 7 lessons. The observation (Appendix C) stated that “For TS5, there needs to be more evidence of adapting teaching to strenghts [sic] /needs of all pupils.” Teaching standard 5 (Department for Education, 2011, pp. 11-12) states “know when and how to differentiate appropriately, using approaches which enable pupils to be taught effectively”. My approach on differentiation, on reflection, has been tokenistic on many occasions, where I have provided help sheets with answers for students I anticipated that would struggle. This does not engage learning at a level or in a manner appropriate to the individual’s needs and where an individual may then subsequently produce work to the expectation of the lesson outcome(s), the danger is that this may mask the lack of genuine understanding from the student. Indeed, it may cause the student to focus on outputting acceptable work in lieu of real learning and negatively impact their future attitude toward learning.

Capel, S., Leask, M., & Younie, S. (2016, p. 221) states “By far the greatest challenge to teachers is to ensure progression in the learning of all pupils in their class”. My own motives for entering teaching were to help engender opportunity in world beset with social inequality and arguably differentiation, then, is fundamental to this personal motivation; and something I will need to address with priority. There is a vast array of literature and observable practice on differentiation and this is a topic I will choose for the focus of the second assignment, and practice, in my second placement.

Computer science can be perceived as a relatively ‘dry’ subject matter and as I am fundamentally a scientist, I can be predisposed to neglect the more ‘human’ aspects of learning and motivation. While I take the planning and importance of teaching with seriousness and professionalism; I need to develop my ability to relax more in the classroom so that I can better engender a fun and engaging environment by which pupils can feel safe (from scrutiny) and motivated to learn.

References

Busby, H (2016) Busby, H. (2019). Delivering computer science is ‘challenging’ for schools, minister admits. TES. Retrieved from https://www.tes.com/news/delivering-computer-science-challenging-schools-minister-admits

Bell, T., Alexander, J. Freeman, I., Grimley, M. (2009). Computer Science Unplugged: school students doing real computing without computers. The New Zealand Journal of Applied Computing and Information Technology. 13. Retrieved from https://www.researchgate.net/publication/266882704_Computer_Science_Unplugged_school_students_doing_real_computing_without_computers

Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A., Engelhardt, K. (2016) Developing Computational Thinking in Compulsory Education: Implications for policy and practice Retrieved from http://publications.jrc.ec.europa.eu/repository/bitstream/JRC104188/jrc104188_computhinkreport.pdf

Capel, S., Leask, M., & Younie, S. (2016). Learning to teach in the secondary school : a companion to school experience. (Seventh edition). Abingdon: Routledge.

Department for Education (2011) Teacher’s Standards Retrieved from https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/665520/Teachers__Standards.pdf

Department for Education (2013) National curriculum in England: computing programmes of study. Retrieved from https://www.gov.uk/government/publications/national-curriculum-in-england-computing-programmes-of-study/national-curriculum-in-england-computing-programmes-of-study

Department for Education and Skills (2004) Pedagogy and Practice: Teaching and Learning in Secondary Schools. Unit 5: Starters and Plenaries. London

Lawson, T. (2012). Reflective teaching and learning in the secondary school (2nd ed.). London: SAGE.

Lau, W. (2018). Teaching computing in secondary schools : a practical handbook. Abingdon: Routledge.

Muijs, D., & Reynolds, D. (2018). Effective teaching : evidence and practice (Fourth edition.). Los Angeles: SAGE.

O’Callaghan, S. (2013) Teaching computing for the first time: learning to code and getting started. Retrieved from https://www.theguardian.com/teacher-network/teacher-blog/2013/aug/13/teaching-computing-computer-science-lessons

Pritchard, A. (2018). Ways of learning : learning theories and learning styles in the classroom (Fourth edition.). London, [England] ;: Routledge.

Sentance, S., Barendsen, E., & Schulte, C. (2018). Computer science education: perspectives on teaching and learning in school . London: Bloomsbury Academic.

Simmons, C., Hawkins, C. (2015). Teaching Computing 2nd Ed. Sage, London

Wang, M., Haertel, G., & Walberg, H. (1993). What helps students learn? Educational Leadership, 51(4), 74. Retrieved from http://search.proquest.com/docview/224850474/

Wing, Jeanette (2006) Computational Thinking Retrieved from https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf Williams, S. (2016) Lesson planning 2 – Starters and Plenaries – and why they are so important to the learning process. Retrieved from http://www.sharonwilliamseducational.co.uk/blog/lesson-planning-2-starters-and-plenaries-and-why-they-are-so-important-to-the-learning-process