On the Integration of Ethical, Legal, and Societal Issues into a Computer Science Senior Design Capstone Program
Shawn Bowers, Ellen M. Maccarone, George D. Ricco · 2016
Abstract In this paper, we describe our experiences integrating ethical, legal, and societal issues in computing within our senior design capstone program. The senior design program consists of a two-semester design course in which teams of 4-5 senior-level students work on a software development project proposed by an external sponsor. Projects are advised by a single faculty member and evaluated by both the faculty member and members of an advisory board made up of computing professionals. As part of the program, students are assessed on a number of factors including the quality of the software they produce and whether the software meets their customer and user needs. The first semester of the program is organized as a traditional course in which students learn various software engineering techniques that they apply to their projects, including requirements engineering, risk assessment, estimation and scheduling, project management, and design and development approaches for large-scale software projects. Students are expected to create project plans, give presentations, and develop working prototypes of their software by the end of the semester. Traditionally, the second semester has consisted of fewer software engineering topics, and a greater emphasis on using class time to working on their project through various structured activities (in-class exercises). These exercises cover a range of topics designed to help students complete their projects. Examples of areas where exercises are drawn include project management and planning activities (e.g., through pre-mortems, refining schedules, etc.), software design and design reviews, code reviews, and in-class system and usability testing (where teams test each others software products). Over the last two years, we have begun embedding within the second semester in-class exercises on professional ethics, societal issues, the impacts of technology, and legal issues in computing. This work has been in conjunction with two Philosophy faculty members (one an expert in professional ethics, and another in the philosophy of technology). The exercises developed on ethical considerations in computing have also closely followed the modules developed by Vallor and Narayanan ("An Introduction to Software Engineering Ethics") at the Markkula Center for Applied Ethics at Santa Clara University. A large emphasis of our approach has been to ground the ethical, societal, and legal issues within the context of the students projects. Our goal has been to provide students with a deeper, more nuanced perspective on ethical, legal, and societal issues in computing by leveraging their software engineering experiences developed through their senior design projects. In this paper, we will present the exercises we have developed and discuss what we see as the benefit of grounding ethical, legal, and societal issues within the students experiences of their senior design projects.