7 ms·
Maybe I am too old, but from my vantage point, "Computer Science" and "Algorithmic Science" are really two entirely separate fields. Computer Science is exactl
by realo 10y ago
Maybe I am too old, but from my vantage point, "Computer Science" and "Algorithmic Science" are really two entirely separate fields.
Computer Science is exactly what the OP talks about: computers, CPUs, implementation details, hardware, plumbing, etc... One needs actual hardware on the table to work this out. Imperfect hardware, with latencies, clock issues, etc... THAT is true computer science, IMHO, and is very near Electrical Engineering.
On the other hand, Algorithmic Science really is an applied form of mathematics. One does not actually _need_ a computer to design, understand, invent algorithms. A brain, paper and pen are enough.
Those are two different sciences, and I suspect very few people are actually great (world class) in both simultaneously. It is futile to imagine that a single school curriculum would adequately form people in those two very different topics.
I could add that where I work, we have in-house the two kinds of people: a couple of mathematicians for the (amazing algorithms) and a few very picky low-level programmers who actually implement the algorithms with blazing fast, hand-crafted code. The two groups would never dream of doing the other's job.
- jventura 10y ago> Computer Science is exactly what the OP talks about: computers, CPUs, implementation details, hardware, plumbing, etc... One needs actual hardware on the table to work this out. Imperfect hardware, with latencies, clock issues, etc... THAT is true computer science, IMHO, and is very near Electrical Engineering. It really depends on what sources you base your concepts on. I would say that, for instance, what you mention is more closely related to "computer engineering" than "computer science". For instance, in [0]: "Thus CS is closer to the underlying theory of computation, with its roots in mathematics, and CEN is closer to the design of physical devices (...) Of the three great divisions in computing, namely theory, software and hardware, to a first approximation theory goes with CS, hardware with CEN, and software with both (...)" In my country, our technical schools and most universities provide what we call "informatics engineering" (engenharia informática), which has a bit of CS (in terms of basic concepts, algorithms, abstract data types, etc.), CE (some low level electronic stuff) and Software Engineering (Programming, OOP, Web Programming, Logic/functional programming, etc.). [0] http://www.eng.buffalo.edu/undergrad/academics/degrees/cs-vs-cen http://www.eng.buffalo.edu/undergrad/academics/degrees/cs-vs...
- d0mine 10y agoComputer science is as much about computers as astronomy is about telescopes https://en.wikiquote.org/wiki/Computer_science https://en.wikiquote.org/wiki/Computer_science
- ZenoArrow 10y agoYes and no. The difference with computing the design of the physical hardware influences the design of the programs that are written for it. If the astronomy analogy fully applied then the design of the telescope would influence the design of the universe.
- d0mine 10y agoTelescopes influence what you can see they do not influence the stars.
- gravypod 10y agoComputer design can't influance what you see but what you can implement. If computers still only had 512bytes of memory we'd be writing programs different then today making a trade off of computation speed for ram size. If CPUs didn't have pipelines then parallelized algorithms wouldn't be as important and I feel that mutli-CPU machines would have taken off to make room for other forms of parallelization. As the GP says, Galileo's telescope didn't make the universe smaller or larger, it just let him see things in that universe. Nothing changed but what he was holding.
- d0mine 10y agoYou are missing the point. No doubt the Hubble telescope shows much more than what Galileo had available in XVII century. New instruments enables discovery. But the science is not about the instruments.
- asimpletune 10y agoScience is the pursuit of truth, whereas engineering is the art of balancing resources and time to achieve a concrete goal (like a product). In that sense, Computer Science is the pursuit of observing, classifying, and predicting of computation phenomena, whereas Computer Engineering is the actual practical matter of building things that take advantage of computation phenomena.
- perfmode 10y agoBest distinction so far.
- Ar-Curunir 10y agoI was using today's nomenclature, where computer engineering refers to the low level architecture stuff, and computer science to the higher level things.
- lobster_johnson 10y agoIn my native country, computer science is called "informatics" [1], a term which I've always liked but which hasn't quite gained a foothold in the US. It covers everything from complexity theory to algorithms, but is focused on science, not engineering. [1] https://en.m.wikipedia.org/wiki/Informatics https://en.m.wikipedia.org/wiki/Informatics
- white-flame 10y ago> Computer Science is exactly what the OP talks about: computers, CPUs, implementation details, hardware, plumbing, etc... One needs actual hardware on the table to work this out. Imperfect hardware, with latencies, clock issues, etc... THAT is true computer science, IMHO, and is very near Electrical Engineering. This is typically called Computer Engineering in curricula. Computer Science is all about the "Science" of Computing, hence its focus on algorithms, computability, etc. What's missing is actually Programming. "Software Engineering" tends to focus on project management; "Computer Science" is about modeling computing and not programming; "Computer Engineering" is about how the hardware works, not how to use it... Programming well still tends to be tribal knowledge, apprenticeship, and craft.