CAS Tenderfoot funded by Google Education, is a CPD programme covering the essential concepts for computer science underpinning the Computing curriculum for secondary school teachers (KS3) in England.
Each of the units can be delivered either as a whole day or split across several shorter sessions/twilights.
This is the first Tenderfoot Unit with a focus on learning how to program. Many teachers new to Computing will be learning a programming language for the first time. There are many good introductory manuals for different languages but they tend to focus on the specifics of the particular language, and often follow a well-defined structure, using examples to illustrate each element they cover. Similarly, most pupils, arriving in secondary schools will be familiar with the notion of algorithms as a sequence of steps. They will also have had some exposure to writing simple programs. They should have encountered sequencing instructions, and used repetition and conditional expressions.
At Key Stage 3 we need to emphasise that algorithms work hand in hand with data structures. Pupils will have less exposure to this idea. To provide both continuity and progression at KS3, practical programming needs to provide repeated exposure to the same constructs and basic structures (variables and arrays) in a variety of contexts. The practical outcomes should reinforce the key constructs they are familiar with from primary schools but as programs become more complex, so there is a need to emphasise decomposition as a technique by which complex problems can be broken down into their constituent parts. Structured programming can then introduce named functions and procedures (defined as procedural abstraction). Once defined, the detail can be hidden; a function or procedure will perform its task when called by name.
Structured programming – developing the idea of top-down design, decomposition and abstraction – is a key element in equipping children to tackle more complex challenges. This is the firm foundation.
‘How Computers Do Stuff’ picks up where ‘Laying Firm Foundations’ left off, considering the legacy of Seymour Papert and Logo. This is the second Tenderfoot Unit with a focus on learning how to program. Many teachers new to Computing will be learning a programming language for the first time. There are many good introductory manuals for different languages but they tend to focus on the specifics of the particular language, and often follow a well-defined structure, using examples to illustrate each element they cover. This unit does not aim to teach a language, nor should it. The aim is broader; locating programming in the context of the practical realisation of problem solving. Computational thinking requires computational doing. Starting with a Turtle system it progresses to programming with Small Basic building solutions and understanding with specific outcomes for the teachers being:
- Recognise the key concepts and constructs required to tackle programming challenges
- Be aware of the barriers students face when learning to code
- Appreciate some of the tools to assist in the transition to text based coding
- Become familiar with the Small Basic IDE and develop the language of objects.
The aim of this Unit is to build appreciation of a variety of data structures which lend themselves to storing different information. The key structure and terminology teachers need to become familiar with is a graph (which can be thought of as a generalisation from the list they will be familiar with). Graphs can represent widely differing problems, but those problems may have common solutions. So if we can abstract the key fundamentals from a problem, we may be able to apply it to another different situation. Throughout the Unit, there is an emphasis on how we can apply abstraction and decomposition to address everyday challenges.
The Unit looks at activities and exercises to establish understanding of the basis of numeric representation through exploring the principles behind digital images, their capture, storage and rendering. Character coding schemes provide an opportunity to consider effective ways to encode the alphabet and explore the basic principles of compression, such as the dictionary approach behind Lempel – Ziv compression techniques. Finally, a practical exploration allows us to demonstrate how ascii characters in a text file can be rendered as a picture. This also introduces the idea of different file formats and the importance of file header information.
This Unit explores the structure of computers and computer processes from the level of individual bits to multitasking and parallel processing computers operating across the internet. The specific outcomes for teachers from this unit, are to:
- Become familiar with Boolean logic and machine architecture.
- Be able to express combinational logic circuits as truth tables.
- Make connections with exemplar circuits in processors (adders).
- Investigate exercises exploring / coding bitwise operations.
- Become familiar with the fetch execute cycle, Von Neumann bottleneck and the potential of parallel processing.
Ultimately, we hope they will leave inspired to introduce some of these key ideas at key stage 3.
Open any GCSE textbook and you will see a diagram describing computation in terms of Input – Process - Output. It is a convenient starting point for a discussion. Ask a class the question; ‘What is a computer?’ and you’ll receive a variety of answers. Some will focus on a physical description, others might try to explain how a computer works, naming internal components. This Unit explores the representation of computers and computer processes using the construct of finite state machines ranging from the humble hairdryer through to Turing's model of a computer.
This Unit is designed to introduce teachers to core ideas about agent based modelling and give them practical experience of modifying existing models. The core challenges are supplemented with a range kinaesthetic activities to build awareness of decentralised systems.
By the end of the Unit, attendees will have had practical exposure to two well known modelling tools, one block based (StarLogoTNG/Nova) and one text based (NetLogo) as well as West Point Bridge Designer (the deterministic, analytical modelling software).
Along the way they will have considered a pedagogical framework for introducing modelling activities to children that starts by using and exploring models as a precursor to building their own.