Embedded EthiCSTM @ Harvard Bringing ethical reasoning into the computer science curriculum

We Value Your Feedback! Help us improve by sharing your thoughts in a brief survey. Your input makes a difference—thank you!

Systems Programming and Machine Organization (CS 61) – Fall 2023

First time reviewing a module? Click here.

Click  to access marginalia information, such as reflections from the module designer, pedagogical decisions, and additional sources.

Click “Download full module write-up” to download a copy of this module and all marginalia information available.

Module Topic: Ethics of Language Encoding
Module Author: Anni Räty

Course Level: Introductory undergraduate
AY: 2023-2024

Course Description: “Fundamentals of computer systems programming, machine organization, and performance tuning. This course provides a solid background in systems programming and a deep understanding of low-level machine organization and design. Topics include C and assembly language programming, program optimization, memory hierarchy and caching, virtual memory and dynamic memory management, concurrency, threads, and synchronization.” (CS 61 course website)

Semesters Taught: Fall 2018, Fall 2019, Fall 2020, Fall 2021-22, Fall 2023

    Tags

  • accessibility [phil]
  • bias [phil]
  • discrimination [phil]
  • equality of opportunity [phil]
  • equality of outcome [phil]
  • equity [phil]
  • intersectionality [phil]
  • justice [phil]
  • trade offs [phil]
  • character encodings [CS]
  • natural language encoding [CS]
  • programming languages [CS]
  • trade offs [CS]
  • unicode [CS]

Module Overview

The topic of this module is the ethics of encoding natural languages in standards such as Unicode. The module introduces students to the ethical stakes in choosing whether to encode minority and endangered languages through the case study of Toto. Toto is a critically endangered language spoken in West Bengal. It was included in Unicode in 2019 after a proposal by the Script Encoding Initiative, an initiative promoting the inclusion of minority and endangered languages in Unicode. During the module students discuss the case study to reflect on whether a decision to include a minority language would constitute discrimination against speakers of that language, and whether such a decision would deny its speakers equality of opportunity.

    Connection to Course Material

The topic of Unicode dovetails well with technical course content, and it also raises other questions that could be a focus in a module. For example, students may be interested in discussing how much power the Unicode Consortium holds, and whether their decisions follow a fair procedure.

This module is co-taught with the CS Professor and begins with a lecture on Unicode. Unicode relates to course topics on memory and data storage.

Goals

Module Goals

  1. Introduce students to Unicode and a case study of encoding an endangered minority language in Unicode.
  2. Familiarize students with different kinds of discrimination
  3. Familiarize students with the concepts of equality of opportunity, equality of outcome, and equity.
  4. Practice identifying instances of discrimination in decisions regarding natural language encoding

    Key Philosophical Questions

In this module, students consider the ethical stakes of choosing whether to encode a minority language in Unicode. The module introduces two ways of ethically evaluating the impacts of such a decision: equality of opportunity, and discrimination; In class activities, students reflect on how choosing not to encode a minority language may deny its speakers equal opportunity, and how it may constitute discrimination against speakers of the language.

  1. What is discrimination?
  2. What is equality of opportunity/outcome? 
  3. What are the ethical stakes of language encoding?
  4. What are the ethical stakes of (not) encoding minority and endangered languages?

Materials

Key Philosophical Concepts

  • Discrimination
  • Indirect discrimination
  • Accessibility
  • Inclusion
  • Equity
  • Equality of Opportunity
  • Equality of Outcome

    Assigned Readings

Selections from these articles can be assigned to prime students for in-class discussion of discrimination and equality.

  • Altman, Andrew, “Discrimination”, The Stanford Encyclopedia of Philosophy (Winter 2020 Edition), Edward N. Zalta (ed.)
  • Gosepath, Stefan, “Equality”, The Stanford Encyclopedia of Philosophy (Summer 2021 Edition), Edward N. Zalta (ed.)

Implementation

    Class Agenda

This module begins with a technical lecture by the CS course head on Unicode. This may be non-ideal for two reasons: it constrains time, and students won’t have an opportunity to ask questions about the technical material before they have to discuss it.

  1. Introduction to Unicode
  2. Case study: Toto and Unicode
  3. The ethical stakes of language encoding
  4. Think-Pair-Share: If you spoke a minority language (such as Toto), what would you want the Unicode consortium to know?
    1. Some aiding questions:
      1. How would a choice to include your language affect you and your community? 
      2. How does the fact that your language is not included affect you and your community?
  5. Arguments for encoding minority languages.
    1. SEI’s argument for encoding minority languages. 
    2. An argument for encoding minority languages from discrimination.
      1. What is discrimination?
      2. Direct and indirect discrimination
      3. Inequality of opportunity, inequality of outcome, and equity.  
  6. Class Poll and Group Discussion:
    1. What do you think is the strongest argument for encoding minority languages, such as Toto, in Unicode?
    2. Would not encoding Toto deny its speakers equal opportunity? How?
    3. Would not encoding Toto constitute discrimination against its speakers? Why?

    Sample Class Activity

The second activity can also be carried out as a small group discussion, in case in-class polling is not available.

This module involves a Think-Pair-Share activity where students imagine that they are speakers of a minority language (stakeholder) addressing the Unicode consortium (decision-maker). The purpose of this exercise is to prompt reflection on how individuals and communities may be affected by seemingly faraway decisions made by bodies such as the Unicode consortium.

In a second activity students evaluate different arguments in favor of encoding a minority language such as Toto. In this activity students practice applying the concepts of discrimination and equality of opportunity by responding to a class poll.

    Module Assignment

A possible module assignment could be to evaluate a case study that was not discussed in class. For example: what are the ethical stakes of adding Klingon to Unicode?

There was no assignment for this module.

Lessons Learned

Student response to the topic of language encoding was positive. Several students expressed independent interest in the topic, as well as in broader ethical questions about marginalized languages in computing. To meet student interest, future modules could go deeper into the topic, or offer a richer variety of case studies.

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 4.0 International License.

Embedded EthiCS is a trademark of President and Fellows of Harvard College | Contact us