Santa Clara University was awarded a grant in April 2019 as one of the winners of the Mozilla Responsible Computer Science Challenge. The grant is aimed at promoting innovation and experimentation in the integration of ethics into undergraduate Computer Science curricula. This is a summary of what we have been doing, and some of the plans ahead.
- Steering Committee
- Course Integrations
- Fall 2019: Computer Security
- Winter 2019 (coming up), Data Science
- Student Community Events
- Nov 13 Wed: Series #1
- Faculty Consultations
- Discussion on Learning Outcomes initiated
- Lunch meeting 12/11/19 seeking input from broader faculty community on campus
- Resources Currently Available to SCU CS/CE Faculty
The Responsible Computer Science (RCS) 2019-20 project at Santa Clara University is a collaboration between computer science and software engineering faculty and staff members of the Markkula Center for Applied Ethics. Overseeing the implementation is a cross-disciplinary steering committee that meets once a month to review ideas and plans and take collective decisions on ongoing work.
Members: Sukanya Manna (CS), Shiva Houshmand (CS), Ahmed Amer (CE), Irina Raicu (Markkula), Brian Green (Markkula), Subramaniam Vincent (Markkula), Shannon Vallor (Philosophy), Keith Yocam (Education), and Eli Latimerlo (Corporate Foundation Relations). Hackworth Fellow and undergraduate computer science student Tiana Nguyen also plays a key role in the effort.
The current components of Responsible CS at SCU include the following:
- In-class presentations of the MCAE Ethical Decision-Making Framework and application of its ethics lenses to a case study
- Homework case study analysis
- In-class ethics-implicating coding exercises
- Other in-class ethics-related activities (e.g. privacy design challenge)
- Community (out-of-class) events for students
- Presentations of framework and case analysis (topics include internet-connected toys, the ethics of open source, etc.)
- Ethics content in hackathons
- Faculty consultation and generative events
- List of short readings explaining the case for incorporating ethics into CS/SE courses (e.g. piece by Shannon Vallor and Arvind Narayanan in Communications of the ACM, titled “Why Software Engineering Courses Should Include Ethics Coverage”; similar pieces re. data analysis courses and cybersecurity courses)
- Data science activities highlighting ethical dimensions of machine learning and other data-related efforts
- List of articles reflecting computing ethics in the news (as conversation starters)
1. Fall 2019: Computer Security
- Shiva Houshmand, Professor of Computer Science: In Fall 2019, Shiva Houshmand included an ethics assignment in two sections of her Computer Security CSCI 180 course.
- First, as homework, the students were asked to read two short cases about cybersecurity ethics, and write a brief response re. whether they thought the actions taken by individuals in the cases were ethical or not. The cases came from “An Introduction to Cybersecurity Ethics”—a free resource from MCAE. Note: the students were specifically told that the assignment would be assessed for effort--not based on the “correctness” of the answers.
- In the next class period, Irina Raicu introduced MCAE’s Ethical Decision-Making Framework. The students were then asked to break up into small groups and practice applying the framework’s ethics lenses to one of the case studies that they had already addressed. Raicu then led a class discussion in which students identified the stakeholders in the case and discussed the ethical issues that they were able to perceive through different ethical standards (the utilitarian approach, the rights approach, the fairness/justice approach, the common good approach, the virtue approach).
- The survey at the end of the class showed that students generally enjoyed the ethics discussion, felt that the ethics “lenses” did help them identify more ethical issues, and felt that the group discussion in class helped them understand other perspectives and opposing views.
2. Winter 2019 (coming up): Data Science
- Sukanya Manna, Professor of Computer Science. Sukanya Manna has redesigned her undergraduate Data Science course to integrate ethical considerations.
- She has done it not as a separate section or module in the class, but as an integral part of the course.
- She has identified project topics where she can make students aware of ethical perspective - for example, students need to understand “bias” in machine learning algorithms and how it can affect any form of predictions.
- She has split the dataset projects into smaller segments, and tied them up with specific contents of the course materials planned. In that way, students do not see the ethical concepts as distinct from the rest of their work. Rather, they can rethink the same problems from newer perspectives in the same course flow.
- Specific in-class exercises and homework are planned with the smaller segments mentioned earlier.
- The initial goal is to work on a couple of quarter-long projects in the class, and review outcomes. If students prefer this approach, the aim is to increase the number of projects.
Student Community Events
In November 2019, our team held a community dinner event with undergraduate students. We invited students to come practice their ethical decision-making skills by applying them to an “Internet of Toys” case study: “The Goodbye Fears Monster”. More than 40 undergraduate students attended. We designed this event as a deeper dive into the Ethics of the Internet of Toys, to help students view ethical decision making in product work as a skill--and part of their responsibility.
- Two main questions were used to drive the conversations in breakout groups: Who are the stakeholders? What do you see through each of the moral lenses? (Rights, Fairness, Utilitarian, Common Good and Virtues)
- Notable comments from the students who attended:
- “Gave me new perspective on a lot of things. I wasn’t aware of such concerns when developing a product”
- “Very informative and eye opening”
- “Made me think deeper than the fact that it’s a toy”
- “It was interactive which was good”
- In response to our question re. what would students like to do to continue to build their skills and practice as ethical thinkers, some highlights:
- “More case studies”
- “More elaborate thinking about my actions”
- “Look deeper into more products”
- “Evaluate more case studies/real life situations”
- “Maybe learn about ways that privacy can be protected”
1. Discussion on Learning Outcomes initiated
Like our counterparts in other colleges and universities involved in this project, we are considering ways to define "learning outcomes" in the RCS context.
Starting points: People in assessment usually define learning outcomes as measurable student gains (skill-based, knowledge-based, or other), according to Shannon Vallor, Professor of Philosophy. We are mapping that to RCS. Here is a list of possible learning outcomes suggested by Vallor; these will vary depending on what we may want to accomplish with any given learning activity:
- Students can correctly identify ethical issues in computing work, applications, and/or use cases
- Can reliably distinguish ethical issues in CS from merely technical, legal, commercial, or PR issues/challenges
- Understand and can appropriately apply some specific concepts of normative ethics (such as duties, rights, virtues, values, justice, human flourishing, utility, risk, harm, etc.) to CS contexts
- Can identify the relevant moral stakeholders in a CS scenario and some of the important moral values, interests, hazards, and conflicts at stake
- Know how to apply some reliable general frameworks for ethical decision-making (whether that's the MCAE framework, or utilitarian, Kantian, common good, justice, or virtue theories of ethics) to relevant RCS cases/scenarios/projects
- Understand and can apply some existing standards and best practices of responsible computing, and/or established professional codes of computer ethics to relevant RCS cases/scenarios/projects
- Can identify specific software, hardware, or UI design choices, processes, features, implementations and interventions that could increase or reduce the ethical risks present in computing work or uses
- Can reasonably justify and defend specific technical choices in CS contexts as responsible, using coherent and sound ethical reasoning to support the choice.
- Can anticipate and understand ethically-based objections or concerns about CS from a diverse range of stakeholders inside and outside of CS
- Can identify and explain fundamental ethical concerns in computing (privacy, security, fairness, transparency, accountability, safety, control, manipulation/deception, trust, etc.)
Note: This discussion will continue further in the Winter and Spring quarters as further consultations with faculty continue.
2. Lunch meeting on 12/11/19 seeking input from broader faculty community on campus
This December, the RCS Steering Committee organized a lunch event to seek inputs and ideas for integrating ethics into computing courses, in conjunction with learning outcomes from other faculty in STEM at SCU who are interested in integrating ethics or have been doing so in different courses. The goal was to have a broader conversation on campus, learn from others’ experiences and to share what our group has been doing. Faculty attended from Computer Science, Engineering and..
- Edward Schaefer, Professor, Department of Math and Computer Science
- Navid Shaghaghi, Lecturer, School of Engineering
- Ron Danielson, Vice Provost for Information Services and CIO, Santa Clara University
- Sara Krehbiel, Assistant Professor, Department of Math and Computer Science
- Yuhong Liu, Assistant Professor, Department of Computer Engineering
- Natalie Linell, Lecturer, Department of Math and Computer Science
- Silvia Figuiera, Associate Professor, Department of Computer Engineering
- From our steering committee: Irina Raicu (Markkula), Brian Green (Markkula), Sukanya Manna (Computer Science), Shiva Houshmand (Computer Science), Ahmed Amer (Computer Science & Engineering)
The discussion was on a wide range of issues with faculty sharing their experiences from current work and aspirations. Some bullets:
- Need to move from adhoc to systematic approaches to integrate ethics.
- A pool of resources from many universities to forward the conversation on ethics in CS. Lists of cases, list of tools to apply, databases to share with courses, etc.
- A lot of experimentation is needed for learnings
- It may be better to integrate ethics all over a class and keep it subtle rather than one section at the end (for e.g. around “Is it right to design this way?”). The latter approach may just be ignored. Integration vs Segregation of ethics from topics
- Any discussion is better than none.
- Ethics as imagination training and preparation
- Starting discussion outside of class, students must write something and respond to another student too
- It is reassuring to students to have ethics raised in their technical courses because that aligns with non-technical courses. Also sobering to learn how serious it can be.
- There is a choice to be made in giving students lots of material where they have to make little investment of time (no depth) or narrowing the scope to less material with lots of time investment. In engineering classes there is already a lot of technical material to get through before a quarter runs out.
- Using the Camino (curriculum software and student groups) system to have discussions on ethics is a good thing. Students can do this even before or in between classes.
Inviting Industry/External Speakers
This Winter and Spring, we are planning to bring in guest speakers into activities. They will be working engineers/data scientists talking about ethical issues they have run into or other leaders to talk about how complex datasets about society are put together. This is to let students understand the difficulties in collecting, cleaning, labeling the data, etc., and also prepare students to anticipate gaps in datasets as representations of people.
Resources Currently Available to SCU CS/CE Faculty
In addition to planned activities above, the following resources are available to all faculty on campus already.
- An Introduction to Software Engineering Ethics (module with overview, case studies, homework assignments, notes for instructors, etc.)
- An Introduction to Data Ethics (module with overview, case studies, homework assignments, notes for instructors, etc.)
- An Introduction to Cybersecurity Ethics (module with overview, case studies, homework assignments, notes for instructors, etc.)
- A Framework for Ethical Decision Making (also in app form)
- Many case studies