Getting students thinking about the global impact of computing requires setting aside some time for focused class discussion, exploratory activities, critical reading, and the like. But there are also plenty of opportunities to tie global impact into the nitty-gritty of programming assignments.
“What can you do to enhance the benefits of this program and mitigate potential negative effects?“
To start with, any programming effort can prompt the question “Why would you want to do that?” For beginner exercises, the answer may be fairly trivial, but as assignments grow more complex and there is more room for students to follow their own interests, potential larger impacts can be brought into play. Questions that can be asked about any programming exercise might include:
- What’s the purpose of this program?
- How could it benefit people?
- What negative effects could it have?
- Do those benefits and dangers depend on how you construct it?
- What can/could you do to enhance benefits and mitigate potential negative effects?
“There are critical-thinking questions we should ask about any piece of computing technology, whether we are creating it or using it.”
In a TEDx Talk about impacts of computing, Douglas Rushkoff (author of Program or Be Programmed) suggests we approach code as a liberal art — among other things. Rushkoff lays out some fundamental critical-thinking questions we should ask about any piece of computing technology, whether we are creating it or using it. To paraphrase a few that are pertinent here:
- How does this interface make me feel?
- What are the economics behind this technology?
- What are the embedded agendas and how does that bias the code? How could those agendas be tweaked?
- How could this technology be used effectively?