I suspect it was statics and dynamics (2 courses), heat transfer, electrical circuit theory (2 courses), differential equations, and complex variables. Along with some pre-reqs.
In the past it was not uncommon for every 'engineering' degree to require the basic sophomore level classes for mechanical and electrical engineering. (inThePast = years<1990)
This is right. Not only are ethics courses required for accreditation, but ethics is built into a number of other courses. It was primarily the design courses, but there was usually at least a module on some kind of ethical failure in whatever system the course was covering, like embedded, enterprise, or whatever.
I suspect that testing22321's program is what Steve McConnell called software _engineering_, as opposed to the software engineering program that I went to, which is aligned with McConnell's _software_ engineering.
There's a chapter on this in McConnell's Professional Software Development:
Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers.
His example of software _engineering_ was McMaster University in Canada, where the graduate could achieve licensure by taking and passing the appropriate exams. Courses include materials, thermodynamics, electricity and magnetism. His example of _software_ engineering was based on (an older version) of the program I went to at RIT, which covered courses in software project management, software engineering process, and a lot more software systems design. Both had similar math, computer science, and software development courses, but I suspect McMaster would have courses in linear algebra and multivariable calculus that I didn't have.
Are American developers missing something? We missed out on the opportunity to get licensed in the mid-2000s and 2010s. People who went to _software_ engineering programs probably couldn't pass an FE exam unless they took (and remembered) a bunch of courses that have little to do with building software and would fall outside their normal academic program. I'd say that the software _engineering_ programs that don't get into the nuances of how to manage organizations and teams building software systems are the ones missing useful knowledge.
The grading rubric for all engineering units here in Australia require that students develop an understanding of ethics and professional practice. There are a number of units dedicated to teaching project work, legal, and business aspects of engineering.
Typically the software engineers also do more maths than CS students. Reasoning from first principles is an important skill for professional engineers to have.
testing22321 · · focus · HN ↗
It was two years longer than computer science, and all of those extra courses were with the “mainstream” Engineers.
pull_my_finger · · focus · HN ↗
budman1 · · focus · HN ↗
In the past it was not uncommon for every 'engineering' degree to require the basic sophomore level classes for mechanical and electrical engineering. (inThePast = years<1990)
dpark · · focus · HN ↗
You imagine wrong. Everyone I know with a software-engineering-type degree took a mandatory ethics course.
TomOwens · · focus · HN ↗
TomOwens · · focus · HN ↗
There's a chapter on this in McConnell's Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers.
His example of software _engineering_ was McMaster University in Canada, where the graduate could achieve licensure by taking and passing the appropriate exams. Courses include materials, thermodynamics, electricity and magnetism. His example of _software_ engineering was based on (an older version) of the program I went to at RIT, which covered courses in software project management, software engineering process, and a lot more software systems design. Both had similar math, computer science, and software development courses, but I suspect McMaster would have courses in linear algebra and multivariable calculus that I didn't have.
Are American developers missing something? We missed out on the opportunity to get licensed in the mid-2000s and 2010s. People who went to _software_ engineering programs probably couldn't pass an FE exam unless they took (and remembered) a bunch of courses that have little to do with building software and would fall outside their normal academic program. I'd say that the software _engineering_ programs that don't get into the nuances of how to manage organizations and teams building software systems are the ones missing useful knowledge.
kcexn · · focus · HN ↗
Typically the software engineers also do more maths than CS students. Reasoning from first principles is an important skill for professional engineers to have.