.. include:: ../common.rst

.. qnum::
   :prefix: 5-10-
   :start: 1

|Time45|

Social Impacts of CS
====================

.. |ACM professional code of ethics| raw:: html

   <a href="https://ethics.acm.org/" target="_blank">ACM professional code of ethics</a>

.. |Wired article| raw:: html

   <a href="https://www.wired.com/2016/06/self-driving-cars-will-power-kill-wont-conscience/" target="_blank">Wired article</a>

We are living in an age of rapid development in technology and automation. Software and hardware developers increasingly have real impacts on people's lives. In computer science, we follow the following |ACM professional code of ethics| which includes guidelines such as "Avoid harm" and "Respect privacy".

However, sometimes programs have unintended consequences, and sometimes, it is hard to ensure **system reliability**, where everything will work as intended. Software developers also need to be aware of the legal implications and intellectual property laws.

The fields of **AI (Artificial Intelligence)** and **Machine Learning** increasingly pose ethical questions in our world. For example, self-driving cars that use machine learning to learn to follow lanes and avoid collisions could make our world much safer. Self-driving cars do not get distracted by text messages and don't drink and drive. However, what if the car needs to make an ethical decision about avoiding a collision with a pedestrian by causing an accident that may also lead to the loss of life? Who makes these decisions? The software? the programmers? If you were a programmer for a self-driving car, how would you approach such decisions? Here's a great |Wired article| about self-driving cars and ethical problems.

Another problem in machine learning is **bias** in algorithms or data. Machine learning software learns from lots of data examples, but the data in our world is often biased, and machines can then learn these biases.


.. |video1| raw:: html

   <a href="https://www.youtube.com/watch?v=TWWsW1w-BVo" target="_blank" style="text-decoration:underline">Gender Shades video</a>

.. |Joy Buolamwini| raw:: html

   <a href="https://www.poetofcode.com/" target="_blank" style="text-decoration:underline">Joy Buolamwini</a>

Watch the following |video1| about gender and race bias in face recognition algorithms by computer scientist |Joy Buolamwini| (MIT Media Lab and Algorithmic Justice League).

.. youtube:: TWWsW1w-BVo
    :height: 400
    :width: 600
    :align: left


Here are some other interesting videos to watch about bias in algorithms:

.. raw:: html

    <ul><li><a href="https://www.youtube.com/watch?v=QxuyfWoVV98" target="_blank">AI, Ain't I a Woman?</a>, a poem by Joy Buolamwini</li>
    <li>Ted Talk video on <a href="https://www.youtube.com/watch?v=UG_X_7g63rY" target="_blank">Bias in Facial Recognition</a> by Joy Buolamwini,</li>
    <li><a href="https://www.youtube.com/watch?v=7lpCWxlRFAw" target="_blank">A report on police crime prediction software and bias</a></li>
    </ul>

|Groupwork| POGIL Groupwork: Impacts of CS
----------------------------------------------

In POGIL groups, choose a software application that has social and ethical implications. Discuss the beneficial and harmful effects of this software application. Discuss the ethical problems that may arise and how programmers can try to avoid them. Prepare a presentation for your class.


Summary
--------

- While programs are typically designed to achieve a specific purpose, they may have unintended consequences.

- System reliability is limited. Programmers should make an effort to maximize system reliability.

- Legal issues and intellectual property concerns arise when creating programs.

- The creation of programs has impacts on society, economies, and culture. These impacts can be beneficial and/or harmful.
