Introduction to Advanced Level of Computer Science
If you arrived at this level of the lessons, you may consider yourself a novice computer engineer.
The reason is because you now have a basic knowledge of the computer as hardware, a beginner level of algorithms and beginner level of programming.
Now you will be confronted more and more in making a choice on your studies.
Getting an advanced level on hardware, on the theory of computer science, or getting more into the programming side.
This lesson will guide you on this choice. But whatever the choice is, you must have a general knowledge of computer science, because workers from every expertise are confronted with problems from other areas of computer science. For example, supposing you chose to become a programmer, you must acquire hardware knowledge to design and debug programs for specific hardware configurations.
What About Input/Output?
So now how are these all related to input/output? The answer is, the input/output is the main aspect of the computer science. It defines the whole system. It is related to system theory of Bertalanffy. Every system in the world is an open system. An open system always has input and output. No system can live if it didn't adhere to this rule; it will be destroyed. In contrast, a closed system can live without an input or output. It is a self sufficient system. No closed system has ever been discovered.
I recommend the lecture of Bertalanffy to gain further knowledge on this. So a computer is an open system that needs an input and makes an output. Input and output is not only related to personal computers but also other devices. About this I recommend a lecture on the theory of communication, especially Claude Shannon and Norbert Wiener.
Input and output is abbreviated I/O. There are many levels of input on today's personal computers. To first understand I/O I will talk about the computer input and output. So here is the plan of our study:
As you may see here all of these levels need special expertise. The further you go here, the more you will get special knowledge on the level you chose. And any level you choose here, the expertise is infinite, and you will arrive finally to the end of this knowledge where you can contribute to today's science.
1 and 0 are the main aspects of machine level input/output. 1 means there is an electrical signal (or there is electricity) and 0 means there is no electrical signal (or there is no electricity). On this level you get more into the electronic level of the computer. I recommend you study electronics to get further expertise on this level.
The AC or DC electricity that feeds the computer is the first input of the computer. Then comes the printer, the screen, the audio/video (not in that order of course). These are some classical outputs that we know. But computers have countless other applications, including cars, washing machines, cellular phones, and stone cutting machines with laser output.
The mother of today's computer functioned without electricity. It was a textile machine converted to a machine that gets an input as paper with special holes combined with a special system. On receiving input, the textile machine could calculate based on the data and output the result.
The same principles hold within the computer as between the computer and its environment. Each part of the computer receives input and produces output. Hard disks, RAM, and chips all receive electric signals as input and produce them as output.
So as you can see here you can get smaller and study more and more of these electrical signals as input and output.
To analyze the electronic signals that constitute input and output, you must learn Boolean logic, mathematical logic calculation, and algorithms.
Input/Output on the Coding Level
On the coding level we can analyze the input and the output by the use of algorithms. On the coding level not all input produces output. There are five categories of inputted data:
Output passes through several stages on the way from its origin as electric signals to human-readable data:
Input/Output on End-User Level
From an end-user point of view, the initial electric signals may turn into a letter on the screen, motion of a robot arm, a laser shot, or a car engine start. One should consider here that we use disguised computers in our cellular phones, televisions, robots, toys, trains, airplanes, warheads, and missiles.
An infinite number of examples of inputs exists. Inputs can be grouped as follows:
With outputs there is also an infinite number of possibilities. For example:
<Note: Modified significant portions. Removed opinionated statements without references, removed irrelevant references to specific programs. Note that the micro-robot destruction of AIDS is still in research phase and suitable only for application to animals!>
Input/output can be electric or non-electric signals. It can be mechanical, biological, or even abstract. After all, computers formerly operated without electricity, and their current application is nearly limitless. A computer scientist does not deal merely with electrical devices.
<Note: Chopped off more unreferenced opinions and philosophical speech.>