In a strictly academic sense, computer science is a theoretical field of study. It deals with the fundamentals of computation, meaning the perpetual goal of computer science is to seek new ways to automate a process. The common connotation of the word 'process' is the collection and analysis of data. However, also within the bounds of the field of study are the techniques of practical application of the principles of computation.

Computers are currently the most popular embodiment of these principles. Since they are now a daily part of our lives, common users tend to misunderstand what the field of study is all about. Computer scientists are not computer experts; they are more like mathematicians. Studying computer science does not necessarily result in one becoming an expert in computers. A person who is very proficient in manipulating software, from operating systems to specific applications, may not really understand the mathematical theory behind the software being used. Likewise a person who can navigate his way through the jungle of computer hardware may not really understand the electrical engineering theories that made the construction of such hardware possible in the first place.

Computer programs, how they are written and how they are used, are an object of study in computer science. But there is a big difference between a computer programmer and a computer scientist. A programmer is someone who has proficiency in a computer programming language and can therefore construct specific programs with it to solve specific problems. A word processor for example is a program designed to input and edit textual documents. A computer scientist however has a deeper understanding of the mathematics that underlies all programming languages. A computer scientist can actually innovate and develop his own language that can later be used by programmers.

There are four main areas that divide the field of study: (1) the theory of computation, (2) algorithms and data structures, (3) programming methodology and languages, and (4) computer elements and architecture. The first two deal with the abstract and logical aspects, while the last two extend to the techniques of practical application. From there, more specific subjects are derived such as computer networks and communication, software engineering, database systems, computer graphics, etc. In a school setting, these specific subjects are sometimes offered as separate vocational courses. There are for example "academies of computer arts" that offer computer graphics as a certificate program or "information technology colleges" that offer computer networking as an associate program. Though such courses are computer related, they are not degrees in computer science.

Just like most academic degrees, computer science begins at the Bachelor of Science level. Then students can pursue higher learning through Masters or Doctoral degrees. Some universities combine computer science with computer engineering, often typically labeled as "Computer Science and Engineering". In such types of academic programs, students can expect their studies to include subjects in electrical and electronics engineering. Other universities have programs called "Computer Science and Software Engineering. This time the extension is towards the development of software.

Average rating: