Tuesday, March 19, 2013


What is Computer Science

Computer Science" was invented as a term to distinguish it from "computer engineering" -- i.e., the design/development (engineering) of computer hardware. It was a way to set up an academic department and degree program that wasn't part of existing EE departments. There was an early hope of people like Dijkstra that there could be a kind of "software mathematics" developed around algorithmic proof and characterization. There isn't, and there won't be. There's a field called "haptics": the science and engineering of tactile human-machine interactions and interfaces. But that's not "Computer Science". Artificail intelligence was once the next great hope for "Computer Science". It's not going anywhere. There is a field called "Information Science" -- something that librarians do. "Computer Science" isn't that, either. It's bifurcated into esoterica such as Turing logic and complexity theorems, numerical computation, and things like compiler and OS and database design. Oh, and learning enough programming to get a job. Unfortunately, "Computer Science" doesn't actually exist. There is no "science" at all in "Computer Science". It is about "software engineering", and it would be nice if we could finally admit that. By the way, in the late 1960s I reviewed some of the early drafts of Knuth's first book, back when he was using computers and operating systems and compilers and languages we had designed years before to test his algorithms. And no one has even mentioned von Neumann? It's amazing how little of the actual history of the development of computers most "educated" Computer Science graduates actually know.

by WTon 3/19/2013

There is plenty of debate about what Computer Science is and is not. However, the only thread that runs through all the arguments is programming. Computer Science *is* about programming. Programming is the metaphor used to prove theorems in Computability. Algorithms are about programming. How nature uses computation is about weird ways of programming. Computer Science encompasses various kinds of management science which is all about managing human teams of...programmers. Computer Engineering is about algorithms (programs) distilled into hardware. There's some math in Computer Science, but it's all about the bounds you can place on algorithms, which is programming again.

by SeattleC++on 3/19/2013

You left out software engineering, which is an essential part of computer science. What good is the graph theory and Boolean algebra if you can only create toy programs? Creating large-scale applications is one of the main challenges to computer science. While progress has been made, it's still largely an unsolved problem. We currently don't have the technology to guarantee a software system is bug-free.

by Alan C. Balkanyon 3/19/2013

Post a Comment