Computer Science

Computer Science is a field of study that has something, but not a whole lot, to do with the things we now call computers.


Wikipedia’s Definition, as of 2015-01-01:

Computer science is the scientific and practical approach to computation and its applications.

My definition:

Computer Science is the theory and practice of computation, algorithms, software systems, data organization, knowledge representation, language, intelligence, learning, and consciousness.

A shorter definition, relating it to other broad fields of study:

The search for fundamental truths of the universe using logic (reasoning).
Reasoning on a formal basis (symbol manipulation).
Computer Science
The science of automating the reasoning process.

More buzzwords:

Computational Procedure
A step-by-step process for solving a problem described by a finite number of steps, where the execution of each step takes a finite amount of time. Steps can be of the form “go to step number n” so the process need not terminate.
A computational procedure which terminates regardless of its input.
Program (or Script)
An expression of a computational procedure in some language.

You might also want to see what Wikipedia has to say about Computer Science. (After all, this is one of the areas in which Wikipedia is “way better” than Britannica!)

Questions Computer Scientists Ask

These are the questions that characterize computer science:

None of these requires a computer to answer, right?

Wait—there’s one more question: Does P = NP?

What Computer Scientists Do

In case anyone asks you, computer scientists:

Subject Areas

For what it’s worth, the ACM and IEEE identified these 18 knowledge areas in Computer Science way back in 2013.

Exercise: Has anything changed? Can you think of recent trends in computing that might warrant another category?

More Subject Areas

Here’s a finer breakdown of subject areas within computer science:

Recurring Concepts

Computer scientists need to understand the following concepts. Note that these are not specific to computers that have keyboards and monitors.

Kinds of Software

People use principles form computer science to create lots of different types of systems. Here’s a rough list of (overlapping) software system categories:

Related Fields

Computer science borrows from, and touches, a whole lot of other fields, including:


Wikipedia has a list of famous computer scientists. If you want to read about some of these people, don’t skip Alan Turing and Grace Hopper. Also find out about Donald Knuth and Alan Kay.