Skip to main content
Markkula Center for Applied Ethics

What We Are Doing with #EthicalCS at Santa Clara University

students participate in a hackathon at Santa Clara University in March 2020

students participate in a hackathon at Santa Clara University in March 2020

Participants in the Hack4Humanity hackathon

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. This page was first published on December 18, 2019. Updated June 18th, 2020.

Steering Committee

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: 

  1. In-class presentations of the MCAE Ethical Decision-Making Framework and application of its ethics lenses to a case study
  2. Homework case study analysis
  3. In-class ethics-implicating coding exercises
  4. Other in-class ethics-related activities (e.g. privacy  design challenge)
  5. Community (out-of-class) events for students
    1. Presentations of framework and case analysis (topics include  internet-connected toys, the ethics of open source, etc.)
    2. Ethics content in hackathons
  6. Faculty consultation and generative events
  7. 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)
  8. Data science activities highlighting ethical dimensions of machine learning and other data-related efforts
  9. List of articles reflecting computing ethics in the news (as conversation starters)

Course Integrations

1. Spring 2020: Applied Cryptography 

Shiva Houshmand included an ethics assignment to two sections of Applied Cryptography CSCI 181. This class is being taught online asynchronously due to pandemic. The assignment requires students to first read the ethical decision making framework, and then apply it on a real case. The case is related to the research done by CitizenLab in regard to the security practices of Zoom. The questions ask students to analyze the ethics of Zoom’s security and privacy practices and decisions, and for them to put themselves in the shoes of decision-makers. 

2. Winter, Spring 2020: Data Science

Sukanya Manna redesigned her Data Science (undergraduate) course to integrate ethics not as a separate entity but as an integral part. Salient aspects: 

  1. Identified project topics to make students aware of “ethical” perspectives - for example, students need to know “bias” in machine learning algorithms and how it can affect any form of predictions.
  2. Split projects into smaller segments, and tied them up with specific contents of the course materials planned. In that way, students do not have to spend extra time to know or learn about the new ethical concepts, rather, they can rethink about the problems from a different perspective. 
  3. Specific in-class exercises and homework assigned with the smaller segments mentioned earlier.
  4. Invited Stanford Data Journalism faculty Cheryl Philips, principal investigator on the Stop-and-First data project to do a guest lecture.

3. Fall 2019: Computer Security

  1. 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.
  2. 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.
  3. 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). 
  4. 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.

4. Winter 2019: Data Science

    1. Sukanya Manna, Professor of Computer Science. Sukanya Manna has redesigned her undergraduate Data Science course to integrate ethical considerations. 
    2. She has done it not as a separate section or module in the class, but as an integral part of the course.
    3. 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.
    4. 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.
    5. Specific in-class exercises and homework are planned with the smaller segments mentioned earlier.
    6. 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 

1.Hackworth Fellow Tiana Nguyen's work (Class of 2021, CS)

During the 2019-2020 school year, Santa Clara University CS student and Hackworth Fellow Tiana Nguyen worked with SCU’s Responsible CS team—in particular with Irina Raicu and Subbu Vincent—while also taking courses in applied cryptography, algorithmic fairness and differential privacy, and more. A junior, Tiana also served as the vice president of SCU’s ACM chapter. Her contributions to the Responsible CS effort included drafting in-class software/CS ethics activities; helping to organize, promote, and run several public events on software engineering ethical analysis; helping to develop and judge the new ethics component of SCU’s longstanding “Hack4Humanity” hackathon; writing several essays about her efforts; compiling and analyzing the results of several Responsible CS-related student surveys; and more. Her student perspective, her creativity, her energy, and her curiosity have added much depth to our work. She also wrote a piece on student perspective on life during the pandemic.


Series #3: Open AI, GPT-2 Case discussion (March 2020)

Open AI, GPT-2 Case discussion event flyer

In March 2020, our team held the second community dinner event with undergraduate students. We invited students to come practice their ethical decision-making skills by applying them to a new AI & Open Source case study: “Open Source AI: To Release or Not To Release the GPT-2 Synthetic Text Generator. Around 25 undergraduate students attended.  In February 2019, the Open AI group announced “GPT-2”, a major improvement in language models. But Open AI did not release the full model and dataset citing risks of bad actors abuse. Nine months later,  Open AI released GPT-2 in full. 

  1. 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) 
  2. Some notable comments from the students who attended highlighted the need for more ongoing practice: 
    1. “More practice with different scenarios” 
    2. “I’d love to experience more case studies.” 
    3. “Think critically about future technologies and the ethics of them”
    4. “Read more about ethical cases such as these and discuss them with different people to gain several perspectives”
    5. “Having case studies of people and their experience of being negatively affected by a harmful situation”

Series #2: Hack for Humanity event (Feb 2020)

Since 2014, Santa Clara University has hosted a 24-hour hackathon organized by the School of Engineering’s ACM and ACM-W chapter. The goal of the hackathon is to generate projects that help the broader community. This year, the hackathon was held on February 22 and 23. This year had more than 150 people from 10+ schools). One interesting and important new aspect of Hack for Humanity this year was the Best Ethical Analysis Prize. The Markkula Center sponsored this. The goal was to get teams thinking about the ethical implications of the products they’re creating. Teams who chose to compete were required to submit a brief write-up addressing ethical issues surrounding their hackathon project. Their submission had to include written responses to four questions:

  1. Who are the stakeholders for your project?
  2. What are one or two compelling ethical issues related to your project? 
  3. What are the potential benefits and harms related to this project?
  4. If you’ve identified some potential harms, what might be possible ways to prevent or minimize those harms? 

Read more here: Highlighting Ethical Analysis During Santa Clara University’s “Hack for Humanity” Hackathon

Series #1: Ethics of the Internet of Toys (Nov 2019) 

Ethics and the Internet of Toys

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.

  1. 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) 
  2. Notable comments from the students who attended: 
    1. “Gave me new perspective on a lot of things. I wasn’t aware of such concerns when developing a product”
    2. “Very informative and eye opening”
    3. “Made me think deeper than the fact that it’s a toy”
    4. “It was interactive which was good”
  3. 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:
    1. “More case studies”
    2. “More elaborate thinking about my actions”
    3. “Look deeper into more products”
    4. “Evaluate more case studies/real life situations”
    5. “Maybe learn about ways that privacy can be protected”

Global Survey of Faculty Using Ethics Modules  - (Completed Winter 2020)

The Markkula Center for Applied Ethics sent out a survey in Spring to academics from around the world who downloaded one or more of the ethics modules -- Software Engineering Ethics, Data Ethics, Cybersecurity Ethics - to use in classes. We asked faculty about their experience with using/incorporating the module(s). We asked 18 questions and received 51 responses from 107 recipients. 

Salient findings: 

  • Over 95% of the surveyed faculty said they found the module they adopted useful 
  • ~80% of the faculty used it for case studies and integrating into specific lectures. 
  • 48% used it for multiple sessions/days of course. 
  • 90% said they plan to use it again. 
  • Over 25 suggestions for improvement were received. One specific recurring thread was the need for more cases. Another suggestion was to include sample answers to questions.

MOOCLite Product Planned (Releasing Fall 2020)

Synthesizing from SCU’s RCS project journey, we plan to produce one MOOC-lite public module. The target audience will be CS faculty around the world. The module will give them a basic orientation to bringing applied ethics into CS, and demystify ethics vocabulary. 

Format: This will very likely be a public website

Outline: Introduction to RCS, a pre-survey, the ethics framework video, content videos including a case, a resources list (links) and a post-survey.

Faculty Consultations

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: 

  1. Students can correctly identify ethical issues in computing work, applications, and/or use cases
  2. Can reliably distinguish ethical issues in CS from merely technical, legal, commercial, or PR issues/challenges
  3. 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
  4. Can identify the relevant moral stakeholders in a CS scenario and some of the important moral values, interests, hazards, and conflicts at stake
  5. 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
  6. 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
  7. 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
  8. Can reasonably justify and defend specific technical choices in CS contexts as responsible, using coherent and sound ethical reasoning to support the choice.
  9. Can anticipate and understand ethically-based objections or concerns about CS from a diverse range of stakeholders inside and outside of CS
  10. 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..


  1. Edward Schaefer, Professor, Department of Math and Computer Science
  2. Navid Shaghaghi,  Lecturer, School of Engineering
  3. Ron Danielson, Vice Provost for Information Services and CIO, Santa Clara University
  4. Sara Krehbiel, Assistant Professor, Department of Math and Computer Science
  5. Yuhong Liu, Assistant Professor, Department of Computer Engineering
  6. Natalie Linell, Lecturer, Department of Math and Computer Science
  7. Silvia Figuiera, Associate Professor, Department of Computer Engineering
  8. 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: 

  1. Need to move from adhoc to systematic approaches to integrate ethics. 
  2. 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. 
  3. A lot of experimentation is needed for learnings 
  4. 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 
  5. Any discussion is better than none. 
  6. Ethics as imagination training and preparation
  7. Starting discussion outside of class, students must write something and respond to another student too 
  8. 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. 
  9. 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. 
  10. 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

While we had planned to bring in multiple external speakers as part of our activities, to address ethical issues they had run into or to talk about how complex datasets about society are put together, the COVID-19 pandemic put a halt to that. Still, we were able to host Cheryl Philips, Director of the Big Local News project at Stanford University (Journalism). She spoke to SCU students in a Data Science course about the Stanford Open Policing Project. This project has built, labeled and analyzed a US-wide dataset on traffic stops of people by police. Her presentation helped students understand the difficulties inherent in collecting, cleaning, and labeling data, and prepared them 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. 

  1. An Introduction to Software Engineering Ethics (module with overview, case studies, homework assignments, notes for instructors, etc.)
  2. An Introduction to Data Ethics (module with overview, case studies, homework assignments, notes for instructors, etc.)
  3. An Introduction to Cybersecurity Ethics (module with overview, case studies, homework assignments, notes for instructors, etc.)
  4. A Framework for Ethical Decision Making (also in app form)
  5. Many case studies 
Jun 18, 2020