I've been meaning to write about ethics in CS education for a while. Probably since I saw this article in the NY Times but got sidetracked.
I was reminded when I saw this tweet by Hadi the other day:
This message is bigger than Facebook. Computer science faces an ethics crisis. That’s why @codeorg covers ethics and digital citizenship in our computer science courses. (And we’re thankful that most of the largest tech companies support us) https://t.co/roSkAzANQM— Hadi Partovi (@hadip) March 24, 2018
I think we can all agree that bringing ethics and digital citizenship and, frankly, citizenship in general to our students is important. What I wonder is what approaches will lead to meaningful results and what methods will lead us to checking off the "covered that" box.
I'm skeptical of throwing an ethics course into the curriculum as some places seem to be doing. A class might be required, might fulfill an elective requirement or it might just be an extra course. If it's required, what does it replace or are you just going to add more to the student load. If it fulfills an elective credit, will it be perceived as "the easy course" as opposed to say, theory and if it's just an extra course, who's going to take it? Will it just become preaching to the choir.
Better is what Hadi mentioned in his tweet - embed ethics throughout all of your courses and while I think this type of embedding is important and I'd argue necessary, I'm still betting it won't be enough to make a difference.
When teaching a course, teachers cover the curriculum but when you drill down to where they focus their time, it comes down to:
- what they think is important for the kids to know.
- what they think the kids will need for that high stakes exam.
If a teacher feels embedding ethical concerns is important they'll spend time on it, if not, it will be lip service. Even if it's on the high stakes exam, unless the teacher really believes that this is important it will just be teaching to the test.
I'd argue that it has to go even further since teachers can only do so much. How many schools have honor codes and how many of us know graduates from those schools who exhibit less than ethical behaviour.
So what do we do?
Well, of course we do have to embed ethical concerns across the curriculum. Teachers should be armed with both the materials and time needed to address ethical concerns but beyond that, we need teachers for which ethical CS is important.
My friend Saber Khan has been facilitating a monthly #ethicalCS twitter chat for close to a year now. I don't take part in too many twitter chats but do recognize that they're important in raising both awareness and community. I've also seen ethical CS issues more frequently appear as conference sessions and professional development.
The next big step is to start at the beginning - pre service teacher training and in my opinion, not with a course but rather embedding ethical issues throughout teacher preparation.
If we want to crack this nut it can't just be from curriculum and from the choir. Pre service CS teacher training is in it's infancy and has not yet really found its form.
Much to my chagrin, a lot of CS Ed has gone the way of other Ed: Math Ed, Science Ed, etc. and not in a good way. Let's see if we can make sure that pre service CS teacher preparation develops to attract and create great teachers for which ethical CS is part of their core.