Six Degrees of Computer Science

Site: Saylor Academy
Course: CS302: Software Engineering
Book: Six Degrees of Computer Science
Printed by: Guest user
Date: Saturday, 19 April 2025, 8:35 AM

Description

This article separates computer science into six other categories, with software engineering being one of them. How is software engineering like computer science? How is software engineering different?

Each category is further described by a spider web diagram, showing the topics covered and the degree of emphasis on each topic. A comparison of computer science and software engineering shows the overlap and differences in topics and emphasis. It positions software engineering as a category of computer science. This categorization contrasts the STEM categorization of four main disciplines: science, technology, engineering, and math. Science discovers general principles and problem-solving techniques. Engineering uses those principles and techniques to develop solutions to problems. Technology uses practices and tools to deploy, operate, and maintain those solutions in practical applications. Both perspectives are helpful. At a higher level of abstraction, the STEM perspective shows that computer science and software engineering have fundamentally different processes. At a more detailed level of abstraction, the six degrees perspective shows the intersection and difference of topic coverages between computer science and software engineering and the other four disciplines.

Computing Related Fields

The modern world of computation is too vast for anyone to master all the details. Not only has the design of computer hardware and software grown incredibly complex, but computing devices are being applied to solve problems in all aspects of modern life. A wide range of skills are required to build a computational device, develop software for it, decide how to make use of it and actually put it to use.

The career/education options that directly relate to building and using computers can be broken down into the categories listed below. Although sometimes the borders between the fields are fuzzy, they serve as a good starting point for thinking about what kind of career might be of interest to someone who wants to go into a computation related field.


Source: CS160, https://computerscience.chemeketa.edu/cs160Reader/ComputingFields/index.html
Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 License.

Computer Engineering

Computer Engineers research, design, develop and test computer chips, circuit boards, computer systems, and related equipment. They need to understand computer programming, as they are the ones who design the hardware that runs programs, but in general, their work is more focused on the hardware itself.


Typical careers:

  • Computer engineer



Education:

To work in this field you need a Bachelor's degree in Computer Engineering. At some schools, instead of a separate Computer Engineering degree, students specialize in that field while earning a degree in Electrical Engineering. At Chemeketa, you can start studying computer engineering in the Engineering program.

In addition to deep knowledge of computer hardware and some programming knowledge, Computer Engineers need to do significant course work in general engineering principles, physics, and math.


Knowledge Domains:

This diagram illustrates the knowledge areas required in this field. A 5 represents a very high degree of required expertise while 1 represents a minimal amount.


Computer Science

Despite its name, much of computer science is not focused on the study of computers themselves. Instead, computer scientists are more concerned with understanding what problems can be solved with computation and how we can most efficiently and appropriately solve those problems with algorithms. (An algorithm is simply a step by step process for solving a problem).

Computer science tends to have a more theoretical focus than other computing disciplines. There is a core to the discipline that is closely related to ideas in math and logic. But the discipline also applies those theoretical tools to solve specific problems in areas from artificial intelligence, to graphics, to simulations, and many others.



Typical careers:

  1. Software Developer

  2. Computer Research Scientist



Education:

  • Working as a software developer requires a Bachelor's degree

  • Working as a research scientist requires a graduate degree (Master's of PhD).

The first year of study generally focuses on programming - the essential skill needed to solve problems using a computer. Courses in the following years tend to be more focused on the theory of why software and hardware work and how to build software.

During their Jr and Sr years students usually can chose from classes to concentrate in a specific area (graphics, databases, artificial intelligence, computational biology, software development). For students who intend to become software developers, this is an important opportunity to take courses on software engineering and applied programming skills.

Computer science students generally need a strong core of mathematics to support the theoretical parts of their CS coursework.


Knowledge Domains:

This diagram illustrates the knowledge areas required in this field. A 5 represents a very high degree of required expertise while 1 represents a minimal amount.


Software Engineering

Software engineering is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy the requirements of the users. It has developed to meet the needs of industry for graduates capable of working in teams on large software systems.

There is significant overlap in the skills required in SE and CS - both require a strong foundation in programming fundamentals and some knowledge of computational theory. Where the two disciplines differ is their focus after that. While Computer Science is concerned about learning how to use computation to solve new problems in many different areas, Software Engineering is more concerned with mastering a specific set of skills required to design and develop reliable software projects. If you need someone to design a new way for computers to render more complex graphics in video games or solve new problems in computational biology, you want a computer scientist. If you want someone to help build a new application that is going to be a commercial project and be used by thousands of consumers, you probably want a software engineer.


Typical careers:

  1. Software Developer



Education:

A Software Engineering degree will have many of the same programming courses as a CS degree along with the same basic theory classes and supporting math. However, the junior and senior years, while a CS student might take a wider range of more theoretical classes, a SE student will have coursework focused more narrowly on topics like designing and testing software, managing projects, and using industry standard tools.

Although some schools offer degrees specifically in Software Engineering, at most schools it exists as a specialization within the computer science department. Someone who knows they want to become a working software developer thus would earn a CS degree, but focus on the Software Engineering related courses instead of picking a more theoretical area to specialize in.


Knowledge Domains:

This diagram illustrates the knowledge areas required in this field. A 5 represents a very high degree of required expertise while 1 represents a minimal amount.



Information Technology

Although the term Information Technology is sometimes used to any career involving computers, in the world of education it has a more specific meaning - the skill set required to put computers to work in a business or other organization.

IT professionals have the responsibility for installing and maintaining hardware and software products as well as to integrate those products with each other to meet organizational needs. They often work directly with non-technical users of complex technology and to support those users and fix issues.

A broad range of basic knowledge is required for an IT professional - they need to understand the basics of networking, programming, operating systems, computer hardware, and security. On top of this base layer of knowledge, many IT professionals develop more extensive expertise in a particular area such as database administration, system administration, cybersecurity.


Typical careers:

  1. Computer Support Specialist

  2. Network and Systems Administrator

  3. Database Administrator


Education:

Many entry level jobs in IT are open to anyone with a certificate or two-year degree Associate's. However, advanced jobs in specific areas often require advanced training or certification in that field. For example, to become a network administrator, you would need significant specialized knowledge in installing and configuring computer networks on top of the base level of knowledge expected from all IT professionals.

Positions with more business or management responsibility may require a Bachelor's degree.


Knowledge Domains:

This diagram illustrates the knowledge areas required in this field. A 5 represents a very high degree of required expertise while 1 represents a minimal amount.



Information Systems

In some ways Information Systems attacks the same basic problem as Information Technology, in that it is focused on making computer technology work for people and organizations.

However, while IT is more concerned with the technology itself, Information Systems focuses more on business related issues. They are interested in questions like: “What information does the enterprise need?”, “How is that information generated?”, “Is it delivered to the people who need it? Is it presented to them in ways that permit them to use it readily?”

Information Systems degrees generally have a blend of courses in technology, business, and communications. IS professionals must understand both technical and organizational factors so they can serve as a bridge between the technical and management groups in an organization.


Typical careers:

  1. Computer Systems Analyst



Education:

Because IS jobs tend to have significant business and management responsibilities, they are more likely to require a Bachelor’s degree than IT jobs.

An Information Systems degree will combine technical knowledge and business knowledge in different degrees. Some IS programs have a more technical focus, with a core of technical skills like an IT professional. Other programs are much more business focused and have technical courses that don’t focus on developing practical skills, but instead focus on understanding how technologies are used so that the IS practitioner can manage people with the more applied skills.


Knowledge Domains:

This diagram illustrates the knowledge areas required in this field. A 5 represents a very high degree of required expertise while 1 represents a minimal amount.



Cybersecurity

Cybersecurity is a cross-disciplinary field that is concerned with preventing missuses of computational devices and data. It is a relatively new discipline that arose out of a realization that a system is only as secure as its weakest link - and thus keeping systems secure requires a comprehensive approach.

While every technical professional should be concerned with security - developers should write secure code, network administrators should configure systems to be resilient to attack, etc… - there is a need for individuals that can think about all of these potential issues and how they interact. These are cybersecurity professionals.

Cybersecurity jobs from the technical (cryptography, network defense) to business and management (setting organization policy and training users). Even within the more technical jobs, there are a wide variety of specialization that may require advanced skills in programming, networking, system administration, or mathematics.


Typical careers:

  1. Information Security Analyst


Education:

Because Cybersecurity is a cross-disciplinary field, there are a variety of educational paths.

Most Cybersecurity degrees focus on an IT skill set and then add specific advanced training in security related topics. These programs exist both as two-year Associate’s degrees and as four-year Bachelor’s degrees.

However, there are also IS related jobs in Cybersecurity - management focused roles that require more business knowledge and have less of a technical focus.

And for Cybersecurity careers focusing on cryptography or advanced software based security (malware analysis), a specialized background in CS or SE may be required. Some computer science programs offer tracks in cybersecurity that would be appropriate for these kinds of careers.


Knowledge Domains:

This diagram illustrates the knowledge areas required in this field. A 5 represents a very high degree of required expertise while 1 represents a minimal amount.



Data Science

Data Science is a new, and rapidly growing inter-disciplinary field of study. It focuses on using a combination of computation and mathematics to answer questions and solve problems using large amounts of data.

A data scientist will be responsible for gathering data and then using it to find trends, make forecasts, and communicate information. To do this, they will write computer programs, apply various mathematical techniques from statistics, calculus, and linear algebra, and make use of advanced tools like machine learning algorithms.

Although there are a general set of skills used by all data scientists, an individuals data scientist often focuses in a particular domain. They may specialize in working with data from biological sciences, or business and marketing, or sports management, or geology, or in any other domain where large amounts of data exist. To effectively work in one of these domains, a data scientist often needs field specific knowledge in addition to their general data science skills.


Typical careers:

  1. Data Scientist or Data Analyst



Education:

Working as a data analyst or scientist generally requires a Bachelor's degree or graduate degree (Master's or PhD).

Because Data Science is a cross-disciplinary field, degrees in data science can be found in many different programs. Some Data Science degrees are offered by math departments, others as concentrations in a degree in computer science. And specialized data science programs may exist in other departments - a biology department may offer a degree in "Bio Informatics" or "Biological Data Science".

Any data science degree is probably going to feature:

  • A solid foundation in programming and algorithms.

  • Mathematics including statistics and likely calculus and linear algebra.

  • Exposure to the techniques and tools used in data science.

Data Science combines mathematics, computer science, and knowledge in a domain.


Data Science combines mathematics, computer science, and knowledge in a domain.