Abstract and Concrete Approaches to Computing
Chapter Title ideas.
- The Stickiness of Concrete Computing
- Inclusive Computing between the Concrete and the Abstract.
- Celebrating the Concrete
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 can draw on this diverse engagement. Since the launch of a new computing curriculum, many computing teachers have used Computing at Schools and social media platforms to share their creative approaches to covering subject knowledge and building fluency in programming. This chapter highlights the value of hands-on teaching approaches as an inclusive pedagogy. It does this by describing on-going tensions in the world of educational between abstract and concrete approaches, looking at definitions and the role of Computational Thinking in an accessible way, and examining inclusive approaches to computing education.
As we will explore later in this chapter, one aspect of inclusive education is to engage the interests of learners. In general terms, student engagement refers to the level of interest, involvement and participation of learners. Educators motivate learners and computing engaging using diverse tactics and materials. 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. Working with home interests and using visual, tangible and touchable materials is a way of increasing the participation and inclusion of learners. They look and feel like fun and exciting objects to engage with. Web-based or software activities include game making, meme creation, hobby website creation or making storytelling adventures. Incorporating materials from narrative forms like books, films, games and social media content into computing projects increases the ability for learners to bring their own interests into the mix. However, while the range of materials and possible creative projects is exciting and full for promise for computing teachers, it is not always clear how to best approach these opportunities from an educational point of view.
REWRITE THIS SIGNPOSTING SECTION
This chapter will explore teaching and learning approaches to increase learner engagement with computing, firstly by defining and exploring concrete approaches, and then by sharing useful classroom tactics.
Inclusion and Inclusive Pedagogies
The term inclusion is used in many ways in the area of education in this chapter we focus on the inclusion as a way of ‘increasing the participation of students in, and reducing their exclusion from, the cultures, curricula and communities of local schools’ [@booth2002index, p. 3]. Issues of inclusion no longer address solely children with special educational needs and disabilities (SEND) but also include 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.
Researchers Black-Hawkins and Florian [-@black-hawkins_classroom_2012] note that many teachers report lacking the knowledge to effectively teach children with SEND issues. Inclusion strategies are sometimes presented in a way that highlights the technical elements of accessibility and assistive learning technologies, for example text in different sizes, the presentation of materials in accessible ways online and in the classroom. While this remains a vital part of inclusive education, wider definitions also include a creating teaching strategies that allow learners to engage with learning through choosing from a variety of teaching resources and activities. A commonly held view that teachers should create a normal lesson plan for most learners and then separate differentiated activities for learners needing special support could easily be time-consuming, and overwhelming. Instead, to explore inclusive pedagogies, the researchers ask how do teachers design learning experiences to benefit the participation and achievement of all student, not only those with SEND. This approach is inline with recent understandings of neurodiversity. One instruction method is unlikely to work for all learners. Thus, 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 student having to undertake work that is aimed at low-achieving students. These principles - among others - are presented in a framework called Universal Design for Learning (UDL).
Universal Design for Learning (UDL)
UDL is a set of design principles aimed at teachers to help them design learning experiences that incorporate diverse ways to engage pupils, to represent the ideas being communicated and for students to express their own ideas. 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 as a checklist to help you to plan inclusive teaching activities.
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 keep your learners focus on their goals, maintain self-belief and sustain their effort as individuals and in group work?
Multiple means of expression /action: No particular action or way to express yourself will be best for all students. Are you able to offer a choice in how you students interact with materials and tools (particularly assistive technologies), allow students choice in the media they use for communication, and construction? How much are student able to set their own learning goals and monitor their own progress?
These questions are drawn from the more comprehensive outline provided by CAST which you can access free online resources here https://udlguidelines.cast.org/.
UDL places great value on the personal relevance, choice and authenticity of learning experiences. 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 level of choice offered can be unfamiliar for both teachers and for students. The UDL guidelines recognise this. As educators we may need to build our own abilities and familiarity with learner-led approaches as well as building the autonomy of our students to follow their own learning pathways.
An area of UDL that teachers can implement straightforwardly is the guideline 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. The following section explores the utility of these terms to explore inclusive approaches to teaching especially in relation to our shared 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. There is another everyday usage which hints that abstract knowledge is harder to get to grips with than more concrete understandings. We might ask for a concrete example if we don’t understand a more abstract definition. It is the use of something in context that makes something concrete. In traditional conceptions of education abstract knowledge is often 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]..
There are drawbacks of adopting teaching in either solely abstract or concrete ways. For example, learners may not make a connection between abstract material and real-life situations. They can then only recall rather than apply the knowledge. A term for this is inert knowledge. In computing, you may be able to give a definition of what a function is in a coding language but not be able to write one. There are also downsides to learning only in a concrete way. If you learned coding by teaching yourself or just picking it up from other people then you may be able to complete tasks but not be able to explain what you have done to others, or may really struggle to recognise similar patterns in other computing contexts. This kind of knowledge is sometimes called implicit, tacit or embodied skills and knowledge. Unlike explicit knowledge, it is tricky for to explain or communicate this knowledge in a written or even spoken format. The learner or teacher just “know how to do it”.
Ideas around abstract and concrete knowledge have been key in shaping how we teach coding today in schools. A key critical voice challenging the idea that abstract approaches were superior was Seymour Papert. Papert’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 abstract and concrete - they use a top down and bottom up analogy. 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.
Many theories of learning explore the value of both concrete and abstract phases. When applied to coding and computing, a student’s knowledge of a coding concept may deepen a little bit each time you apply it in practice. A straight forward way to do this is via a tool called semantic profiles.
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 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 here - http://tiny.cc/semantic-waves.

Semantic Waves.
Research carried out by Curzon and colleagues [@curzon_using_2020] 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 is the basis of advice given by the NCCE to unpack, explore and then repack ideas during the course of a lesson.
Examples showing semantic wave profiles usually start with the process beginning with the abstract or with high semantic density in line with more traditional teaching approaches. 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 a 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. Thus concrete activities and easily explainable real world examples can increase student engagement and can allow more hands on time for different approaches to coding and creating.
Activity - Recognising and Exploring the Concrete and Abstract in your Teaching
To help your learners to embed the knowledge of 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 alternating between concrete and abstract poles in a way that helps deepen the understandings of students? Are you able to avoid ‘flatlining’?
Try starting lessons with hands-on activities to help the engagement of students and to align with UDL principles.
Definitions of Computational Thinking
The promotion of Computational Thinking has been a key factor in the development of the UK’s computing curriculum. Computational Thinking started to gain wider attention when Jeanette Wing an academic and computer scientist began to promote it as a concept and approach that could be useful beyond the field of computing as a way to express and solve problems in the same kind of way as a computer would.
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” [@wing_computational_nodate]. Many learning resources designed to support the computing curriculum present this principle as four key pillars: decomposition, pattern recognition, abstraction algorithmic thinking[@bbc_bitesize_introduction_nodate]. The essence here is to deal with concepts and principles as abstract and separate from the context. This approach suits assessing knowledge via formal written exams and tests.
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 student undertaking collaborative, creative computing projects. The resulting map they created includes computational concepts, computational practices and computational perspectives. This framework based on observation of learners in action is more concrete and more accessible to teachers and learners as they can more easily recognise their own practice.

Computational Thinking model by Resnick and Brennan - Diagram created by Mick Chesterman
This wider and 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. A review of teaching Computational Thinking [@lye_review_2014] used this second definition as the basis for their review, which point to the widespread use of Brennan and Resnick’s 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 over other more abstract CT frameworks. These applied frameworks suggest a broad approach to computing pedagogies which focuses on the detail of the actions of learners. This focus on a wide range of learning activities allows teachers to observe and plan for collaborative learning environments that encourage learner autonomy in line with inclusive pedagogies.
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. Thus, there is limited potential for students to show design or authentic debugging skills.
Spending a lot of time solving decontextualised exam questions has potentially negative impacts on student engagement and such disengagement is a serious barrier to inclusion [@kanevsky_produce_2003]. A focus on written exam approaches can reduce time to explore more authentic projects where students follow their own interests and develop design and troubleshooting practices. 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.
The NCCE has produced a series of resources based on research on computing practices to help teachers. As a way of summarising the diverse opportunities and requirements of the subject, they have provided a set of 12 principles for teaching computing (http://tiny.cc/12-principles-computing) aimed at mainstream teachers to help students explore abstract computing concepts and integrate them with concrete examples and activities. This section briefly describes these principles. We start with tactics start to help teachers to explain and direct the learning of students in a way suited to traditional class instruction. As the examples progress, the tactics change in focus to cover techniques that suit a learner-led approach to learning coding.
PRIMM: PRIMM stands for Predict, Run, Investigate, Modify and Make. This learning model has been gained popularity in resources aimed at UK computing teachers. PRIMM helps learners adopt coding practices and computational concepts through providing them with a concrete code example that they run after predicting what it does. They then dig deeper and make changes to the existing code. PRIMM’s starting point is students reading and predicting code results. It aligns with the NCCE principle of _Lead with Concepts _. Identifying the target computing concepts in code examples allows teachers to highlight 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 learners to unpack and repack the same set of concepts in a restricted time scale. It is a process well aligned with some of the more formal problems solving, paper-based questions of the GCSE exams. PRIMM is a modification of the Use Modify Create framework which was developed to represent the learning process of learners engaging with extensive computing projects like game design, designing simulations and robotics projects. I write in more detail about the Use Modify Create framework in another chapter in this collection. For a more detailed summary of the PRIMM approach see this quick read pedagogy article. http://tiny.cc/primmqr
Unplugged activities: Unplugged activities are carried out away from the computer and aim to illustrate computing concepts. They are explored in more detail in another chapter in this collection. 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 the 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 representing knowledge in multiple ways and highlighting patterns for learners. BE CAREFUL ABOUT MOVEMENT AND INCLUSION.
However, there is a danger is that being introduced to computing concepts outside of an authentic context where they can be put into practice could lead to inert knowledge or rote learning. In other words learners can reproduce a particular form of knowledge but may not be able to apply it. Teachers should be attempt to allow their learners to meet the same concepts in concrete coding settings as well and reinforce the connection for students.
Pair Programming: Pair Programming divides up the tasks so that one student does the hands-on concrete coding while the other is free to think about more the abstract design of the overall programme. A benefit of pair programming is that to increase coding confidence as students build their experience of the different roles involved in coding. To help the process teachers should modelling and breaking down a processes that to aid a deeper understanding of coding process and thus build the identity of a learner as being proficient in different elements of coding. Pair programming involves a social learning elements and after initial modelling can allow a greater choice for students in they way they solve problems. This process 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 this Quick Read document from NCCE - http://tiny.cc/pairprogramming
Observing and Assessing Hands-On Practices: There is an ongoing tension for teachers between giving learners the freedom to pursue their own concrete coding goals, and the need to bring their attention back to the learning goals and target knowledge of the curriculum. In the current educational climate teachers have to be able to show how classroom work applies to the curriculum and exam goals. This tension can be helped using a technique promoted by NCCE (at teachcomputing.org) - that of using observational techniques in the classroom to assess user progress. Techniques to help teacher observation and assessment of what student are completing are vital if we are be able to keep a track of some of the ways they solve problems as they apply knowledge in the concrete stage of their learning. The NCCE have created this quick read on observation - http://tiny.cc/observingstudents. A summary of that document follows:
-
Structured observations: Before lessons, teachers create a framework of the behaviour or use of concepts you want to observe and observe them as you interact with students, via recordings or their 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.
Such observation is time consuming, as such teachers may need support to undertake detailed observation while you teach.
The Use of Concept Maps and Learning Frameworks: In order to use structured observation a predetermined framework of the kind of behaviours, practices and concepts that suit the project work being undertaken is needed. One way that teachers can develop such frameworks is via the technique of Concept Maps. The NCCE have created a guide for teachers to create concept maps which focuses on more technical knowledge (http://tiny.cc/concept-map). You may wish to include other the coding practices in line with a more participatory definition of Computational Thinking that we have explored in this chapter. It is also a good idea to provide students with this framework to help them navigate their learning journey. The ability for students to monitor and assess their own work and progress is in line with both inclusive education and project-based approaches. I explore project approaches in another chapter of this book. The final part of this chapter looks at an activity to include inclusive approaches into your classroom using Universal Design for Learning (UDL).
Activity - Applying UDL in the Classroom
We have explored some of the elements of UDL via the above teaching techniques. Many of the principles of the UDL framework will be ones that experienced teachers have already adopted based on their intuition and experience. For examples the principle of representing knowledge and concepts via multiple means is explored via PRIMM, Unplugged activities and the Concreteness Fading.
- What choices do students have to apply the target knowledge or skills? Can activities and learning be related to student’s interests?
- Are learners able to connect to real-life application of the concepts and skills you are introducing? How motivating do they find that link?
- How are you helping learners to make connections between the concepts and skills they are learning through hands-on activities and the more abstract representations that may occur in test or exam situations?
One way to align a computing learning with UDL principles involves teachers set learners meaningful projects, giving students access to suitable tools, inspiration and to sustain their motivation. Assessment would then follow the activities that students undertook using a mixture of the observation techniques listed above.
Conclusion
The purpose of this chapter has been to celebrate the educational value of hands-on, concrete activity. In many ways as computing educators we are lucky to have such rich and engaging resources at our disposal which invite tinkering and learning through trial and error experimentation. However this can bring a tension as teachers feel the pressure to bring students attention back to underlying abstract concepts that are assessed through test material. The NCCE has played a pivotal role in supporting teachers to recognise and navigate abstract and hands-on teaching techniques; that work has be<!– SOME MORE THE CHARACTERISTICS OF THE QUESTIONS AND THE KNOWLEDGE needed AN EXAMPLE ?–en discussed in this chapter.
This key tension between the concrete and the abstract has been around since the dawn of computing education. Papert, the inventor of Logo invited us to use creative computing revalue the concrete. More recently, Resnick and Rusk [-@resnick_coding_2020] from the Scratch research community caution against some of the dangers of adopting exclusively formal approaches to coding 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. The researchers share the concern is that the potential for computing to build creative and design thinking competencies is being undermined. http://tiny.cc/codingcrossroads.
This chapter then explored the alignment of between inclusive education principles and concrete, student-led ways of approaching computing education. We have also 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. In another chapter I explore the same principles via design and project based approaches. These methods can also help teachers balance the requirements of the curriculum and the value of letting students spend more getting their hands dirty in the concrete of coding.