Mick Chesterman

https://orcid.org/0000-0002-8005-2390

Abstract

This chapter highlights the value and challenges of implementing hands-on teaching approaches in a UK schooling context. It begins by looking at interpretations of inclusion and specifically the framework Universal Design for Learning (UDL). The terms concrete and abstract and their relevance to coding and definitions of Computational Thinking are explored. The second half of the chapter chapter then turns to practical ways teachers can help learners navigate abstract concepts and benefit from hands-on experience of coding. To do this it outlines some techniques promoted by the National Centre for Computing Education (NCCE). Throughout this part of the chapter there is a focus on linking these educational practices with inclusive approaches and learner engagement.

Introduction

In the UK, computing and computational devices are all around us. Young people interact with them in many ways including, general communication, games, social media and creative apps. Computing as a subject, and coding as an activity can draw on the diverse ways that computing touches people’s concrete lives. A quick search the web for creative computing or tech for kids yields a multitude of activities, devices and materials designed to engage hobby interests of young people. Physical examples include fashion and textiles based computing, robotics, colourful lighting displays and programming lego constructions. This chapter celebrates the value and fun involved in coding in these contexts. However, while the range of materials and possible creative projects is promising, aligning creative opportunities with an exam-assessed curriculum is challenging.

This chapter highlights the value and challenges of implementing hands-on teaching approaches in a UK schooling context. It begins by looking at interpretations of inclusion and specifically the framework Universal Design for Learning (UDL). The terms concrete and abstract and their relevance to coding and definitions of Computational Thinking are explored. The second half of the chapter chapter then turns to practical ways teachers can help learners navigate abstract concepts and benefit from hands-on experience of coding. To do this it outlines some techniques promoted by the National Centre for Computing Education (NCCE). Throughout this part of the chapter there is a focus on linking these educational practices with inclusive approaches and learner engagement.

Inclusion and Inclusive Pedagogies

The term inclusion in education no longer addresses solely children with special educational needs and disabilities (SEND) but also examines barriers of culture and other exclusionary elements of the school environment and discourse [@black-hawkins_achievement_2008]. The issue of alienation from the culture of computing in schools has been identified as an issue of concern especially for girls and some ethnic minorities [@the_royal_society_after_2017]. To be inclusive schools and teachers must identify both traditional SEND issues and wider cultural barriers to participation in computing classrooms and help student overcome them. Beyond the important technical accessibility tools and assistive learning technologies - for example text in different sizes, screen readers - a diversity for inclusive teaching strategies are also needed.

One way to address SEND issues is to use differentiation to adapt a the standard lesson plan for learners needing special support. However this view of a standard, optimal learner pathway is not supported by recent research in neurodiversity, which suggests there is no one optimal way for students to learn. Inclusive pedagogies take a different approach to differentiation which places more power in the hands of learners to choose the path that is most appropriate for them. All students are given a greater choice of materials and activities from the start suiting the varied needs of all students. This has the benefit of removing stigmatisation of some learners having to undertake work that seen to be created for low-achieving students. These principles - among others - are presented in a framework called Universal Design for Learning (UDL).

<!– easily be time-consuming, and overwhelming.

Modern inclusive pedagogies advocate design learning experiences to benefit the participation and achievement of all students.

This approach is inline with recent understandings of neurodiversity. One instruction method is unlikely to work for all learners. –>

Key Concept - Universal Design for Learning (UDL)

UDL is a set of design principles aimed at educators to help them design learning experiences that incorporate diverse ways to engage pupils and to represent the concepts being communicated. The UDL framework provides guidelines for three key areas of representation, expression and engagement and action [@cast_about_nodate]. You can use the following summary of UDL principles as a checklist to help you to plan inclusive teaching activities. A more comprehensive outline is provided by CAST organisation.[^1]

Multiple means of representation: Are you presenting material and concepts in multiple formats? For example, spoken presentations, written documents, graphics, hands on activities, audio material. Are you clarifying new language and symbols in diverse ways? Are you providing important background knowledge and highlighting important patterns and relationships in the knowledge you explore?

Multiple means of engagement: Have you been able to increase student choice and the relevance of your material to spark learners excitement? Are you using a variety of ways to allow your learners to focus on their goals, maintain self-belief and sustain their effort as individuals and in group work?

Multiple means of expression /action: No one particular action or format of expression will be best for all students. Are you able to offer a choice in how your students interact with materials and tools (particularly assistive technologies), allow students choice in the media they use for communication and construction? How much are students able to set their own learning goals and monitor their own progress?

UDL places great value on the personal relevance, choice and authenticity of learning experiences. As a way to encourage engagement UDL suggests setting choices of concrete learning goals that are relevant to the learners. This learner-led approach is very different to a traditional-instruction based, directive approach to teaching. The diverse learning pathways offered can be unfamiliar for both teachers and for students. The UDL guidelines recognise this and provide information to support teachers to implement them. As educators, we may need to build our own abilities and familiarity with learner-led approaches as well as growing the autonomy of our students.

One area of UDL that teachers can implement straightforwardly is to represent concepts in the classroom in a diversity of ways. In a related study, researchers Cook and colleagues [@cook_using_2016] explored the alignment of UDL with another framework, CRA, which consists of a three stage model to support learners to develop concepts [@fyfe_concreteness_2014]. The researchers outline how the three stages of CRA (Concrete, Representational and Abstract) align with key UDL principles, most specifically multiple ways to represent knowledge to aid learner perception and comprehension. In short, first teachers introduce a physical, concrete model of the concept, then progress to iconic forms, for example graphics or pictures; finally learners work with more abstract models of the concept. The CRA framework is an example of concept popular in Mathematics research and practice called Concreteness Fading where concepts are introduced in concrete examples and then learners are supported to understand and represent them in more abstract ways.

When reading about different approaches to teaching computing the terms concrete and abstract are used commonly. For example the concrete practice of coding is a good way for learners to work with more abstract computing concepts. The following section explores the utility of these terms to explore inclusive approaches to teaching especially in relation to an understanding of Computational Thinking.

Computational Thinking, the Abstract and Concrete

Concrete and Abstract Learning Approaches

In an everyday sense concrete objects are ones you can get hold of and abstract objects exist only as concepts. A pound coin is concrete but the idea of profit is abstract. In everyday usage abstract knowledge may be harder to grasp with than more concrete understandings. For example, we might ask for a concrete example if we don’t understand a more abstract definition. Here, it is the use of something in context that makes something concrete. In traditional conceptions of education abstract knowledge is often perceived to be of greater value. If you can understand a concept as it applies in different situations then this ability to transfer it and have a more global understanding is held as a higher form of knowledge. This concept is popular in education in many forms, for example, Piaget’s influential model of developmental stages, specifically in the progression to more abstract thinking in the transition from the concrete (operational) to formal (abstract) stages [@burman_genetic_2021].

Not all educators agree with the supremacy of more abstract ideas of knowledge and are keen to celebrate the value of concrete exploration by learners. Seymour Papert and Sherry Turke’s work on creative computing at MIT created a legacy that includes the development of the Scratch programming tool and the use of physical computing in education. Papert and Turkle [-@papert_epistemological_1990] thought it was vital that we value and recognise concrete approaches to computing and coding. While they do not discard the technical value of abstract approaches, they draw on feminist theory to make a convincing case that approaches like abstract planning and formal language can be off-putting to certain learners and especially girls. They argue that the process of finding solutions to coding issues for novice coders should be a matter of personal preference. As well as the terms abstract and concrete - they use the terms top-down and bottom-up approaches to learning. In a bottom up approach problems are tackled piece by piece, experimentally. Desmond Tutu once said that “there is only one way to eat an elephant: a bite at a time.” Bottom-up (concrete) coders take this approach.

To clarify this Papert and Turkle give the example of a young coder Lisa, who is aware of a more formal way to approach the kinds of programming tasks she is undertaking, but maintains that way doesn’t work for her. As she continues her journey as a coder this frequent message that she is doing things the wrong way demotivates her enthusiasm around coding. Abstract coding concepts are tools for thinking. But they are only useful to the learner if they match with her experiences. Forcing the learner to adopt an abstract approach in this example is counter productive as it undermines her experience and progress. The authors outline that the danger of prioritising teaching and testing of abstract concepts is to devalue this bottom up approach to coding. This way of coding has also been called a craft approach. It is an way of doing things that has been shown to have a lot of value in many professions.

Thus as inclusive educators, we have a duty to allow learners to follow a learning path that suits them as much as is practical within the constraints of the curriculum. A conceptual tool that may help teachers to help learners to navigating between the abstract and concrete is semantic profiling.

Key Concept - Semantic Profiles

Semantic profiles chart the use of more concrete (high semantic gravity) language and more abstract (high semantic density) concepts and patterns as they emerge in classroom situations [@macnaught_jointly_2013]. Exploring semantic profiles is being promoted by NCCE an aid to teachers wanting to plan their lessons in a way that communicates the key abstract curriculum knowledge that students will need for exams, and to also allow them to put the concepts into practice to build real coding skills and to make valuable connections to personal experience. A Quick Read on semantic profiles is available on the NCCE website.[^2]

Research carried out by Curzon and colleagues [-@curzon_using_2020] in a computing education context outlines the value of semantic profiles in wave shape as opposed to a flatline which remains too much in concrete examples or more abstract concepts. This research highlights the value of unpacking, exploring and then repacking ideas during the course of a lesson. A student’s understanding of a concept may deepen a little bit each time it is applied in practice and then reconnected with the abstract.

semantic waves

Figure 3.1 A Semantic Profile with Semantic Waves Examples showing semantic wave profiles usually start with the process beginning with the abstract or with high semantic density. See Figure 1.1 for an example. The advice of starting with more abstract terminology and concepts may seem to be in opposition to the approach of Concreteness Fading as explained with the CRA method outlined above. However, on examination of the research example carried out in the research above, the process of starting with concepts may only involve giving a short outline of the concept that is being explored and saying that this will be illustrated in a following concrete activity. ### Activity - Recognising and Exploring the Concrete and Abstract in your Teaching To help you balance your lessons, it is helpful to identify what parts of your sessions address more abstract conceptions of computing knowledge and those that are more concrete. To do this ask you can yourself the following questions about your sessions. - What are the core skills and concepts I want to communicate in my session? How many of them are more abstract and how many are more concrete? Do I have a good balance? - How do learners first meet core concepts? How are they re-enforced? Is it through an abstract definition, supported by a more concrete explained example, or via hands on work that they are engaged in? - What kind of semantic profile do your lessons follow? Are you able to avoid 'flatlining', where students explore only abstract or concrete language? - Are you alternating between concrete and abstract poles in a way that helps deepen the understandings of students as they link curriculum concepts to practical experience by helping them link curriculum concepts to practical experience and back again? ### Definitions of Computational Thinking The promotion of Computational Thinking (CT) has been a key factor in the development of the UK's computing curriculum. However, the claims of early advocates that CT skills could be applied widely in subjects beyond computing are now advanced more cautiously to avoid the danger of over-promising [@tedre_long_2016]. We can use the distinction between concrete and abstract to examine the differences between two popular interpretations of Computational Thinking (CT). The first is an influential take from Jeanette Wing. "The most important and high-level thought process in computational thinking is the abstraction process. Abstraction is used in defining patterns, generalizing from instances, and parameterization" [@wing2011research]. Many learning resources designed to support the computing curriculum present this principle as four key pillars of CT: decomposition, pattern recognition, abstraction and algorithmic thinking [@bbc_bitesize_introduction_nodate]. The essence here is to deal with concepts and principles as abstract and separate from the context of coding. Another widely used definition of CT by Brennan and Resnick [-@brennan_new_2012] was developed in response to a thought experiment "How do we describe what Tim, Shannon, and Renita are learning as they participate as designers of interactive media with Scratch?". The researchers took a grounded / situated approach to mapping the potential learning dimensions of students designing and coding collaborative, creative computing projects. The resulting map they created includes computational concepts, computational practices and computational perspectives. - _Computational concepts_ include sequences, loops, parallelism, events, conditionals, operators, and data; thus representing the mechanics of coding structures. - _Computational practices_ include debugging, iteration, reuse and remixing, and abstracting and taking a modular approach. - _Computational perspectives_ such as expressing, questioning connecting were observed in the behaviour of learners completing their coding designs. This interpretation of CT, based on observation of learners in action, is more accessible to teachers and learners as they can more easily recognise their own practice than in the more abstract interpretations of CT. To give a specific example, rather than decomposition, the applied framework outlines taking an iterative, incremental approach to problem solving and arranging code in modules. This broader, process driven definition of CT has been used and adapted by many organisations seeking to support the new computing curriculum. As such, it may be familiar from websites, posters and other supporting material created by groups like Barefoot computing. Lye's extensive review of teaching Computational Thinking [@lye_review_2014] used Resnick and Brennan's definition as the basis for the review, which points to the widespread use of this more applied approach. The wider definition of CT here assumes an environment where learners are engaged in the collaborative coding of a computing project. The review above and the influential framework used by Computing at School [@csizmadia_computational_2015-1] have included elements of this applied framework as well as other more abstract CT concepts. The popularity of the CT frameworks describing concrete and collaborative learning help encourage with inclusive teaching approaches. However the tension between abstract and thus potentially transferable knowledge and context-bound concrete knowledge exists not only in definitions of CT and but also in approaches to teaching and testing. In the next section we explore this tension and look at recent responses in the field of UK computing education. ## Tactics for teaching Computing in the Classroom Classroom practice is strongly influenced by curriculum content and more specifically the format of exam questions. The removal of course work from GCSE exams due to the widespread sharing of worked examples on-line created a real challenge for those setting exams. Exam boards had to rethink how to test the practical programming experience and ability of students in a written exam setting. At GCSE level most exam questions test the more applied definitions of Computational Thinking, particularly the process of writing, analysing and revising algorithms in the form of written code examples. Students are required to demonstrate and explain fundamental code building blocks and approaches from first principles. However exam questions on coding are by nature fragmented and decontextualised compared to project coding experience. The questions in the format of small coding challenges must be fragmented to be able test a particular part of the curriculum. A focus on written exam approaches in the classroom can reduce time to explore more authentic projects where students follow their own interests and develop design, debugging and other troubleshooting practices. Spending a lot of time in lessons addressing decontextualised exam questions has potentially negative impacts on student engagement and such disengagement is a serious barrier to inclusion [@kanevsky_produce_2003]. In an ideal situation practical work can deepen and broaden more abstract knowledge. However given the reality of schools' focus on exam results, teacher must balance the development of students' hands-on coding practices with the ability to recognise and respond to more abstract written questions. Having proficiency in a variety of relevant teaching approaches can be helpful to resolve this tension. The NCCE has produced a series of resources based on research on computing practices to help teachers. They have provided a set of 12 principles for teaching computing[^3] and supporting Pedagogy Quick Read documents[^4] aimed at teachers to explain and promote key research-informed teaching techniques. The following sections summarise some of these principles. **PRIMM:** PRIMM stands for Predict, Run, Investigate, Modify and Make. This model helps learners adopt coding practices and computational concepts through providing a concrete code example that they run after predicting what it does. Learners make changes to the existing code before finally creating code from scratch. PRIMM's starting point is students predicting existing code results. Asking students to identify target computing concepts in code examples allows teachers to guide students towards key computational thinking process or algorithmic details. Thus, PRIMM is well suited to the classroom as starting with prediction of a code allows a whole class of learners to unpack and repack the same set of concepts in a restricted time scale. This process that supports formal problem solving, paper-based questions of the GCSE exams. The use of code examples and a structured set of varied activities aligns well to UDL principle of representing knowledge in a variety of means. For a more detailed summary of the PRIMM approach the Quick Read pedagogy article.[^5] **Unplugged activities:** Unplugged activities are carried out away from the computer and aim to illustrate computing concepts. Unplugged activities often use very familiar non-school examples and draw on learners' understanding of their own concrete experiences. As an example, teachers may use cooking recipes as a way to illustrate the importance of correct sequencing in a code context. Unplugged activities are also often embodied activities. Embodied ways of learning involve moving beyond a computational view of cognition to recognise the importance of physical experience and emotions in the learning process [@settoducato_pedagogy_2017]. Thus, the practice is very much in line with the UDL principle of allowing multiple forms of expression and action for learners and highlighting patterns of knowledge representation. To help learner integrate abstract concepts teachers should link unplugged activities with concrete coding activities. A semantic wave approach as outlined above can help teachers explore this process. **Pair Programming:** Pair Programming groups students in pairs and divide coding two into two roles. One student undertakes hands-on coding while the other is free to think about more the abstract design of the overall program. A benefit of pair programming is to increase coding confidence as students build their experience of the different roles involved in coding. To help novice coders teachers should model and break down the processes involved. Pair programming involves social learning elements and can model a greater choices for students in they way they solve problems. The process of building an identity in a community with the help of peers is key to a socio-cultural understanding of how learners pick up coding in a classroom (or other settings). The importance of a coding community is explored in another chapter in this collection on design and project approaches. A summary of pair programming roles and tips on how teachers can help learners to adopt them in present in a Quick Read document from NCCE.[^6] **Observing and Assessing Hands-On Practices:** One way to address the tension between giving learners the freedom to pursue their own concrete coding goals, and is the use of observational techniques to assess user progress. Skilled observation allows teachers to catch learners when they are engaged with their own personally meaningful project and their motivation to solve problems is high. The NCCE have created a quick read on observation.[^7] A summary of that document follows: - _Structured observations:_ Before lessons, teachers create a framework of the behaviour or use of concepts they want to observe during interactions with students, via recordings or created work. - _Unstructured observations:_ Teachers record or reflect on some of the more unexpected turns that happen during the lesson, often after the event from memory or recordings. - _Verbal protocols:_ Teachers assess the learning and understandings of students by asking them to talk aloud the way they are solving problems and undertaking tasks. This kind of observation is time consuming and can benefit from extra classroom support. However, this effort can be justified as inclusive measure to support a diversity of learner expression and assessment recommended by the UDL guidelines. **The Use of Concept Maps and Learning Frameworks:** To facilitate structured observation a predetermined framework of the kind of behaviours, practices and concepts that align with the project work being undertaken is extremely useful. One way that teachers can develop such frameworks is via a technique called concept maps. The NCCE have created a Quick Read guide for teachers to create concept maps which focuses on more technical knowledge[^8]. In this document concept maps are presented as a way for teachers to model and for students to explore connections between concepts. They can also be used as a map or a matrix to help observation. Provide students with this framework can also help them navigate their learning journey. Having potential learning clearly mapped out and involving students in self-monitoring increases the efficiency of the observation process. The visual nature of the maps also align with UDL guidelines on presenting concepts via multiple means. I explore project approaches in another chapter of this book. I also outline the use of maps as a way to help manage a learner-led approach to game making in a further chapter in this collection on game making. ## Conclusion The purpose of this chapter has been to celebrate the educational value of hands-on, concrete coding as an inclusive way to explore the computing curriculum. As computing educators we are lucky to have rich and engaging resources at our disposal which invite tinkering and learning through trial and error experimentation. This chapter has explored the value of UDL principles for teachers looking to inclusive practice and the possibility to assess content knowledge through observing students during hands-on work. We have seen the researchers Papert and Turkle celebrate the value of the concrete at a very early stage of computing education. More recently, Resnick and Rusk [-@resnick_coding_2020] from the Scratch research community caution against recent tendencies to adopt predominately formal approaches to computing including: too much memorisation of computational terms rather than application, devaluing hands-on coding compared to abstract concepts, not enough time devoted to complete projects and, finally, learners not given enough choice in their coding projects. I share the concern of these researchers that the potential for computing to build creative and design thinking competencies is not being optimised in formal education.[^9] Teachers in the UK continue to experience tensions between encouraging experimentation and the pressure to bring students attention back to underlying concepts that are assessed through more abstract test material. The NCCE is playing a pivotal role in supporting teachers to recognise and navigate the abstract and concrete via teaching techniques. In another chapter I explore the principles of design and project based approaches which also have potential to aid teachers balance the requirements of the curriculum and the value of letting students spend more getting their hands dirty in the concrete of coding. [^1]: https://udlguidelines.cast.org/ [^2]: https://blog.teachcomputing.org/quick-read-6-semantic-waves/ [^3]: https://blog.teachcomputing.org/how-we-teach-computing/ [^4]: https://blog.teachcomputing.org/tag/quickread/ [^5]: https://blog.teachcomputing.org/using-primm-to-structure-programming-lessons/ [^6]: https://blog.teachcomputing.org/quick-read-pair-programming-supports-learners/ [^7]: https://blog.teachcomputing.org/using-observation-techniques-to-record-student-behaviour-for-research-or-evaluation/ [^8]: https://blog.teachcomputing.org/using-concept-maps-to-capture-communicate-construct-and-assess-knowledge/ [^9]: https://web.media.mit.edu/~mres/papers/CACM-Coding-At-Crossroads.pdf