Skip to main content

An ethics assignment for CSC 322

Part of the ongoing series things Sam was going to write anyway [1].

The question of where to cover ethics in the CS curriculum is a thorny one. One the one hand, we have a responsibility to talk about ethical issues throughout the curriculum. On the other, there should be at least one point in the curriculum in which students do a deeper dive into their responsibilities as computing professionals. At Grinnell, in addition to trying to do both, we also incorporate discussions of social issues in our weekly CS table.

I’m not sure we’ve ever formally discussed having a separate Ethics in Computing course [3]. If we have, we likely decided it was the wrong approach. So for now, the deeper dive is part of the expected curriculum in our software design course. Students generally report that that seems to be an appropriate place, or at least that they have to do a deep dive by the time they do their software design project. As they work in teams on real projects, they clearly need to consider their responsibilities as professionals.

Since I’ve inherited our software design courses, I get to teach about these issues. I admit that I sometimes struggle a bit. I don’t have deep training in ethical theory, and there are certainly times that I’d prefer that deep training to my informal approach. It’s not hard to find readings; we start with the ACM Code of Ethics and build from there. And I’m comfortable with the issue that there’s not one correct answer to many of these problems. But I’m not always sure about the best way to cover these issues in class. This semester I tried two new approaches: I asked students to read and reflect on six basic ethical frameworks that I’ve heard suggested at SIGCSE/SIGCAS [4] discussions (social contract theory, deontology, consequentialism, utilitarianism, virtue ethics, and justice as fairness) and I used two of the draft ACM Case Studies. I’m not sure I’ll continue the frameworks, but I will continue the case studies. In any case [5], I think we need more time to discuss ethics in the course; when we design the new version next year, we should think about how to add that extra time [6].

Of course, our classroom discussions are not enough. Just as we find that students learn programming better when they actually write programs, we find that students think more deeply about their responsibilities and about the ethics of computation when they have to write about these issues. Hence, I always assign a paper. Just as I am challenged about the right way to cover the material in class, I am also challenged to about the essay topic. Almost every semester I’ve taught the course, I’ve changed the prompt. One semester, I asked them to choose a mechanism for covering ethics in the CS curriculum and to argue for that mechanism. Last semester, I asked them to reflect on the changes to the ACM Code of Ethics between the 1992 version and the current draft.

This semester, I reflected on the new discussion approach and on the needs of the ACM and decided to have my students write their own case studies. Given the characteristics I see in my students, I expect that some [7] of these case studies will be good enough to make part of the ACM repository. Fortunately, I know folks on the ACM Committee on Professional Ethics (COPE) [8], so I can at least make sure that they get passed along. Here goes.


With the imminent release of the new ACM Code of Ethics, the ACM Committee on Professional Ethics (COPE) is hoping to spur the development of teaching materials that faculty can leverage as they help their students explore the implications of the code of ethics. At the center of this effort is a quest of case studies that can serve as the center of discussion. Right now, that development is in the preliminary stages. You can find the initial set of draft case studies at https://github.com/kirkpams/ACM-Code.

Your goal is to write a new case study comparable to those already in the repository. However, you have a few additional requirements that are not in the typical case studies.

  1. Identify an interesting actual case in the media. You might explore issues similar to those in the extant case studies or you might look at new issues. I’m particularly interested in case studies that deal with issues of accessibility, but you should pick a topic that you find interesting or useful.

  2. Write a one-paragraph summary of the actual case, with citations to the original sources you’ve used. The summary will appear on the second page of the case study.

  3. Write a one-page narrative description of a related imagined case that allows you to highlight particular issues of interest. In doing so, you should reflect on portions of the ACM code of ethics that are likely to be relevant. Your narrative should be about the same length as the extant case studies.

  4. Write a dozen or so questions to supplement the basic set of reflective questions. The case on bypassing mobile security provides a reasonable set of sample questions.

  5. Write a one- or two-paragraph instructors guide that discusses the portions of the ACM code of ethics that you consider most relevant to this case.

While the repository contains some templates, it is likely those will be updated. Hence, you may format these materials as you consider appropriate.

Send your completed set of answers to me with a subject line of [CSC 322 2018S] Ethics Essay/Project.

I anticipate submitting some of the better cases to ACM COPE for broader use. I will ask your permission before doing so. If you believe that your case is worthy of submission (and I hope most will be), feel free to encourage me to submit yours, too.


That’s what I showed to my students at the start of class today. One of the great things about Grinnell students is that they are willing to challenge you. And so they did. They asked, Wouldn’t it be better if we did the work in groups? I thought about it. And they are correct, they generally work better in groups. I worry a bit that group work on this assignment reduces even further the individual work in the course, but that’s a natural consequence of it being a group project course. But I like the attitude that We learn better by discussing the issues. Given the students in the course, I’m not worried that they will shirk the work. Hence, I added one more paragraph [9] to the assignment.

You may choose to work alone or in a group of two or three students. If you choose to work in a group, you should only submit one copy of the assignment.


I typically call this assignment the ethics paper or ethics essay. But this assignment is not so much about writing a traditional argumentative paper. Hence, I’m just calling it the ethics assignment or ethics project.

I would, of course, appreciate any comments my readers have to share on this assignment.


Postscript: If no student chooses the Berkeley video courses case, I’ll probably write that up as a case study. I consider it very important that the ACM includes a few cases having to do with issues of accessibility. If my students don’t generate enough, I will likely contact the folks at Access Computing for other ideas.


Postscript: I started this musing with the claim that it represented something I was writing anyway. In some sense that’s true; I was going to write the assignment in any case. However, I had not planned to write the framing text. It seems that even when I’m matching the original goal of the musings, I’m writing extra material. In this case, adding the introduction and other materials tripled the number of words in the musing.


[1] If I recall correctly, things Sam was going to write anyway was the initial motivation for the musings. That is, my primary goal was to share with the public the things that I wrote as part of my work [2].

[2] At some point, I’ll muse on the transition.

[3] Okay, it’s come up at CS Table and in the courses in which we do the deeper dives.

[4] SIGCSE is the ACM Special Interest Group on Computer Science Education. SIGCAS is the ACM Special Interest Group on Computers and Society.

[5] No pun intended.

[6] More precisely, I should think about what to remove in order to make room for more coverage of ethics.

[7] most, all

[8] ACM loves acronyms.

[9] Well, sentence.


Version 1.0 of 2018-03-14.