4 ms·
A good metaphor that I like to use is to relate computer science as it is now to physics, engineering and maths. All three have a degree of overlap, but each of
by 14113 12y ago
A good metaphor that I like to use is to relate computer science as it is now to physics, engineering and maths. All three have a degree of overlap, but each of them thinks about the same problem entirely differently, with different purposes. The mathematicians try to build abstract formalisms, which physicists then apply to explain real-world phenomena, which are then exploited by engineers to build artefacts.
Of course, that's a huge simplification, and in reality there is huge overlap - mathematicians often perform the "modelling the real world" aspect, physicists often work with highly advanced abstract mathematics (general relativity anyone?), and engineers often do very fundamental research into physical phenomena.
A similar hierarchy can, and should (I believe) be applied to what I'll call the "computing sciences": Maths remains where it is, while computer science replaces physics, and software engineering replaces general engineering.
Under this model, it would seem ludicrous for someone to study computer science and complain that they were not being taught to build programming artefacts. A student studying physics would be laughed at if they complained that they weren't designing enough cars, or building enough bridges.