Re: Is software engineering, well, engineering?
Posted: Fri Jan 03, 2020 2:43 pm
Open to critical enquiry
https://www.scrutable.science/
Yes, loads of maths and logic and difficult technical things to do with them. Very little else though.dyqik wrote: Fri Jan 03, 2020 2:42 pmYou haven't posted a syllabus for a computer science degree, but one software engineering degree at one university which is traditionally more practically based. Other computer science course will get closer to the hardware, where the physics and maths interact more directly. However, software engineering is necessarily more abstract than electrical engineering, which is in turn less mechanical that mechanical engineering.plodder wrote: Fri Jan 03, 2020 2:26 pmFrom the degree syllabus I posted a couple of pages back, it's a lot of coding. Whereas an engineering degree contains a lot of science - mine had modules containing A-Level equivalent physics, chemistry and biology, as well as loads of applied maths, stats etc.
Even so:
From the Software Engineering course you linked to:This is applied mathematics.Computer Systems – This module provides a foundation in computer architecture and operating systems with a specific emphasis on their security. Students will learn about computer hardware, software, operating systems, and demonstrate practical knowledge of these during lab sessions. Studying this module student will be able to relate the abstract concepts of logic and number systems to their concrete representation on real machines and identify the security risks in common configurations of computer operating systems and suggest appropriate mitigations. In the practical lab sessions students will also learn to develop shell scripts.
'nuff said.Mathematics for Computing – Mathematical structures are introduced that provide a basis for computer science. Specific topics include logic, set theory, probability and statistics.
Serious maths here as well.Database Design and Implementation – Structured data, held in relational databases, accessed via SQL, supports the information storage requirements of many companies, organisations, and on-line businesses. In this module the student will learn the fundamentals of how to design the structure of data within a relational database, how to interact with data within the database, and how to protect the data within the database.
More serious maths.Data Structures and Algorithms – This module introduces a variety of data structures and algorithms for sequential execution. Classical data structures will be introduced (including stacks, queues, lists, trees, and hash tables) and algorithms for searching and sorting. The performance characteristics of these data structures and algorithms will be explained. Specific coding issues will also be considered such as modularity, genericity, equality, assignment, mutable and immutable objects.
Serious maths in the latter sentence.Concurrent and Parallel Algorithms – The module will introduce students to concurrent program design in the context of multi-core architectures and distributed applications. Where appropriate formal notation will be used for specification.
Very serious applied maths.Rigorous Systems – This module introduces the role of formal systems in rigorous software development and develops base-level skills using a contemporary formal method. The module covers the essential theoretical material (rationale, syntax, semantics) and provides practical experience using an appropriate software development tool.
The module is based on the formal specification language ITL.
Don't be silly. Economics done properly is mostly a social science, with large mathematical models, and heavy statistics, plus some political theory on the side. Done badly, which seems to be the way it's done when there are solutions to be proposed, it's largely political theory with a bit of toy models on the side. The "social engineering" side really isn't rigorous enough to count as engineering yet.plodder wrote: Fri Jan 03, 2020 2:50 pm Yes, loads of maths and logic and difficult technical things to do with them. Very little else though.
If you want to define an engineer as someone who is really good at applied maths then you're including economists.
A mathematician. But mathematics is a science
Economists dont create working machines.plodder wrote: Fri Jan 03, 2020 2:50 pm Yes, loads of maths and logic and difficult technical things to do with them. Very little else though.
If you want to define an engineer as someone who is really good at applied maths then you're including economists.
https://en.wikipedia.org/wiki/MONIACsheldrake wrote: Fri Jan 03, 2020 3:58 pmEconomists dont create working machines.plodder wrote: Fri Jan 03, 2020 2:50 pm Yes, loads of maths and logic and difficult technical things to do with them. Very little else though.
If you want to define an engineer as someone who is really good at applied maths then you're including economists.
That does count as engineering fair enough. Not a common thing for an economist thoughmonkey wrote: Fri Jan 03, 2020 4:09 pmhttps://en.wikipedia.org/wiki/MONIACsheldrake wrote: Fri Jan 03, 2020 3:58 pmEconomists dont create working machines.plodder wrote: Fri Jan 03, 2020 2:50 pm Yes, loads of maths and logic and difficult technical things to do with them. Very little else though.
If you want to define an engineer as someone who is really good at applied maths then you're including economists.
It's not a working machine without the software. It's a kind of blank slate.plodder wrote: Fri Jan 03, 2020 5:18 pm Coders don’t create machines either. They tell machines what to do.
Ever heard of a state machine? A virtual machine?plodder wrote: Fri Jan 03, 2020 5:18 pm Coders don’t create machines either. They tell machines what to do.
Like a tractor without a driver? Chefs, farmers, can you at least try and draw some sensible boundaries here?
Not like a tractor without a driver. Like a complex Toyota tractor with one of those push-button ignitions that just won't start because it relies on software even for simple things like starting the engine. Or a laptop that doesn't even have basic bios so turning it on results in a blank screen you can't get past. Machines that can do no useful work.plodder wrote: Fri Jan 03, 2020 6:23 pmLike a tractor without a driver? Chefs, farmers, can you at least try and draw some sensible boundaries here?
Except the stage and the actors aren't a machine and the script isn't written using mathematical rules.plodder wrote: Fri Jan 03, 2020 6:38 pm Oh right, like a stage with actors, lights, an audience, all ready to go, but no script. Honestly, we’ve done this already.
There is a science behind software engineering, it's called computer science, which is the study of algorithms. I happen to have a degree in it. It is a bit of an odd discipline, but the hard core bits are a branch of mathematics, blended with electrical engineering.plodder wrote: Sun Dec 29, 2019 5:19 pmbut engineering is taking science and applying it to solve problems
Some people are saying that messy thing Q belongs in pigeonhole xvii, while other people are saying that messy thing 37 belongs in pigeonhole Φ. Or possibly the other way round.Gfamily wrote: Fri Jan 03, 2020 12:08 pm Can anyone remind us what the opposing viewpoints are in this thread?
Not that I'm bothered, it's just that it might be useful for new readers
No-one is suggesting computer science isn't a science, or that people who apply it aren't doing engineering. But your dickhead builder's coder equivalent is pretty common in coding and software, whereas you'd never ever find them in a professional engineering capacity. This because most coders don't need to understand computer science, which is why I'm suggesting it's inappropriate to label the whole coding profession as engineers.bjn wrote: Fri Jan 03, 2020 7:40 pmThere is a science behind software engineering, it's called computer science, which is the study of algorithms. I happen to have a degree in it. It is a bit of an odd discipline, but the hard core bits are a branch of mathematics, blended with electrical engineering.plodder wrote: Sun Dec 29, 2019 5:19 pmbut engineering is taking science and applying it to solve problems
The application of that science allows people to create software to solve problems. By your definition, that's engineering.
You have a weird bug bear and go on about 'coding' as if it's just typing in the same way as writing third rate poetry on a laptop is typing. It's like saying an mechanical engineer making blue prints is just drawing lines and why is it different to an artist. What is being programmed, how it is being programmed, what is even possible to be programmed to solve a relevant problem is profoundly constrained.
A crappy hacker has no idea about any of that and creates crappy software. They are lucky they can do that because an entire army of competent software engineers have put together software engineering tools that means the worst hackers can put something together, even if it isn't engineered. Then again, the dickhead who put in crappy steel joists in my roof which cost a fortune to fix up was equally ignorant of structural engineering even if they got to use the tools and material of a real structural engineer to badly solve a problem of holding a roof up.
Some people are saying that in order to fit an Austin maxi into a pigeonhole we need to make it the size of a double garage.Sciolus wrote: Fri Jan 03, 2020 8:24 pmSome people are saying that messy thing Q belongs in pigeonhole xvii, while other people are saying that messy thing 37 belongs in pigeonhole Φ. Or possibly the other way round.Gfamily wrote: Fri Jan 03, 2020 12:08 pm Can anyone remind us what the opposing viewpoints are in this thread?
Not that I'm bothered, it's just that it might be useful for new readers
What do you base this tenuous theory on ?plodder wrote: Fri Jan 03, 2020 8:28 pm This because most coders don't need to understand computer science
Ok, google "coding jobs" and you'll find loads of well paid examples like this: https://www.indeed.co.uk/m/viewjob?jk=a ... &from=serp