A computer scientist is a person
who has acquired the knowledge of computer science
, the study of the theoretical foundations of information and computation and their application.
Computer scientists typically work on the theoretical side of computer systems, as opposed to the hardware
side on which computer engineer
s mainly focus (although there is overlap). Although computer scientists can also focus their work and research on specific areas (such as algorithm
and data structure
development and design, software engineering
, information theory
, database theory
, computational complexity theory
, numerical analysis
, programming language theory
, computer graphics
, and computer vision
), their foundation is the theoretical study of computing from which these other fields derive.
A primary goal of computer scientists is to develop or validate models, often mathematical, to describe the properties of computer-based systems (processors
, programs, computers interacting with people, computers interacting with other computers, etc.) with an overall objective of discovering designs that yield useful benefits (faster, smaller, cheaper, more precise, etc.).
Most computer scientists are required to possess a Ph.D.
, or B.S.
in computer science, or other similar fields like Information and Computer Science
(CIS), or a closely related discipline such as mathematics
[ or physics.
Areas of specialization
*Theoretical computer science – including data structures and algorithms, theory of computation, information theory and coding theory, programming language theory, and formal methods
*Computer systems – including computer architecture and computer engineering, computer performance analysis, concurrency, and distributed computing, computer networks, computer security and cryptography, and databases.
*Computer applications – including computer graphics and visualization, human–computer interaction, scientific computing, and artificial intelligence.
*Software engineering - the application of engineering to software development in a systematic method
Computer scientists are often hired by software publishing firms, scientific research and development organizations where they develop the theories that allow new technologies to be developed. Computer scientists are also employed by educational institutions such as universities.
Computer scientists can follow more practical applications of their knowledge, doing things such as software engineering. They can also be found in the field of information technology consulting, and may be seen as a type of mathematician, given how much of the field depends on mathematics. Computer scientists employed in industry may eventually advance into managerial or project leadership positions.
Employment prospects for computer scientists are said to be excellent. Such prospects seem to be attributed, in part, to very rapid growth in computer systems design and related services industry, and the software publishing industry, which are projected to be among the fastest growing industries in the U.S. economy. [
*List of computer scientists
*List of computing people
*List of pioneers in computer science