They should understand the role of the memory, the processor, the storage devices, the communication devices, and the protocols for controlling them. They should also understand the principle of layered systems - these are encountered daily in many different contexts. The key issues here are the design of interfaces and understanding of the competing forces of information hiding and information giving. We should include here also topics that relate to management of networks - protocols, reiteration of the naming concept, routing, bandwidth, etc. The ability to comprehend and be able to manage complex tasks is crucial in today's world.
Networks support communication.
By understanding the underlying principles one is better equipped to be concerned about the dangers, be aware of the limitations, and be ready to explore the full range of options available. They should understand a bit about 'who is responding' to their mouse clicks, possibly by imitating a computer in role playing games. In middle school and high school students working with computers should take time to learn about the various components, their role, and how the interaction between the various parts is controlled by the operating system. While using the computer for communication and 'library search' students should also become aware of the need for network protocols, routing algorithms, search engines, etc. All information literate individuals need to understand why some algorithms cannot be performed in any reasonable time and why other algorithms arrive at the answer very fast.