About Computer Science Engineering


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."

Computational Theory

  • 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.

Computer Architecture

  • 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.

Programming Languages

  • 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.


  • Photo Credit computer science image by jeancliclac from Fotolia.com
Promoted By Zergnet



You May Also Like

Related Searches

Check It Out

Can You Take Advantage Of Student Loan Forgiveness?

Is DIY in your DNA? Become part of our maker community.
Submit Your Work!