Monday, October 22, 2018

The Imperative to Teach Ethics

Ethics has been on my mind a lot lately. Last week, the ACM had a Twitter chat around the ACM Code of Ethics using the hashtag #ACMCodeOfEthics.It took place during the school day but I was able to take part for a while during lunch. It was a good discussion. Coincidently, Kara Swisher had an OpEd post in the New York Times titled Who Will Teach Silicon Valley to Be Ethical?

There was a time when my biggest concern about the software industry was the poor quality of software (still a concern) These days I worry about the ethical quality of the companies producing that software. This is not a new concern. Years ago I heard the (now former) CEO of a large company talk about his “values coach.” That he needed some one to coach him on the companies published values was unsettling. Kara Swisher talks about “chief ethics officers” to help companies stick to ethical practices. That concerns me as well.

Companies adopt the ethos of their leadership. If they leadership needs someone to tell them that they are pursuing unethical activities there is a problem. And that problem is going to become endemic throughout the company regardless of a chief ethics officer.

We need to teach ethics long before students grow up to become CEOs. I took a look back at the Computer Science Curricula 2013 (CS2013) Final Report today. Yep, all the talk about ethics I remembered from task force meetings was still there. Ethics and professional practices are listed a Core Tier 1 topic. That is the highest of the three levels of importance for undergraduate computer science topics. That means all undergraduate computer science programs should teach ethics!

The discussion in the document talks about the fact that having it as a stand alone course may miss students in some programs but that it can and should be integrated in many, if not most, other courses. In some ways I think integrating it into other courses should be a standard practice with or without a standalone ethics/professional practices course. Context matters.

During the discussion on Twitter last week it was pointed out that many don’t see the ACM Code as having answers to specific questions. That’s probably true but I don’t think it is possible to write a code that answers every specific question. Rather I see the code as a place to start asking questions. How does what is being discussed fit in with ethical practices?  What are the trade offs? There are always trade offs. How do we balance those trade offs to the side of the betterment of society?

Where does that leave us who teach prior to the college/university level? Can we leave the teaching of ethics to the professors? Given the number of people I hear from who say they are unaware of specific ethical practices courses or mandates to discuss ethics in other courses I don’t think we dare. And let us not forget about all those people who bypass university completely! No, we’ve got to teach it.

We’re not going to get many stand alone computer science ethics courses in high schools. OK I teach at a Catholic school and Ethics and Justice is a required course for our juniors.  Ethics shows up in the course description of several of our courses and that is great. But as I said earlier, context matters. I am not going to assume that these other courses are sinking in.

High school courses seem like silos to many students. “Why are we learning Binary in computer science that is a math topic?” is a question I hear regularly. Ethics have to be part of the discussion in computer science courses. It fits nicely into Advanced Placement Computer Science Principles. I think that was/is intentional. We have some great conversations about ethical issues in that course.

What I want, what I think society needs, is for people to regularly think about the ethical impact of computing. Computing is changing every aspect of our lives. Without thinking about the ethical consequences of these changes we risk everything. 


No comments: