top of page

A Brief Overview of Computer Science

Updated: Nov 1, 2020

Computer science is a super interesting field, but all the different subjects and departments within it can get kind of confusing. Let’s dive right in and get a brief overview of the map of computer science!


Note: these topics, although presented as such, are not distinct and often overlap both in their study and in their application.


1. Algorithms and complexity

This field is concerned with the development and analysis of computing algorithms. If you’ve taken APCS, this is like the big O, or the time and resources required for different operations. Also integral to this field is the study of different data structures and their applications.


2. Architecture

This field studies computation machines, such as the computers we all use today. As other fields develop, the hardware that our programs run on must increase their efficiency and power as well! A notable theory within this field is Alan Turing’s Turing machine, an abstract computational model represented by a strip of tape and a table of rules.


3. Compilers and interpreters

This field is concerned with the process of transforming higher-level programming languages, such as Python or Java, into machine-readable binary code. Compilers convert an entire program into some other format before sending it off to execute; an example of a compiled language is C. On the other hand, interpreters execute programs line by line; an example of an interpreted language is Javascript. Evidently, this field is extremely important -- without it, we would all be programming in Assembly!


4. Graphics

This field studies and develops techniques in the field of computer-generated graphics. For example, all those CGI movies we watch and photorealistic videogames we play are generated by specific (usually GPU-based) algorithms. It also has applications in computer vision and robotics.


5. Information management

This field addresses the issues of rapidly storing and accessing data from specifically designed database and file systems. The amount of data we store is growing at an exponential rate, and applications of this include Google pulling search results from their databases almost instantaneously, Facebook storing millions of posts and user data, etc.


6. Intelligent systems

This field encapsulates a subject that is very popular right now: artificial intelligence. Other topics within it include natural language processing, simulating human emotions, computer vision, and other intelligent systems meant for application in robotics and robotic devices.


7. Networking and communication

This field is concerned with computer networks and protocols for transferring information between computers that aren’t physically connected (for example -- the Internet!). It seeks to improve on many points, including speed, accuracy, and cost. A well-known recent development within this field is the push to develop and roll out 5G networks.


8. Operating systems

This field studies the theory and development of operating systems, the most popular of which are iOS, Windows, and Linux. The most basic functions of operating systems are being able to handle input and output as well as execute programs. However, most consumer operating systems we use today include other quality-of-life systems such a GUI (a screen), USB and SD ports, bluetooth capabilities, etc.


9. Cybersecurity

This field is essentially concerned with the protection of information, especially when it’s accessible on a network. As nowadays, most of our sensitive personal data is stored online in some way, this field is obviously extremely important. A notable topic within cybersecurity is cryptography and coding theory.


10. Programming languages

This field goes hand in hand with that of compilers and interpreters. As the world of software development expands, it becomes more apparent that specific jobs requires specific tools that are more suited to the job. This field seeks to design and implement languages that are good at what they’re meant to do; for example, low-level languages like C or C++ are great for more computationally heavy things like building operating systems or simulating physics, whereas lightweight scripting languages such as Javascript or Python are more suited to things like web development.


11. Software development

This field is, as the title suggests, the study and application of software. It’s probably the most popular field in terms of careers, and it’s what most think of when they hear “computer science”. In addition, many of the previously mentioned fields have tons of applications within this one (for example, Google engineers developing search and page-ranking algorithms).


A final note:

This list is not extensive, nor does it claim to cover the entirety of computer science. It’s impossible to distinctly and clearly divide up the field, as you will always have overlap or some missed parts no matter how you categorize. However, it serves as a pretty comprehensive overview, and I hope at least one of the fields has piqued your interest :)

23 views0 comments

Recent Posts

See All
bottom of page