Fields of Computer Science

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

Fields of Computer Science

 Artificial intelligence : This is the development of machines


that can show behaviors similar to cognitive functions. How
to: Think, speak, reason and solve complex problems.
“Machine learning” is a subbranch that focuses on studying the
ability of a machine to learn and recognize patterns in a certain
amount of data.

The implementation and study of systems that exhibit (either


behaviorally or apparently) autonomous intelligence or self-
behavior, sometimes inspired by the characteristics of living
beings. Computer science is related to AI, since software and
computers are basic tools for the development and progress of
artificial intelligence.

 Bioinformatics: Covers the use of computing to measure,


analyze and understand the complexity of biology. It involves
big data analysis, molecular models and data simulators.
 Computing theory: It is the study of algorithms and applied
mathematics. It is not just about creating new algorithms or
implementing existing algorithms. It is also about the
discovery of new methods and creation of possible theorems.
 Computer graphics: It is responsible for studying how data
can be manipulated and transformed into visual representations
that a human being understands. It includes topics such as
photo-realistic images, dynamic image generation, 3D
modeling and animation.
 Video game development: Refers to the creation of
entertainment games for PC, web or mobile devices. Graphics
engines typically involve unique algorithms and data structures
optimized for real-time interaction.
 Networks: It consists of the study of distributed computer
systems. And how communications can be improved within
and between networks.
 Robotics: Addresses the creation of algorithms that control
machines. Includes research to improve interaction between
robots and humans. Robot interactions with robots. And
interactions with the environment.
 Computer security: Addresses the development of algorithms
to protect applications or software from intruders, malware or
spam. Includes computer security, cloud and network security.

Mathematical foundations
 Cryptography: Algorithms to protect private data, including
encryption .
 Type theory : Formal analysis of data types, and the use of
these to understand the properties of programs, in particular
their security.

Algorithms and data structures


 Algorithms : Formal processes used for computations, and
efficiency of these processes.
 Data structures : Organization and manipulation of data

Programming languages and compilers


 Compilers : Ways of translating computer programs, usually
from high-level languages to low-level languages.
 Theory of programming languages : Formal languages to
express algorithms and the properties of these languages.

Databases
 Data mining : Study of algorithms to search and process
information in documents and databases; closely related to the
acquisition of information.

Concurrent, parallel and distributed systems


 Concurrent programming : Theory and practice of
simultaneous computations and interactive computing.
 Computer networks : Algorithms and protocols to efficiently
communicate data over long distances, also including error
correction.
 Parallel computing : Computing using multiple computers
and multiple processors in parallel.
 Distributed Systems : Systems using multiple processors
spread over a large geographic area.

 Robotics : Algorithms to control the behavior of robots.


 Computer vision : Algorithms for extracting three-
dimensional objects from a two-dimensional image.

computer graphics
 Computer graphics : Algorithms both to synthetically
generate visual images and to integrate or alter visual and
spatial information taken from the real world.
 Digital image processing : For example for remote sensors.
 Computational Geometry : For example fast algorithms to
select only the visible points in a polyhedron seen from a
certain angle, used in 3D engines.

Scientific computing
 Quantum Computing: Computing paradigm based on
Quantum Mechanics
Relationship with other fields
As a recent discipline, there are several alternative definitions for
computer science. This can be seen as a form of science,
mathematics or a new discipline that cannot be categorized
following current models.
Computer science frequently intersects with other areas of
research, such as physics and linguistics. But it is with
mathematics that it is considered to have a greater degree of
relationship. This is evidenced by the fact that early work in the
area was heavily influenced by mathematicians such as Kurt
Gödel and Alan Turing. Today there continues to be a useful
exchange of ideas between both fields in areas such as
mathematical logic, category theory, domain theory, algebra and
geometry.
Another point to note is that despite its name, computer science
rarely involves the actual study of the machines known as
computers. In fact, renowned scientist Edsger Dijkstra is widely
cited for saying "Computer science is as little related to computers
as astronomy is to telescopes." Due to this, it was proposed to find
a defined name for this emerging science, which would avoid the
relationship with computers.
A first proposal was that of Peter Naur, who coined the term
datalogy, to reflect the fact that the new discipline was
fundamentally concerned with the processing of data, regardless
of the tools of said processing, whether computers or
mathematical devices. The first scientific institution to adopt the
name was the Department of Datatology at the University of
Copenage, founded in 1969 , with Peter Naur himself being the
first professor of datatology. This name is mainly used in
Scandinavian countries. Likewise, in the early days, a large
number of terms appeared associated with computing
practitioners. In this list you can see those suggested in ACM
magazines and communications: Turingenier, Turologist, flow-
charts-man, applied metamathematician, and applied
epistemologist.
Three months later the term contologist was suggested, followed
by hippologue the following year. The term computing was also
suggested for the discipline. Informatics was the most frequently
used term throughout Europe.
The design and development of computers and computing
systems is generally considered a field claimed by disciplines
outside of computer science. For example, the study of hardware
is usually considered part of computer engineering, while the
study of commercial computer systems and their development is
usually called information technology (IT) or information
systems. However, there is a close communication of ideas
between the different disciplines related to computers. Computer
science is often criticized by other groups who consider it
insufficiently rigorous and scientific. This opinion is captured in
the expression: "Science is to computer science as hydrodynamics
is to plumbing", attributed to Stan Kelly-Bootle and others like
him. Research in computer science is usually also related to other
disciplines, such as cognitive science, physics (see quantum
computing), linguistics, etc.
The relationship between computer science and software
engineering is a much-discussed topic, with disputes over what
the term "software engineering" really means and how computer
science is defined. Some people believe that software engineering
would be a subset of computer science. Others, for their part,
taking into account the relationship between other scientific and
engineering disciplines, believe that the main objective of
computer science would be to study the properties of computing
in general, while the objective of software engineering would be
to design specific computations to achieve practical objectives,
which would become different disciplines. This point of view is
maintained, among others, by (Parnas 1998 ). There are even
others who maintain that software engineering could not exist.
Academic, political and funding issues in computer science areas
tend to be drastically influenced by the judgment of the
department in charge of research and education at each university,
which may be mathematics or engineering oriented. Mathematics-
oriented computer science departments typically align on the side
of scientific computing and numerical computing applications.
The term scientific computing, which should not be confused with
computer science, designates all those practices aimed at
modeling, setting up experiments and validating scientific
theories using computational means. In these cases, computing is
a mere tool and the effort is directed toward advancing in the
target fields (physics, biology, fluid mechanics, radio
transmission,...) rather than in computer science itself.
Finally, the general public sometimes confuses computer science
with vocational fields that work with computers, or thinks that it
is about their own experience with computers, which typically
involves activities such as gaming, web browsing, and text
processing. However, the whole point of computer science goes
beyond understanding the properties of the programs used to
implement software applications such as games and web
browsers, and uses that understanding to create new programs or
improve existing ones.

You might also like