Our smartphones and tablets are ultra complex technical systems, and yet they are very easy to use. Most children get their first smartphone already in primary school. Many are very skilled operators of their devices, often even more skilled than their parents. But children have no idea how a smartphone works. If you tell them that behind the screen live small dwarfs which paint the screen content on the glass very quickly, they laugh and know that this cannot be true. But in the end they have no better explanation for the amazing capabilities of their device.
Is this a problem?
I believe that in the long run it might become a very serious problem. If you don‘t know how a technology works you have to treat it as a black box: you only understand the simple input and the simple output of the machines built with the technology. But unfortunately computers and smartphones are not ideal black boxes, there are significant side effects: devices can be hacked, make mistakes and corrupt data sometimes. Data can be stolen or lost.
Of course these side effects and how to deal properly with them can be learned too. But this kind of knowledge is only valid for the current generation of hard- and software and will be outdated very soon. Also, if you don‘t understand a technology it is not possible to predict its future developments. But if people don‘t have the ability to predict what is going to happen next, society will always react too slowly to new developments. This is significant, as the speed at which technology is developing is accelerating. At some point it might not be possible anymore to solve problems when they have already become widespread.
I also fear that — if the current trend continues — future generations will think of technology as some kind of magic. This would give a new caste of engineers („tech priests“) huge power over the uninformed masses.
But how to teach them? A modern computer or smartphone is so incredibly complex that almost all teachers have given up on the challenge. But is such a goal realistic when even senior engineers don’t understand every aspect of a smartphone (actually not even a small fraction of the whole device)?
To answer this question we have to understand how ultra complex machines are built. There are three key mechanisms:
- Encapsulation: Machines are built as modules which have easy to understand input and output and negligible side effects. These machines can be treated as black boxes from which more complex machines can be assembled. This process is repeated over several „levels of abstraction“. On each abstraction level the engineering process is, thanks to the encapsulation of complexity in the modules, as easy as assembling LEGO bricks to a cool model.
- Tools: Some machines are built to build other machines. Tools allow the construction of more complex machines. Again the process is repeated many times, from the hammer to a chip factory.
- Collaboration: Complex machines are rarely built by individuals but by large teams of people with a wide range of skills.
Fortunately 1.-3. can, as we will see later, be taught without too much effort.
We also need a realistic goal. Understanding all the technology in a smartphone is obviously not realistic. So what could be a realistic goal? I suggest the following:
Children should understand enough to realize that it is possible for normal human beings to build such machines: it‘s not magic: I could do it by myself
Note: The „I could do it“ requires to actually build such systems by yourself. You are not sure that you can do something until you have really done it.
So, if we want to achieve the goal stated above, what knowledge and skills should we teach children in schools?
- They should understand (from experience!) the three key mechanisms listed above.
- They should build their own modules (from lower level modules) on all the abstraction levels of a smartphone using state of the art industrial tools and components. This shows them that the engineering work at any of the abstraction layers is not magic.
1 can be actually taught in the forest (!). Watch the following „Primitive Technology“ video on youtube:
https://www.youtube.com/watch?v=P73REgj-3UE
The author built a small hut from bricks (=module to build houses!) which he has burnt in a furnace (=tool) he constructed before. Something like this could be repeated in a simplified form with a school class, where children work in different groups on different subproblems like building different tools (=collaboration!). The important part is, to start with very basic tools (ideally only the hands) and step up to higher levels of complexity by using mechanisms 1.-3..
A journey through the abstraction layers (and some important modules) of a smartphone (2. above) could look as follows:
- Electric current and basic circuits: creating very simple circuits from batteries, switches, bulbs and electric motors. Experience parallel and serial circuits with these components
- Electronic components (resistor, capacitor, transistor etc.): simple experiments with these components
- Digital gates: building some gates (like NAND) from electronic components
- Digital circuits: building different FlipFlops from basic gates
- Digital circuits 2: building a shift register from FlipFlops (hardware or in a simulator)
- Integrated circuits: explore different electronic chips including an old (like 1975) microprocessor under the stereo microscope. Create a litography and learn how the method is used to make chips
- Microcontrollers: play the microcontroller role play: children are playing different modules of a microcontroller (ALU, registers, data and address bus, RAM etc.) to execute a simple program in the group (e.g. computing fibonacci numbers). Then they write their own programs in assembler and translate them to machine code (everything for an extremely simplified CPU architecture)
- Complex hardware: build a simple Arduino or micro:bit controlled UHF radio with display
- Complex software: Write a software for the radio (e.g. using a graphical programming language)
For each step about 2–4 hours are required. Therefore I believe it is possible to complete the whole journey in only about 30 hours (about 1 week of school!).
For each level a learning experience needs to be designed. It is important that the children can learn by experimenting with the modules of the previous abstraction layer. For instance for level 1 we have designed a simple electromechanical robot:
https://lardel.li/2019/02/a-simple-electromechanical-robot-to-teach-robotics-in-primary-schools.html
Ideally the kids can try out their own ideas and play with different configurations of modules (in the spirit of Seymour Papert).
It is clear that all this needs teachers (most have little technical expertise) to be guided. We would need to create, in a team of teachers and engineers, a complete set of well designed learning experiences for all levels and provide a clear and complete documentation for teachers and children: background information, building instructions, ideas for experiments and improvements etc..
Maybe it is necessary to create special training centers where school classes go for a week to learn about computer technology. There all the experimenting could happen under the guidance of specially trained teachers.
Title image: Shutterstock / F. ENOT
Follow me on X to get informed about new content on this blog.