Computer science engineering, or simply "computer science," is a formal, academic study of information, data, computing, and mechanical automation. In 1997, the Computer Sciences Accreditation Board (CSAB) clarified computer science as a collection of four disciplines: algorithms and data structures, computational theory, computer architecture, and programming languages. While computer science professionals deal with a wide range of computing topics, they are all ultimately concerned with handling information through a mechanical and computational process. As stated by Peter Denning in his paper, "Computer Science: The Discipline," the primary concern of computer science engineering is therefore, "What can be (efficiently) automated?"
History of Computer Science Engineering
The precursors to modern, digital computers date back as far as Wilhelm Schickard's 1623 calculator. Digital computing and the academic study of computers and computer engineering, however, are relatively recent phenomena, with roots extending back only to the 1940s. As digital computers became a reality through the 1950s it was realized that computers can simulate environments that allow for modeling, testing, and even mechanical interaction--such as through robotics--that supersede computation alone. Formalizing the study of computers, and the practice of prototyping and building them, became an essential foundation for the digital computing revolution.
Algorithms and Data Structures
The National Institute of Standards and Technology defines an algorithm as, "a computable set of steps (needed) to achieve a desired result." While an algorithm can be designed for a person, such as the directions needed to travel from one place to another, they are particularly useful for computers because they can be computationally processed. Additionally, using an algorithm often requires dealing with external information, such a street addresses. For a computer, information must be transformed into a processable format known in computer science as "data." To accomplish this, information is arranged into "data structures."
The theory of computation deals with the questions, "What can be computed?" and, "How efficiently can something be computed?" Alan Turing is considered the "father" of computational theory and modern computing because of his influential insights into these questions. Computational theory is important to computer science because some problems are simply beyond the ability of a machine to process, or process efficiently. As such, this discipline deals heavily in logic, mathematics, and philosophy.
The components, design, and means of constructing a computer are all questions addressed by the science of computer architecture. A computer's architecture is important to how a computer will process information and how it might be programmed to do so. In essence, computer architecture deals with the efficiencies and use of hardware, such as microprocessors, and is very engineering oriented as a result.
A programming language is a language used to provide instructions to a computer. The study of software and programming languages is often referred to as "software engineering." It often deals with questions of programmatic efficiency for both the architecture of a computer, as well as the programmers who will later use the language. Programming languages that interact with the architecture of a computer are known as "low-level languages." Other programming languages may use a compiler or an interpreter--software that interacts with the architecture for the programmer--and are known as "high-level languages." The former tend to be very efficient, architecturally, but can be difficult and time consuming for a programmer to utilize.
- Peter Denning, "Computer Science: The Discipline" (PDF)
- Anna Friedlander, Salient Magazine, "The Father of Computing, Augmented Reality, and Bionic Eyes"
- Professor John Lowther, University of Michigan, "What is Computer Science?"
- "Computer Architecture: A Quantitative Approach"; Hennessy, Patterson, Arpaci-Dusseau; 2006
- Photo Credit computer science image by jeancliclac from Fotolia.com
What Is the Stock Symbol for Apple Computer?
The stock symbol for Apple Inc. is one of the best-known in the investment world, in part because it is easy to...
The Use of Computers in Forensic Science
Forensic scientists rely on computers to evaluate information effectively and to expedite the lengthy, meticulous process of collecting and analyzing evidence. They...
How to Use an Engineering Associate of Science Degree
Many aspiring engineers begin their college education by earning an Associate of Science degree in engineering. This is an ideal way for...