I think you're right the problem is the course. For example I also had a great ethics class, but it was bioethics, not technology.
Part of the problem is you think that software engineers should take a course in software engineering ethics. The problem here is like the GP says, it boils down into a class of are you dumb enough to pick the obviously unethical answer and fails to teach any ethics.
I wonder if requiring an ethics class that focuses on an orthogonal topic, for example requiring software engineers to take a course in business ethics, might be more effective since they can focus more on the actual system process of ethics and less on how it effects their own personal career, and thus be more willing to honestly evaluate ethically grey scenarios.
Part of the problem is you think that software engineers should take a course in software engineering ethics. The problem here is like the GP says, it boils down into a class of are you dumb enough to pick the obviously unethical answer and fails to teach any ethics.
I wonder if requiring an ethics class that focuses on an orthogonal topic, for example requiring software engineers to take a course in business ethics, might be more effective since they can focus more on the actual system process of ethics and less on how it effects their own personal career, and thus be more willing to honestly evaluate ethically grey scenarios.