Fields of study and jobs for a Computer Science major.

Fields of study and jobs for a Computer Science major.

FIELDS IN COMPUTER SCIENCE

Computer Science can be classified into three major fields which are:

1. Theoretical computer science: This field focuses on the theoretical/mathematical aspects of computer science such as the theory of computation. This field can be divided into four branches which are:

  • Theory of computation(TOC): is the branch that deals with what problem and how a problem can be solved efficiently by using an algorithm on a model of computation(a model which describes how an output of a mathematical function is computed provided an input). This branch is furtherly divided into; Automated theory and language, Computability theory, Complexity theory.

  • Information and coding theory: Information theory is closely related to probability and statistics. It is the scientific study of the quantification, storage, and communication of digital information(Data science will fall under this category). While the coding theory is the study of the properties of codes and their fitness for a specific application. Codes are used for data compression, programming, cryptography, error detection, correction, network coding, etc. In computer science, codes are studied for the purpose of designing efficient and reliable data transmission methods.

  • Data structures and algorithms: Under this branch, commonly used computational methods and their computational efficiency are studied. A computer scientist must systematically know algorithm design, analysis, and optimization. Understanding data structures(arrays, linked lists, etc) is also what computer science is about.

  • Programming language theory and formal methods: Programming language theory is a branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features. Formal methods are a particular kind of mathematically based technique for the specification, development, and verification of software and hardware systems

2. Computer systems and computational processes: This deals with Computer Architecture & Organization(i.e the conceptual design and fundamental operational structure of a computer system). It also focuses on the simulation of the real-time processes required to produce solutions to certain problems, the inception of these processes is usually brought about by computational thinking. This field includes:

  • Concurrent, parallel, and distributed computing

  • Computer networks(Networking)

  • Computer security and cryptography

  • Databases and data mining

  • Operating Systems

  • Interpreters & Compilers

  • Computer graphics and visualization

  • Artificial Intelligence: This consists of robotics, machine learning, neural network, computer vision, pattern recognition, natural language processing, etc

3. Applied computer science: This field includes categories where some other discipline of study applies the knowledge of the other two fields of computer science mentioned above for problem solving. This includes the following:

  • Social computing and human-computer interaction: Social computing is an area that is concerned with the intersection of social behavior and computational systems. It includes Human-computer interaction. This category is often applied in game development.
  • Computational science and finance: This is concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific and financial problems. Under this category, we have; numerical analysis, bioinformatics, computational physics, etc.
  • Software engineering: Software engineering is the study of designing, implementing, and modifying the software in order to ensure it is of high quality, affordable, maintainable, and fast to build. It is a systematic approach to software design, involving the application of engineering practices to software. Software engineering deals with the organizing and analyzing of software—it doesn't just deal with the creation or manufacture of new software, but its internal arrangement and maintenance. It entails software testing, systems engineering, technical debt, and software development processes.

As a computer scientist, you should have knowledge in at least 70% of the categories and fields above. Data Structure and algorithms are major concerns of computer science because they are heavily used in computer software, compilers, Operating Systems(OS), File Systems, and even search engines.

Jobs For Computer Science Majors

  1. Computer scientist!
  2. Artificial Intelligence (AI) engineer.
  3. Software Engineer.
  4. IT project manager.
  5. Data scientist.
  6. Data analyst.
  7. IT consultant.
  8. Network engineer.
  9. Database administrator.
  10. System analyst and designer.
  11. Video game developer.
  12. Software developer.
  13. Product designer.
  14. System architect.
  15. Computer research scientist.
  16. Business analyst.
  17. Information security analyst.