Skip to main content

Difference betwen computer science & software engineering

From Dr. Dobbs: Software Engineering ≠ Computer Science

The author puts forward the thesis:
Software engineering will never be a rigorous discipline with proven
results, because it involves human activity.

He makes a good case. There are numerous formal methods that are being used to eat away at the fringes of the unprovable in software engineering through formal processes - but it usually requires defining the problem without a human element.

Indeed, look at some of the highly regarded practices for engineering today - with phrases such as "code smells", "team cohesion" - are we really expecting formal proofs?

At this point in the analysis, I'm shaking my head since I don't want to understand why a degree in Computer Science (like I have) might have been a waste... but looking at the diagram and reading through to the end, he makes the relationship between the two clear and makes the world (as I see it) whole again.

This is from the point of view of someone who gained a B.S. in C.S. from a school with a heavy emphasis on engineering disciplines, rather than pure science or mathematics. This was after a senior year transfer from a prior C.S. program at a school geared towards pure science and math. I understood as I entered my senior year that I simply wouldn't be employable except as a mathematician. I have been grateful for the opportunity to see the engineering side of world academically.

Comments

Popular posts from this blog

You don't really know who you're talking to online...

The following is a story that I think highlights the assumptions that get you into trouble online... https://www.proofpoint.com/us/blog/threat-insight/i-knew-you-were-trouble-ta456-targets-defense-contractor-alluring-social-media This is particularly scary since we found so much utility in online connections during the pandemic and out of necessity, started trusting more online. Please note the timeline for this breach - it was a long, slow process, a key factor in many 'cons'. "Build trust" is a key first step, once someone has identified you as a party. You think...you're convinced you know who your talking to, but if you don't triangulate the identity with some non-online, ideally in-person information, you shouldn't trust. And even if you do get what seems like real-life confirmations of identity, you must look at questioning motives, needs, and keeping danger at arms-length. Online includes email, texting (sms), application chatbots, voice communicati...

Threat Modeling Manifesto

Secure Your Code with Threat Modeling As a software developer, security should be a top priority. By proactively identifying and addressing potential vulnerabilities, you can significantly reduce the risk of breaches and data loss. What is Threat Modeling?   Threat modeling is a systematic approach to identifying, assessing, and mitigating security threats. It involves looking at your system from a hacker's perspective to uncover weaknesses and devise strategies to protect against attacks. See the  OWASP Cheat Sheet   Why is Threat Modeling Important? Proactive Security: By anticipating potential threats, you can take steps to prevent them. Risk Mitigation: Identify and address vulnerabilities before they can be exploited. Regulatory Compliance: Adhere to industry standards and regulations. Enhanced Security Posture: Strengthen your overall security posture. How to Get Started with Threat Modeling   The Threat Modeling Manifesto provides a valuable framewor...

Where threat modeling can shine - an example from the EU MDCG-2019

From the  EU  MDCG 2019-16 Guidance on Cybersecurity for medical devices, December 2019 , this is the guidance on foreseeable risks.  Medical device manufacturers should ensure that a medical device is designed and manufactured in a way that ensures that the risks associated with reasonably foreseeable environmental conditions are removed or minimised. This may include the infield monitoring of the software’s vulnerabilities and the possibility to perform a device update (outside the context of a field safety corrective action) through, for example delivering patches to ensure the continued security of the device. During the risk management process, the manufacturer should foresee or evaluate the potential exploitation of those vulnerabilities that may be a result of reasonably foreseeable misuse. This, however, may depend on the specific situation. For example, using an unsecured memory-stick to enter data into a medical IT system can be considered “reasonably foreseeabl...