McMaster University
9/9/98
DEPARTMENT OF COMPUTING AND SOFTWARE
Software Engineering Research Group
“connecting theory with practice”
9 unconJS.slides
Licensing: Why we have it in Engineering
and not in Science
Scientists’ work is usually judged by peers:
• Research papers and proposals are peer reviewed.
• Work in laboratories is reviewed.
• Scientific work is often replicated in separate
experiments.
• Scientific results are usually used by other scientists
and by engineers who are able to detect problems.
Engineers’ work is not always subject to such review:
• Results are built, not published.
• Results are often confidential
• Engineers often work alone.
• Engineers often deal directly with the public or their
non-engineer representatives. Public safety and well
being is affected.
That this is also true of software development; it
was noted 20 years ago in another context. See:
Richard A. DeMillo, Richard J. Lipton, Alan J.
Perlis: Social Processes and Proofs of Theorems
and Programs. POPL 1977: 206-214. Also
published in CACM 22, 5, May 1979, 271-280
McMaster University
9/9/98
DEPARTMENT OF COMPUTING AND SOFTWARE
Software Engineering Research Group
“connecting theory with practice”
10 unconJS.slides
Accreditation: Why we have it in
Engineering and not in Science
The accreditation process that we have in
engineering would be considered an unacceptable
violation of freedom by teachers in science.
• Scientists need not be licensed.
• Scientists can be specialists.
• There is no agreed “core body of knowledge”.
• Major differences in what physicists or computer
scientists know is not considered remarkable.
• “Model curricula remain suggestions.
• Evaluations are shallow and half-hearted.
Many Scientists and Computer Scientists seem
unaware of the Engineering accreditation process.
• large visiting teams
• detailed evaluation procedure - about a week
• reading of class notes and student work
• critical to survival
The CS accreditation has “no rigid standards”.
McMaster University
9/9/98
DEPARTMENT OF COMPUTING AND SOFTWARE
Software Engineering Research Group
“connecting theory with practice”
11 unconJS.slides
The Engineering Style Of Education?
1. It is quite rigid - students have little choice.
2. Course contents are often prescribed - Professors
have little choice.
3. It deals with rapidly changing fields by teaching
fundamentals.
4. When teaching math and science, the emphasis
is on how to apply, not extend, knowledge.
5. Stress on how to design.
6. Stress on professional responsibility and ethics.
7. Things are never taught
just because they are
elegant. Students expect to be shown how to use
what to learn.
8. Theory (math) and practice are integrated.
There is a set of things that you can expect every
<*>engineer to know.
Safety demands this style of education.
McMaster University
9/9/98
DEPARTMENT OF COMPUTING AND SOFTWARE
Software Engineering Research Group
“connecting theory with practice”
12 unconJS.slides
The Engineering Style Of Education?
An Engineer’s education is not specialised!
• Chemical Engineers must know much more than
Chemistry - fluid dynamics, thermodynamics,...
• There is often a shared first year for all branches.
There is solid agreement on the core material.
Everyone has something that they want to add, but
they all agree on the core that is now required.
Engineers learn that they must do “dog work”, that
they must be disciplined and thorough.
Systematic Analysis is stressed, case analysis
Classical Subjects such as:
differential equations, probabalistic analysis,
optimization, numerical methods, testing,
experimentation, information theory,...
Something is missing!
• Where is software?
• This was not important 30 years ago. Today it is
pervasive.
• Teaching a language is not enough.