Some of us on here are practicing engineers, so we know what engineers do. We know what engineering is about. We know the tools and techniques which engineers use.
We also all went through a university education on courses which shared a name with our profession.
Some of us also teach on such courses, and some are involved in accreditation of these courses on behalf of engineering institutions.
We are concerned that there are very many people who have not practiced engineering involved in either teaching or accreditation.
Most of the people involved in teaching and accreditation are either researchers or managers. They do not personally do research, or carry out engineering duties such as design or technical support of engineering operations. They manage these activities, but they do not do them. Some of them do not even have first degrees in engineering.
So those greatly influential in the content and delivery of engineering degrees do not understand what engineers do, or how they do it. Many of them have never practiced the discipline, and often think of real engineers as their social and intellectual inferiors.
Many think that the "purer" subjects in which they have first degrees are more intellectually demanding than real engineering. Perhaps they think that teaching abstract theory irrespective of its relevance to engineering practice is "an education", but teaching practically relevant material is the vastly inferior "training", fit only for technicians.
So teaching students to use "MATLAB", a maths program which is used to write programs in a research setting (though entirely unused by practitioners for QA reasons) is education, but teaching students to use "Autocad", the industry standard drawing package is mere training.
Teaching students to carry out the mathematical transforms which were important to the electrical engineers of long ago is education (even if the students are not studying electrical engineering), teaching them qualitative knowledge about how instruments and actuators can be put together to form an effective control system is "training".
Teaching students a dumbed - down version of a philosopher's idea of ethics is education, teaching them real professional ethics is training.
There is a useful area of philosophy which no-one seems to teach as part of engineering degrees - epistemology. This is the study of the basis of knowledge, and knowledge to a philosopher is "true justified belief".
If we were really going to teach students how to think, we should be teaching them about the ways in which engineering has a different epistemology from science or mathematics. Engineering is not founded in science or mathematics, nor does it share their foundations. How could something which predates science and mathematics be founded in them?
Our beliefs as engineers are justified by experience: a combination of personal experience, and collective experience, in both cases usually codified by heuristics. These heuristics may take the form of codes of practice, design standards, rules of thumb, or cautionary tales. Best practice in engineering has been defined by BV Koen as following the most current commonly held heuristics amongst active practitioners.
Those who think that you can do engineering from mathematical or scientific first principles have never practiced the profession. Teaching maths and natural science is not teaching engineering. Unwillingness to understand when you are doing it wrong isn't even good science.