What is Computer Science?
Computer Science, when thought by non-computer scientists, is often directly linked to personal computers. While this thought is not completely wrong, it is indeed very very limited. Personal computers are machines that perform computations, and computer science is more related to the computing part than the machine part. To generalize, computer science is the art of computation.
To take an example, consider the figure below. It will remind you of something you must have seen in Information technology books during primary schools.
The figure above shows that all what a computer does is that, it takes some inputs, applies some processing on it and output the result of the processing. An operation can be as simple as the addition of two numbers.
Now, the question again, what is computer science? Contrary to what many would think, with respect to the above figure, computer science isn’t only related to the Process
part, but it is also very much related to the Input
and Output
parts. So, in plain terms, computer science studies how to present inputs to a processor, i.e. the entity responsible for the Process part. It also involves studying how to present outputs from the processor. It is important to note that outputs may be not directly used by human beings. The outputs may be inputs to other Processors, or the same Processor. In the latter case, the output is referred as feedback.
Let’s now use some technical terms and examples. We start the following terms’ definitions from Wikipedia.
- A Algorithm is a finite sequence of well-defined, computer-implementable instructions..[1].
- A Data format (file format) is a standard way that information is encoded…[2]
When sending inputs to a processor, the inputs should be a in file format that the processor knows how to interpret. Also, when a processor provides some ouputs, the outputs are always encoded in a particular file format. One may see the output as plain english but be sure that the output is encoded in a file format. So file formats are very central to processing/computing units. A significant part of computer science is made up of techniques to study algorithms that can process data in a particular file format. For example, one may use the Big-O notation technique to study the computational complexity of an algorithm that process inputs in the XML format. Do not hesitate to completely forget the previous sentence and never remember it again in your entire lifetime if it does not make sense, believe me, it will not prevent you from understanding what is computer science 😉 Finally, now, I can graciously provide my definition of computer science.
Computer science is the study of algorithms related to computer processes and their input/output data formats.
Rest assured that the above is far from being a consensus, some even argue that computer science is not a science. Many may probably disagree about the use of input/output data formats in my definition, as I could have stopped at “computer processes” itself. Nevertheless, I believe that the study of algorithms related to only input/output data formats is crucial for the success of computer processes.
- Algorithm, Link:https://en.wikipedia.org/wiki/Algorithm
- File format, Link:https://en.wikipedia.org/wiki/File_format