Consequences of Computing:
A Framework for Teaching

Introduction - Page 5 of 36

Overview of the Report

The ImpactCS project consists of several stages of work to provide resources to faculty who wish to teach ethical and social issues in computing. The first stage of the project involved convening a panel of experts in ethics and social impact to provide a conceptual foundation for courses and course modules. Appendix 1 lists the membership of the panel. This report is the outcome of that panel's work. The report contains only a few practical examples of how one might teach ethical and social issues in computing; it is primarily concerned with providing an overview of the principles and skills that should be taught. The second stage of the ImpactCS project is designed to gather together and to disseminate a wide variety of practical materials to help the instructor teach the principles and skills we outline here. It is scheduled to be available in late 1996. The final stage of the project will consist of a series of faculty enhancement seminars to present to instructors the basic principles and skills outlined in this report and the practical pedagogical tools we are currently gathering.

This report is an attempt by a panel of experts in the field to specify what portion of this area should be taught in the undergraduate computer science curriculum. In one sense, it is a filling in of the gaps in the specification provided by Curricula 1991. It is also an attempt to provide a coherent theoretical framework for presenting these issues. Finally, it grapples with the question of what minimal subset of topics should be covered in an already bulging computer science curriculum.

The course of studies we recommend is emphatically not an activist or radical agenda nor is it a set of narrow morals. Instead, we emphasize the principles and skills that computer scientists need to design technology that takes into account the social and ethical context of its use. We attempt to base ethical reflection on codes of ethics that professional societies have established. However, we do not take those codes as dogma to be followed. Rather we provide students with the principles and skills they will need to reflect carefully on those codes and to evaluate any activist agendas that may be proposed.

In this report, we first present a conceptual framework that allows the instructor to see the social and ethical context within which any particular issue can be viewed. Because there are several disciplines that contribute to an understanding of social and ethical context of computing, the context we construct here is multidimensional in nature. Most of the standard topics that instructors already associate with the area will be found here. But other topics, and the intersection of many topics are also suggested by this framework. We expect it will provide the sort of comprehensive, conceptual overview that the field has been lacking until now. But since these issues change with time, we also expect this framework will need to be revised periodically to reflect those changes.

Next, we present an accounting of the basic principles and skills that we think are minimally necessary to cover in the undergraduate computer science curriculum. These can be taught in a variety of ways, and using a variety of the social and ethical issues from the conceptual framework. Though the importance of issues in the framework may change over time, we have attempted to construct the basic principles and skills in a way that makes them more stable than fleeting issues of the moment.

Finally, we present some suggestive comments on pedagogy. ImpactCS is scheduled to deal in detail with pedagogical issues in its next stage of operation, but we felt certain suggestions could and should be made now. For instance, we provide a model of how one might combine the conceptual framework and the basic principles and skills into a coherent course. This combination does not restrict the instructor in terms of method, and provides a great deal of variety in approaches. We also make some comment on the necessity of teaching ethical and social issues of computing through the use of hands-on lab experiences and on the importance of integrating these issues throughout the curriculum.