The Integration of Ethical Design into Introductory Software Development Coursework; A Virtue Ethics Analysis of Racial Bias in Google Facial Recognition Technology
Ngo, Justin, School of Engineering and Applied Science, University of Virginia
Graham, Daniel, EN-Comp Science Dept, University of Virginia
Laugelli, Benjamin, EN-Engineering and Society, University of Virginia
My technical work and STS research are connected through the idea of ethical software development, and the importance of its pedagogy and practice. Software development and design practices influence the technology that is increasingly being used in everyday life, and it is central to both my technical and research paper. However, the two works differ in the way they explore software development practices. My technical work focuses on improving the teaching of ethical software design in educational institutions, whereas my research explores the ramifications in society when software engineers lack ethical design skills. While my technical work and my STS research approach ethical software development from different angles, the theme of the importance of practicing ethical design in software engineering is consistent across both projects.
In my technical work, I proposed that more required ethical thinking tasks be integrated into earlier Computer Science coursework at UVA. I examined the ethical computing concepts discussed in the Spring 2021 iteration of CS3501 Everyday Ethics and Quotidian Quandaries for Computer Scientists, and the basics of software development taught in the Fall 2019 iteration of CS2110 Software Development Methods, to propose improvements to the teaching of ethics in the Computer Science department at UVA. I outlined several changes that can be implemented into the existing curriculum for CS2110 to improve the University’s teaching of ethical design. I learned about existing ethical design coursework used in different Computer Science curriculums and used this to better inform my technical project proposal for specific improvements to CS2110 at UVA. I explored the trade-off between teaching technical and ethical concepts as software development coursework integrated with ethics must ensure that students are not disrupted from learning the important technical aspects of programming. In addition, I explored the issue of ease of course integration as a factor of consideration in curriculum redesign because it would dictate that courses are not entirely overhauled and disruptive of student learning.
My STS research also explores ethical design practices, but from a different angle. My research focuses on the importance of practicing ethical design in real world software engineering, and looks at the impact that a lack of ethical design practices can have on society when engineers are not equipped with these skills. Aristotle’s theory of virtue ethics is employed to relate ethical thought and software engineering. In addition, my paper discusses specific ethical virtues necessary for morally responsible software engineers. The goal of my research is to provide a perspective on the importance of practicing ethical design in real world software engineering as software engineers are not just responsible for writing code and technical designs; they are often responsible for being just in their designs.
Working on these two projects in tandem added significant value to both. My technical work gave me a better understanding of teaching ethical design in educational institutions. Similarly, my STS research provided perspective on the importance of teaching and practicing ethical design in software engineering to prevent harm in society. My STS research increased my passion for ethical design and supported the proposed changes I have for introductory software development coursework at UVA in my technical project. In summary, working on both my technical project and STS research allowed me to explore ethical design in software engineering from multiple angles, and each work complemented the other.
BS (Bachelor of Science)
Software Engineering, Software Development, Ethical Design, Virtue Ethics, Computer Science, Google Photos, Facial Recognition, Race, Diversity, Algorithmic Bias
School of Engineering and Applied Science
Bachelor of Science in Computer Science
Technical Advisor: Daniel Graham
STS Advisor: Benjamin Laugelli