|
|
|
|
|
by zmanji
5430 days ago
|
|
I disagree, by definition in most jurisdictions, being an Engineer is being accredited by the local Engineering body. In Canada the Canadian Engineering Accreditation Board [1] accredits undergraduate programs that teach the field of Software Engineering. I attend such a program at the University of Waterloo [2][3]. After I graduate I can write the exams offered by Professional Engineers Ontario [4]. I think this makes Software Engineering a field of Engineering. In regards to what is taught at universities, my program involves courses on Engineering Design, Computer Engineering and Computer Science, but it also has classes on what constitutes Object-Oriented design, HCI, etc. I think those courses are more than enough to teach students on the basic principles of software construction. Also, what do you define the "basic principles of software construction" to be? [1] http://www.engineerscanada.ca/e/index.cfm
[2] http://uwaterloo.ca/
[3] http://www.softeng.uwaterloo.ca/
[4] http://www.peo.on.ca/ |
|
The problem for me is that there don't seem to be any basic principles of software construction. Most programs just teach a selection of software development fad methodologies. A decade ago, most programs taught some variation of waterfall development. Now they tend to teach some variation of agile development. As far as I can tell, there's no scholarship to support one method over the other - it's pure fashion and industry demand. (The decline of academic research on software construction methods since the 80s is another problem) Look at software engineering programs in another ten years and I'm sure you'll see a different mix of classes emphasizing the business trends of the day.
In comparison, you could look at the curriculum for almost any electrical engineering program from thirty years ago and you would see almost the same classes as a modern program: circuit theory, E&M, electric machines, control, communication systems, etc. The only significant difference would be the addition of courses on software and digital electronics.