|
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.
|