3 ms·
Computer science has two origins, born from electronic engineers who studied the ways to build the physical devices required for computation; and mathematicians
by TuringTest 5y ago
Computer science has two origins, born from electronic engineers who studied the ways to build the physical devices required for computation; and mathematicians who studied the best way to represent the desired computations as configurations on such devices. This double soul still lives as the distinction between hardware and software (though the line can be blurred, with programable microchips like FPGAs or the direct implementation of algorithms on hardware in ASICs).
However, there's a general and unified way to define anything computing-related, unifying both traditions: seeing computer science as studying the automatic processing of symbols. I.e., anything that the human mind treats as a symbol with a meaning, that can be represented in physical devices and transformed in a different set of symbols through mechanized processes.
This definition widens the scope of comp.sci beyond its origins in representing calculations of physics and maths, to include other fields typically taught in the degree but that people don't think of as computer science: natural language processing, design of viable user interfaces (human-computer interaction), design of adequate programming languages apt for different problems.
The most general view of this definition encompasses disciplines far removed from engineering, but which are nonetheless used to expand its frontiers: aristotelian ontology was used to invent object-oriented programming, and is still used to explore the semantic web; or semiotics to explore what ideas can be represented and processed automatically, and the best way to build user interfaces tailored to the way we think.