Computer
science is the study of computation, information,
and automation. Computer
science spans theoretical disciplines (such
as algorithms, theory of computation, and information theory) to applied
disciplines (including the design and implementation of hardware and software).
Algorithms and data
structures are central to computer science.[7] The theory of computation concerns
abstract models of computation and general
classes of problems that can be solved using
them. The fields of cryptography and computer
security involve studying the means for secure communication
and preventing security vulnerabilities. Computer graphics and computational geometry address the
generation of images. Programming language theory considers
different ways to describe computational processes, and database theory
concerns the management of repositories of data. Human–computer interaction investigates
the interfaces through which humans and computers interact, and software engineering focuses on the
design and principles behind developing software. Areas such as operating
systems, networks and embedded
systems investigate the principles and design behind complex
systems. Computer architecture describes the
construction of computer components and computer-operated equipment. Artificial intelligence and machine
learning aim to synthesize goal-orientated processes such as
problem-solving, decision-making, environmental adaptation, planning and learning
found in humans and animals. Within artificial intelligence, computer
vision aims to understand and process image and video data,
while natural language processing aims to
understand and process textual and linguistic data.
The
fundamental concern of computer science is determining what can and cannot be
automated. The Turing Award is generally recognized as
the highest distinction in computer science.
The
1980 Turing Award was given to Tony Hoare who
in an essay about Computer Science wrote:
What is the central core of the subject [computer science]?
What is it that distinguishes it from the separate subjects with which it is
related? What is the linking thread which gathers these disparate branches into
a single discipline. My answer to these questions is simple -it is the art of
programming a computer.
.jpg)