Consequences of Computing:
A Framework for Teaching

Teaching Topics, Principles, and Skills in the Conceptual Framework - Page 31 of 36

The Importance of Lab Work Computer Science is a fundamentally lab oriented discipline. Most courses incorporate laboratory work in one form or another (e.g. "open labs" with programming assignments done outside of class or "closed labs" with assignments done in class). Because our emphasis in ethical and social issues in computing is on computers in the context of their use, we encourage instructors to incorporate lab work in courses in this area in two ways.

First, other courses in database design, human computer interaction, operating systems, algorithms, etc. can incorporate ethical and social issues into their lab work. There are several readily available guides to how this might be done [7, 15, 17, 36]. These range from the simplest inclusion of real-world ethical material in a programming example [17] to requirements that senior projects analyze the social impact and ethical import of their work [19, 37]. Most other areas of computer science are woven into the curriculum in this manner (e.g. database principles are sown throughout the curriculum) and gain their strength from this repeated and varied emphasis. Ethical and social issues can and should be scattered through the laboratory curriculum in a similar manner.

Secondly, the concentrated course in ethical and social issues in computing can ask students not only to consider the issues but to apply the lessons learned. Huff and Finholt [22] suggest a variety of ways this could be done. These applications can range from simple exercises to full-blown class projects. Simply interviewing a few professionals about ethical practices, or suggesting ways to redesign a product or implementation show with little effort the practical application of the principles and skills to the vocation of computer science. Larger projects, such as data collection and analysis for a "social impact statement" [23, 48], can be linked to almost all of the principles and skills and provide a basis for work in the senior project and beyond.

In both of these approaches the value is gained not from simply going through the motions of laboratory work, but from connecting the abstract principles and skills with real-world examples the student can understand and appreciate. Laboratory work like this makes ethical and social issues in computing less like preaching and more like thoughtful application of practical skills.