C.P. Snow keeps getting more right: Why everyone needs to learn about algorithms #CS4All

August 22, 2016 at 7:31 am 12 comments

When I give talks about teaching computer to everyone, I often start with Alan Perlis and C.P. Snow in 1961. They made the first two public arguments for teaching computer science to everyone in higher education.  Alan Perlis’s talk was the most up-beat, talking about all the great things we can think about and do with computer.  He offered the carrot.  C.P. Snow offered the stick.

C.P. Snow foresaw that algorithms were going to run our world, and people would be creating those algorithms without oversight by the people whose lives would be controlled by them. Those who don’t understand algorithms don’t know how to challenge them, to ask about them, to fight back against them. Quoting from Martin Greenberger’s edited volume, Computers and the World of the Future (MIT Press, 1962), we hear from Snow:

Decisions which are going to affect a great deal of our lives, indeed whether we live at all, will have to be taken or actually are being taken by extremely small numbers of people, who are nominally scientists. The execution of these decisions has to be entrusted to people who do not quite understand what the depth of the argument is. That is one of the consequences of the lapse or gulf in communication between scientists and non-scientists.  There it is. A handful of people, having no relation to the will of society, have no communication with the rest of society, will be taking decisions in secret which are going to affect our lives in the deepest sense.

I was reminded of Snow’s quote when I read the article linked below in the NYTimes.  Increasingly, AI algorithms are controlling our lives, and they are programmed by data.  If all those data are white and male, the algorithms are going to treat everyone else as outliers. And it’s all “decisions in secret.”

This is fundamentally a data problem. Algorithms learn by being fed certain images, often chosen by engineers, and the system builds a model of the world based on those images. If a system is trained on photos of people who are overwhelmingly white, it will have a harder time recognizing nonwhite faces.

A very serious example was revealed in an investigation published last month by ProPublica. It found that widely used software that assessed the risk of recidivism in criminals was twice as likely to mistakenly flag black defendants as being at a higher risk of committing future crimes. It was also twice as likely to incorrectly flag white defendants as low risk.

The reason those predictions are so skewed is still unknown, because the company responsible for these algorithms keeps its formulas secret — it’s proprietary information. Judges do rely on machine-driven risk assessments in different ways — some may even discount them entirely — but there is little they can do to understand the logic behind them.

Source: Artificial Intelligence’s White Guy Problem – The New York Times

One of our superstar alumna, Joy Buolamwini, wrote about a similar set of experiences. She’s an African-American woman who works with computer vision, and the standard face-recognition libraries don’t recognize her. She lays the responsibility for fixing these problems on the backs of “those who have the power to code systems.”  C.P. Snow would go further — he’d say that it’s all our responsibility, as part of a democratic process.  Knowing about algorithms and demanding transparency when they effect people’s lives is one of the responsibilities of citizens in the modern world.

The faces that are chosen for the training set impact what the code recognizes as a face. A lack of diversity in the training set leads to an inability to easily characterize faces that do not fit the normal face derived from the training set.

So what? As a result when I work on projects like the Aspire Mirror (pictured above), I am reminded that the training sets were not tuned for faces like mine. To test out the code I created for the Aspire Mirror and subsequent projects, I wore a white mask so that my face can be detected in a variety of lighting conditions.

The mirror experience brings back memories from 2009. While I was working on my robotics project as an undergraduate, I “borrowed” my roommate’s face so that I could test the code I was writing. I assumed someone would fix the problem, so I completed my research assignment and moved on.

Several years later in 2011, I was in Hong Kong taking a tour of a start-up. I was introduced to a social robot. The robot worked well with everyone on the tour except for me. My face could not be recognized. I asked the creators which libraries they used and soon discovered that they used the code libraries I had used as an undergraduate. I assumed someone would fix the problem, so I completed the tour and moved on.

Seven years since my first encounter with this problem, I realize that I cannot simply move on as the problems with inclusion persist. While I cannot fix coded bias in every system by myself, I can raise awareness, create pathways for more diverse training sets, and challenge us to examine the Coded Gaze — the embedded views that are propagated by those who have the power to code systems.

Source: InCoding — In The Beginning — Medium

Entry filed under: Uncategorized. Tags: , , , , .

Where are the Python 3 Libraries for Media Computation Women 1.5 Times More Likely to Leave STEM Pipeline after Calculus Compared to Men: Lack of Mathematical Confidence a Potential Culprit

12 Comments Add your own

  • 1. alanone1  |  August 22, 2016 at 7:53 am

    Hi Mark

    This is not an “algorithm problem”, and knowing what algorithms are used will not help.

    These are epistemological problems: with regard to human life, human thinking and decisions, and with regard to methodology and technique. Today’s versions of both are much too flawed to be much other than dangerous.

    • 2. Mark Guzdial  |  August 22, 2016 at 8:45 am

      Hi Alan,

      I agree that it’s an epistemological problem. We need to show students that algorithms exist, what they are, how they work (including machine learning algorithms), what their characteristics are. Completely agreed — knowing what algorithms are being used won’t help, and we’d be unlikely to teach that. C.P. Snow is arguing that if you don’t even know that algorithms exist, you can’t ask any of the right questions.

      – Mark

      • 3. alanone1  |  August 22, 2016 at 9:27 am

        I think “algorithms” is a red-herring here. This is really about both the differences and the relationships between any of our ways to represent the world and “what’s out there?” — and how we should think about our various ways to “negotiate” between the two.

        This is what science is all about — it’s much larger than either computing or math. It’s where science touches and informs philosophy and is in turn informed by it.

        The deep goal of “real education” should be to help learners get to a state of not being “philosophically challenged”.

        • 4. Mark Guzdial  |  August 22, 2016 at 9:57 am

          Totally agreed on the goal, Alan. Algorithms are one way to represent dynamic process. There’s probably a better way to help students learn what you’re describing. I don’t currently know a way to have students think about multiple representations for dynamic processes without teaching algorithms. Algorithms provide a notation to use to express processes. We need multiple notations/representations in order to help students to think about why they need a representation, what the strengths and weaknesses are of each, and how to choose between representational forms.
          – Mark

          • 5. alanone1  |  August 22, 2016 at 11:21 am

            I guess if this dictionary definition for “algorithm” — *a process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer* — is made vague enough it might squeak through …

            … but a much much better word (I think) is “heuristics” — it covers more ground in all areas, and it better expresses the sometimes tenuous connection between “what’s out there?” and what is actually being done.

            And certainly, a much better “way to have students think about multiple representations for dynamic processes” is to get them to internalize heuristic thinking, which is a stronger underpinning for science in general. “Algorithmic thinking” is a subset, but should be a servant of the larger processes, not the master.

            • 6. alanone1  |  August 22, 2016 at 12:22 pm

              P.S. A good one from McLuhan: “Don’t ask whether it is true or false or right or wrong: try to find out what is going on!”

              This is the center, and it’s much bigger than any definition of “algorithm” that isn’t completely revisionist (of course our not-quite-a-field is famous for repeatedly committing this sin).

  • […] el artículo C.P. Snow keeps getting more right: Why everyone needs to learn about algorithms, Guzdial cita algunos ejemplos de una reciente noticia del New York Times (como el software que se […]

  • 8. Howard Johnson (@HowardJ_phd)  |  August 22, 2016 at 12:28 pm

    This is a deep, broad and longterm problem. I was reminded of CP Snows Two Cultures essay (Science / Humanities) that argues 57 years ago against ignorance in each culture. Might we say that Coding has become a third culture ignorant of validity, both scientific and political. Is it too much to ask that algorithms acknowledge that they were trained on convenient unrepresentative samples or that we expect algorithm use to be accompanied by independent validity evaluations. I suspect that we can not!

  • 9. Dorian Love  |  August 23, 2016 at 6:34 am

    Reblogged this on The DigiTeacher.

  • […] C.P. Snow got it right in 1961. Algorithms control our lives, and those who don’t know what algorithms are don’t know what questions to ask about them.  This is a powerful argument for universal computing education.  I like the below quote for highlighting that a better term for the concern is “model,” not “algorithm.” […]

  • […] be able to ask questions about the influences on their lives. C.P. Snow also argued for everyone to learn computing in 1961, but with more foreboding. He correctly predicted that computers and computing algorithms […]

  • […] be able to ask questions about the influences on their lives. C.P. Snow also argued for everyone to learn computing in 1961, but with more foreboding. He correctly predicted that computers and computing […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,184 other subscribers


Recent Posts

Blog Stats

  • 2,049,107 hits
August 2016

CS Teaching Tips

%d bloggers like this: