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
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:
-
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.
