Teach Computing and the Raspberry Pi Foundation propose that we can organise the knowledge and skills within the teaching and learning of networks and computer systems into four broad themes (helloworld.cc/rpf2021). In turn, we can then divide these themes into four tiers of detail/abstraction, and the relevant concepts can be mapped to each of the resulting 16 areas as a themes and tiers model (Figure 1 above).
The themes and tiers model
The four key themes are as follows:
This covers the physical devices and components that work together to form a computer system. The deeper learners explore this theme, the more they focus on how different components work, as well as the logical concepts and physical processes on which the system is built.
This encompasses internet services (including cloud computing), operating systems, applications, utilities (such as drivers), and assembly/machine-code language. Learners begin by understanding software that is visible to them, such as the operating system on their computer, before moving onto more abstract software concepts.
This includes an understanding of the different types of computer network, the components that make up a network, and how these components are connected together. As learning in this theme progresses, learners can design and build their own simple network to a given specification.
This theme focuses on how data moves around networks. Students begin by learning about common protocols for transferring data across networks, and then move on to understanding methods to make sure data is transmitted securely, reliably, and rapidly.
While these themes help describe the content within the study of networks and computer systems, they are still very broad concepts. At different points in a learner’s journey, they may explore the same or similar concepts, albeit from a different perspective or level of abstraction. For example, within the data transmission theme, learners may first find out that devices within a network can communicate with each other. Later, they explore the reasons why protocols are needed, and after they delve deeper, they become aware of a range of protocols and their uses. Eventually, they become familiar with how those protocols are implemented.
Learners therefore examine the system and wider networks from a range of perspectives. Teach Computing and the Raspberry Pi Foundation refer to these perspectives as tiers, with learners moving from the highest, most abstract tier, to the lowest tier, as follows:
System/network tier: a highly abstract view in which learners focus on how systems and networks are used to solve problems.
Device tier:learners are concerned with familiar computing devices, including computers, phones, tablets, and embedded systems.
Component tier:learners look inside the device and understand the purpose of common constituent parts that make up every computing device.
Implementation tier: learners focus on the specific details of how the smallest components are built, how they work, and how they are controlled.
We can see how these themes and tiers can interact in Figure 2.
Teaching approaches for computer networks
Teaching about networks requires a balance between theoretical concepts and practical activities, to help learners move from the system tier through to the implementation tier. The theories underpinning computer networks are too abstract to be understood without practical examples, but practical activities alone will not provide the deeper understanding of the principles and protocols that underpin a fully functioning network.
We can classify teaching approaches for learners aged five to eighteen into the seven different categories shown in Figure 3, which have been adapted from the work of researchers Prvan and Ožegović (helloworld.cc/prvan2020). This categorisation offers a range of approaches that you can try out in your classroom setting, supporting you with striking that balance between theory and practice:
Using network simulators: network simulators help learners to design, configure, and compare network topologies in a risk-free virtual environment. The network design can then be tested for performance, bandwidth, and latency, and modified as required. Examples of network simulation tools include Packet Tracer from Cisco (see the article on page 32 for more on this tool).
Using multimedia and animations: using high-quality video content provides learners with a visual overview of network activity. For example, animations can show some of the paths taken during data transmission, and images can illustrate the different sections of a datagram, including the header and footer.
Using visual analogies: teachers can draw on real-world examples to help explain abstract concepts. An analogy such as the way a letter moves through the postal system can be used to compare the way that data is routed through a network. When using analogies, it is recommended that a semantic wave approach is used, to unpack theoretical concepts using concrete examples and then repack learners’ understanding with clear links back to the theory, to avoid misconceptions (see the ‘Unplug, Unpack, Repack’ section of The Big Book of Computing Pedagogy for more on semantic waves — helloworld.cc/bigbook).
Using network monitoring tools: network monitoring tools provide visible information about real-world networks to help learners better understand the process of routing data across a network. This information can be used as a diagnostic tool to think critically about errors in data transmission or to better understand the behaviour of packet exchanges between network layers. Use of these tools is dependent on network security settings, but even basic Windows commands such as ‘tracert’ can provide interesting learning points about the speed and route of data across networks.
Problem-based learning: identifying errors in a network and fixing them is a type of active learning that can provide opportunities for deeper understanding of concepts. Ensure that the network failures are designed to maximise the opportunity for learning, and to offer opportunities for group discussions to identify potential solutions.
Playing games: game-based learning includes creating scenarios involving insecure or faulty networks and challenging learners to work as a team to problem-solve. This can be a highly motivating context for learners, although teachers must also make sure to pre-teach the prior knowledge learners need and to model examples of successful collaboration.
Practical activities: tasks such as setting up a physical network with low-cost equipment provide valuable hands-on experience to illustrate theoretical principles. For example, we can configure Raspberry Pi to act as a server, and in doing so, learners must set up a static IP address and connect to a default gateway and DNS server. By configuring and testing these settings, learners gain a deeper understanding of how networks are implemented in real-world situations.
There are a number of different practical considerations when choosing a teaching approach for each topic. It is recommended that teachers work with their school IT staff to identify opportunities and constraints, including available equipment, security protocols that are in place on the school’s network, and whether high-quality visualisation resources such as videos or animations are available. We should use carefully planned units of work to involve coverage across the themes and tiers model, and to strike the balance between theory and practice, supporting your learners with developing and understanding these foundational skills and knowledge.