Programming is an essential part of Computer Science where humans give instructions to a computer using a variety of language. Those languages get translated into machine code that the computer can implement. It allows us to have computers engage in complex tasks with simple instructions. But it can also lead to ethical issues worth pondering. Here is a guide to help you and your student dig into the topic.
This is part of a series of documents meant support a discussion and investigation of ethics and morals in relation to the impact of computer science on the world at-large. You can find the rest of series here:
Introduction: In this document we will engage with the CS concept of Programming which
Programming is about giving instructions to computers. Programming can be done through a constantly changing set of languages. Each language is translated from human-readable code into machine code that can be executed by the computer’s central processing unit, CPU. (CSforAll NYC Blueprint).
This document is generated from the #ethicalCS Twitter chat. You can find the highlights from the chat on Programming here with Tiffany Mikell, Kishau Smith Rogers, Fei Liu, Rob Nelson, Scott Hanselman, and others.
- How do we develop a code of ethics for programmers?
- How we see the impact of a tool or solution? How do we build good intent into a tool or solution?
- How do we seek long-term large-scale solutions instead of simple coding projects?
- Ethics should be a required course in Software Engineering education.
- Focus on the impact of programing and use it to answer how, when, and what questions.
- Take time to understand the context of a problem by reading, meeting people, and engaging in discussion.
- Often coding is not the answer to complex situations.
- Focus on the intent and results of a tool not just on the engineering.
- Center the needs of the marginalized and vulnerable first in the design process.