- Computer Science and Telescopes
- Computer Scientists Cant Program!
- What Is It Good For?
What Is It Good For?
If they can’t program, what’s the point of having computer scientists? For an academic subject to justify its existence, it must impart some useful understanding to its students. Computer science is first and foremost a branch of applied mathematics, so a computer scientist should be expected to understand the principles of mathematical reasoning. But there are two areas that separate computer science from much of mathematics:
- Focus on efficiency. At the theoretical end, this focus manifests itself in complexity theory, which groups algorithms according to their time and space requirements for execution. Closer to engineering, this becomes a focus on minimizing the number of instructions issued on a real architecture, or eliminating other bottlenecks. Most of computer science is somewhere in the middle, and involves finding an efficient (if not optimal) solution to a problem with real requirements. Much of this principle is equally applicable outside of computing; for example, in optimizing a business workflow.
- Focus on thinking simultaneously at different levels of abstraction. Closer to the applied end of computer science, algorithms are expected to run on real systems. The instructions that will be executed when the program runs, the high-level algorithms used to create these instructions, and the interface with which the program interacts with the user are all important, and a computer scientist learns to keep all of these issues in mind at once.
Computers are part of everyday life for a lot of people. Even discounting desktop computers, most people interact with a large number of computing devices every day. This trend has lead to a more algorithmic view being taken of a lot of processes, and computer science is essential in building these devices.
The decline in computer science applicants is likely to continue for a while. Computer science is no longer a buzzword-compliant "get rich quick" subject, and people (outside the BCS) are starting to realize that it’s not a vocational software development degree course. This realization is likely to be good for the subject in the long run, because it will remove many of the students who never should have chosen that field in the first place. Physics has also seen a decline in applicants in recent years, and no one is claiming that it’s dying and needs to cater more to teaching people to be second-rate engineers, rather than first-rate scientists.