What Is Computer Science Really About?

7 minute read

Published:

Computer science is not mainly the study of computers.

That may sound strange.

Astronomy is not mainly the study of telescopes.

Biology is not mainly the study of microscopes.

Computers are tools and physical realizations.

Computer science studies something more abstract:

computation, information, representation, and algorithmic processes.

Computers Are One Implementation

A computer can be built from:

  • silicon,
  • relays,
  • vacuum tubes,
  • mechanical parts.

The same algorithm can run on many substrates.

This tells us that the subject is not one machine type.

Algorithms

Algorithms are central.

Computer science asks:

  • Does an algorithm exist?
  • Is it correct?
  • How efficient is it?
  • Can it be improved?

These questions are mathematical.

Data

Algorithms operate on representations.

So computer science also studies:

  • data structures,
  • encodings,
  • databases.

How information is shaped determines what operations are easy.

Representation

A graph can represent:

  • roads,
  • friendships,
  • dependencies.

The same mathematical structure can model many domains.

Computer science often gains power by choosing the right representation.

Abstraction

Abstraction hides irrelevant detail.

A programmer uses:

  • function,
  • object,
  • process

without reasoning about transistor physics at every step.

Layering makes complexity manageable.

Computability

Theoretical computer science asks:

What can any algorithm compute?

The answer has absolute limits.

The halting problem shows that some tasks are impossible in principle.

Computer science studies impossibility as rigorously as possibility.

Complexity

For computable problems, another question follows:

How many resources are required?

Complexity theory classifies problems by:

  • time,
  • space,
  • randomness,
  • quantum resources.

Efficiency becomes a mathematical object.

Programming Languages

Programming languages are formal systems designed for human-machine communication.

Computer science studies:

  • syntax,
  • semantics,
  • type systems,
  • compilers.

Language design shapes what can be expressed safely and clearly.

Software Engineering

Large software systems introduce problems beyond algorithms.

We must manage:

  • change,
  • coordination,
  • reliability,
  • testing,
  • architecture.

Software engineering studies computation at organizational scale.

Operating Systems

An operating system manages:

  • processors,
  • memory,
  • storage,
  • devices.

It creates abstractions such as:

  • processes,
  • files,
  • virtual memory.

Computer science repeatedly converts messy physical reality into clean conceptual interfaces.

Networks

Computer networks study how distributed machines communicate.

Questions include:

  • routing,
  • reliability,
  • congestion,
  • protocols.

The internet is a computational system without a single central computer.

Distributed Systems

Distributed systems face fundamental issues:

  • partial failure,
  • delay,
  • concurrency,
  • consensus.

The absence of one global clock changes what can be known and coordinated.

Epistemic logic returns in engineering form.

Databases

Database systems study:

  • storage,
  • retrieval,
  • transactions,
  • consistency.

A database is not merely a collection of files.

It is a formalized system for maintaining structured information under concurrent change.

Artificial Intelligence

AI asks how machines can perform tasks involving:

  • perception,
  • reasoning,
  • learning,
  • planning.

AI is part of computer science because these capabilities are studied as computational processes.

Machine Learning

Machine learning changes the traditional programming picture.

Instead of explicitly coding every rule:

data + optimization

produce a model.

The system learns a function from examples.

Graphics

Computer graphics transforms mathematical models into images.

It combines:

  • geometry,
  • physics,
  • perception,
  • algorithms.

Again, computer science crosses disciplinary boundaries.

Human–Computer Interaction

Computation is used by humans.

So computer science also studies:

  • interfaces,
  • usability,
  • interaction.

A technically correct system can still fail if people cannot use it effectively.

Security

Security studies computation under adversarial conditions.

The question is not only:

Does the algorithm work?

But:

Does it still work when someone actively tries to break assumptions?

Threat models become part of correctness.

Cryptography

Cryptography combines:

  • number theory,
  • probability,
  • complexity.

It creates systems where certain operations are easy for authorized users and hard for attackers.

Information can be protected mathematically.

Verification

Formal methods ask whether software satisfies specifications.

This returns computer science to logic.

Programs become mathematical objects.

Correctness becomes theorem proving.

Robotics

Robotics combines computation with physical action.

A robot must:

  • sense,
  • plan,
  • control.

Computer science extends into embodied systems.

Scientific Computing

Scientists use computation to model systems that cannot be solved analytically.

Examples include:

  • climate,
  • fluid flow,
  • galaxies,
  • molecular systems.

Computation becomes a method of science.

Computer Science as the Study of Processes

One broad definition is:

Computer science studies information processes.

This includes:

  • algorithms,
  • communication,
  • learning,
  • representation.

The computer is one realization.

Dijkstra’s Famous Comparison

Edsger Dijkstra famously compared computer science’s relation to computers with astronomy’s relation to telescopes.

The point is not that hardware is irrelevant.

It is that the intellectual subject exceeds the instrument.

Is Computer Science Mathematics?

Parts of computer science are deeply mathematical.

Examples:

  • algorithms,
  • complexity,
  • logic,
  • cryptography.

But other parts are empirical and engineering-oriented.

Computer science spans modes of inquiry.

Is Computer Science Engineering?

Much of computing builds artifacts.

Systems must:

  • work,
  • scale,
  • survive failure.

This is engineering.

But the field also proves abstract theorems unrelated to immediate construction.

Is Computer Science a Natural Science?

Some areas empirically study:

  • networks,
  • users,
  • machine-learning systems.

Others model natural computation and cognition.

But the field’s core objects are often artificial or abstract.

The classification is not simple.

A Science of the Artificial

Herbert Simon described fields concerned with designed systems as sciences of the artificial.

Computer science fits this well.

Its objects are often created.

Yet their behavior can be discovered rather than simply chosen.

Programs Surprise Their Creators

A complex program can behave in ways its author did not foresee.

Formal rules generate consequences.

Engineered systems can become objects of scientific investigation.

Emergence in Software

Distributed systems, networks, and learning systems can display global behavior not obvious from local code.

Computer science therefore studies emergent phenomena too.

Computer Science and Logic

Historically, computer science grew from:

  • logic,
  • mathematics,
  • electrical engineering.

Turing’s work on abstract machines predates modern electronic computers.

The conceptual foundations came before the hardware revolution.

Computer Science and Information

The field studies not only computation but also how information is:

  • encoded,
  • transmitted,
  • stored,
  • transformed.

This connects it to Shannon’s information theory.

Computer Science and Abstraction Layers

A modern system contains layers:

  • transistor,
  • logic gate,
  • instruction set,
  • operating system,
  • runtime,
  • application.

Each level hides lower-level complexity.

The discipline is partly the art of building useful layers.

Interfaces

An interface specifies what one component promises another.

Good interfaces reduce cognitive load.

They let us reason locally.

Abstraction is not merely elegance.

It is a survival strategy for complexity.

Computer Science and Limits

The field is unusual because it studies both:

how to build algorithms

and:

why some algorithms cannot exist.

Negative results are core knowledge.

This makes computer science partly a science of limits.

Theoretical and Practical Unity

A theorem about complexity may affect cryptography.

A type-theory result may shape a programming language.

A graph algorithm may route internet traffic.

The abstract and practical continually interact.

The Philosophical Lesson

Computer science is best understood as the systematic study of:

  • computation,
  • algorithms,
  • information,
  • representation,
  • complexity,
  • computational systems.

Computers are important because they physically realize these ideas.

They are not the whole subject.

The Next Question

If computation is the subject, then computer science needs a characteristic way of thinking.

What habits let us turn messy problems into computable structures?

That leads to:

computational thinking.