# Subject Overview C (e.g. Computer Science)

Essentially, computer science is the study of the principles and use of computers. The subject itself spans theory and practice, and requires thinking in both abstract and concrete terms. The study of computer science relies heavily on the systematic study of the theory of computation and the design of computational systems.

The study of computer science fundamentally aims to design new software, solve computing problems, and to develop different ways of using technology. Computer scientists rely heavily on the Computational Thinking (CT). CT is a process that generalises a solution to open ended problems. For instance, CT requires the decomposition of the entire decision making process, the variables involved, and all possible solutions, ensuring that the right decision is made based on the corresponding parameters and limitations of the problem. The term, Computational Thinking was first coined in 1980 by Seymour Papert, a pioneer of computer programming and artificial intelligence. Computer programmers use techniques such as CT to logically solve problems by looking at the problem and trying to come up with different ways of solving the problem. There is often more than one way to solve a problem and coders try to find the most efficient way possible, meaning that they try to find the solution to the problem, which requires the least number of steps.

Computer science is made up of many different areas of study. These main fields of computer science comprise of theoretical computer science, and applied computer science. Theoretical computer science focuses on more abstract or mathematical aspects of computing and includes the theory of computing information and coding theory, algorithms and data structures, programming language theory, and formal methods. In contrast, applied computer science aims to identify certain computer concepts that can be used to directly solve real world problems. Examples of applied computer science include artificial intelligence, computer architecture and engineering, performance analysis, graphics and visualisation, security and cryptography, computational science, networks, concurrent, parallel and distributed systems, databases, health informatics, information science, and software engineering.

The study of computer science predates the invention of the modern digital computer. In fact, the invention of machines for the aiding in computations, such as multiplication and division, have existed since the age of antiquity. One of the oldest accounts of these equations can be found in the ancient book of algorithms, known as the “Rules of the Chord” – a Sanskrit text used for constructing geometric objects such as altars using a peg and chord, an ancient version of the modern field of computational geometry.