Towards a Liberal Arts Computer Science
Building an Open-Source CS Program Grounded in Global Ethics
Traditional CS curriculum, which focuses on technical skills without consideration of ethics and identity does not serve a diverse student body. A liberal arts vision of CS will help students find a place in the coursework and support the development of socially-responsible techies. Fortunately, there is a way forward for the CS educator that is ethical and inclusive.
1. Liberal Arts
When I emigrated to the United States with my family in 1996, we landed in Palatine, a growing suburb northwest of Chicago. I was enrolled in Palatine High School, a large public high school with many programs and highly-qualified staff. The school served a diversifying community of suburbanites, commuters, and newly-arrived immigrant families. For me, the school was filled with AP courses, science labs, and after-school clubs that were not previously available to me. This environment prepared me for college and I was lucky to attend a “liberal arts school” to study biology and history. While I was able to study South Asian history and literature in a few course the school offered, there was no discussion of ethics or identity in any of my classes, especially not my science classes. As a consequence I received an education where I could neither find myself nor understand how to be in the world.
Being a liberal arts college is no guarantee that the institution can fulfill a broad mission of inclusion and equity. Most K-12 institutions do not consider liberal arts to be a goal, that is preparing students to be engaged in civic life. With the need to improve the diversity of students in STEM fields, discussion of ethics has been added on to a new generation STEM standards. To be truly effective, ethics and identity needs to be baked into the coursework of STEM classes to engage the students and serve society.
2. Framework and Standards
One of the ways to evolve what we do as teachers is to update frameworks and standards. These standards, created by experts and experienced teachers, provide educators a list of concepts and practices they should be teaching. Sometimes they even suggest ways to implement the curriculum. In the burgeoning world of CS education in K-12 we have brand new sets of standards and frameworks that we should look at closely.
The K-12 CS Framework, announced last year, has many mentions of ethics in all strands of topics. For example, “Creating an inclusive community” is stated at the top of a list of practices. But the goal is limited to participation:
Issues of equity, inclusion, and diversity are addressed in the framework’s concepts and practices, in recommendations for standards and curriculum, and in examples of efforts to broaden participation in computer science education.
And the concepts section of the document is not taking greater risks.
This apolitical stance is common in broad official documents like this. It is worth remembering that not having a stance is a stance. Inclusion to improve participation is a worthy goal. But leaving out a larger discussion of different identities that participate and are impacted by CS will result in an incomplete education.
As educators, we can push the envelope further in our educational contexts. Most of our students will not be computer scientists, some will work in tech, and many will work in industries that rely on tech, but all will live in a world impacted by tech. We need to build a program that invite all to understand how CS touches upon many aspects of life. And we need to prepare them to play a role in a future deeply impacted by CS.
3. EthicalCS
Jeannie Crowley, of Ethical Culture Fieldston School, and I and have been working on creating a CS coursework grounded in global ethics. The following series of courses uses a single event or action, a lawsuit, a device, a data breach, etc., to explore an area of computer science. Through these lenses, we can learn the history, persons, and technologies that have helped create the modern world. We ask the students to consider two essential questions in the context of each course.
Essential questions:
- Technology: How does computing help make this moment happen?
- Ethics: What social good should we pursue?
- Identity: How do different identities navigate the moment?
The following courses are intended to be offered year-long and meet twice a week, or to be sampled as small activities within an existing CS curriculum.
a. CS through Literature: In this course we will use non-fiction books to learn about the history of computing and its contemporary state of innovation. Using Walter Isaacson’s The Innovators, we will look at how the different government projects lead to the birth of modern computing and how it evolved into a massive industry that touches on many part of modern life. In the second semester, we will study how the US waged a clandestine war against the Iranian nuclear program via Kim Zetter’s Countdown to Zero Day. (Topics: Innovation, Computing History, Transistors, Binary, Boolean logic, circuits, personal computer, internet, viruses, malware, reverse engineering)
“When it comes to computers, there is one other historical figure, not as well known, who embodied the combination of arts and the sciences. Like her famous father, she understood the romance of poetry. Unlike him, she also saw the romance of math and machinery. That is where our story begins.” — Walter Isaacson.
“In January 2010, inspectors with the International Atomic Energy Agency noticed that centrifuges at an Iranian uranium enrichment plant were failing at an unprecedented rate. The cause was a complete mystery — apparently as much to the technicians replacing the centrifuges as to the inspectors observing them.” — Kim Zetter.
b. Secrets and War: The first computers were built during World War Two to aid the Allies in breaking secret codes. In this course, we will use the lens of cryptography to study the development of modern computing. We will study how ancient ciphers are deciphered, and trace the history of the first computers used to break code. Then we will look at the way in which modern encryption keeps the internet secure and when it fails. (Topics: Information security, ciphers, encryption, decryption, algorithm, sorting, libraries, Python, C, blockchain, bitcoin)
“I tried to tell Bletchley Park what my ideas were, but you must understand the technology that I was using was then only just known to very few people in the whole world.” — Thomas H. Flowers.
Single-semester Electives
c. Glitch and Generative Art: Can computers make art? Can they make art on purpose? By mistake? The answer is YES and it looks great! In this course we will use to code to remix existing art, make new pieces, and create pieces that are accidental or depend on the actions of the user. (Topics: Processing, HTML, CSS, JavaScript, p5.js)
“It’s such a great thing. I’ve always wanted to be Walt Disney. I’m gonna tell everyone to get one.” — Andy Warhol talking about Commodore Amiga.
d. Amazon Echo Teardown: We will try to answer questions such as: How does the hardware and software work? What does it mean for the future of tech? Should we trust it and Amazon? (Topics: Approximate computing, architecture, privacy, knowledge systems, wireless sniffing, voice recognition)
“The Amazon Echo is the first smart consumer electronics product since the smartphone that’s poised to become a daily habit for millions” — Anil Dash.
e. Google vs Oracle: We will use this case to explore what Application Program interface, APIs, are, how open-source works, and how law and tech interact. (Topics: Application Program Interface, Java, Android, open-source, copyright)
“In a world where Silicon Valley is coming into dominance, Oracle v. Google is an unusual instance in which the nerds are getting totally owned by the normals.” — Sarah Jeong.
f. Snowden Files: How do computer networks support surveillance? How is data stored? How did it get leaked? How do the courts and the law control these systems? (Topics: Encryption, surveillance, data systems, metadata, law and government)
“The document shows for the first time that under the Obama administration the communication records of millions of US citizens are being collected indiscriminately and in bulk — regardless of whether they are suspected of any wrongdoing.” — Glenn Greenwald.
g. Margin of Error: In this course, we will study how Artificial Intelligence understands and interacts with the world. We will seeks answers to questions such as: how does AI see the world? What can it do? How do we control it? What amount of error is acceptable? (Topics: Algorithms, Data structures, Risk modeling, Computer vision, Autonomous drones)
“I’m increasingly inclined to think that there should be some regulatory oversight, maybe at the national and international level, just to make sure that we don’t do something very foolish.” — Elon Musk.
h. #BlackLivesMatter: In this course, we will trace how the movement grew on Twitter. We will answer questions such as: How does online activism lead to offline justice? How do social networks connect people and ideas? How have smartphones made activism viral? (Topics: Network theory, Social network, database infrastructure, Full-stack web development)
“BLM’s high visibility and success in eliciting elite responses have positioned it at the center of the national conversation on police misconduct.” — Deen Freelon, Charlton D. McIlwain, and Meredith D. Clark.
5. Mozfest
Mozilla Festival brings together activists, educators, and techies to support an open Internet in London in October. We took these course ideas to MozFest, as it is known, for a session to see if we can build these courses collaboratively. In our session we proposed:
We’ll tear apart the traditional “amoral” CS curriculum for high school students, which focuses on technical skills without a consideration of the ethical dilemmas presented through the creation of those tools. Participants will develop course offerings which will invite & entice nontraditional students (journalists, activists, artists, etc.) into the CS program.
The session will result in a curriculum designed to foster technical innovation grounded in global ethics. Students who go on to pursue CS at the college level will do so as activists, with a critical point of view, or pursue fields related to CS such as law and tech . The curriculum will be shared freely under an open license so educators can implement the full CS program, a subset of courses, or units of interests at their institution.
Instructions:
As you walk through “gallery” of course ideas on the wall, please add post it’s with:
Questions/suggestions you have about the course.
Questions students should be able to ask after taking the course.
Missing resources/perspectives
In the session we posted our courses on large chart papers and distributed Post-it pads. After explaining the motivation and procedure the participants started posting notes based on the instructions. We ended the session with small group discussion around courses and topics of interest.
Being an international conference with many attendees from across the globe the best feedback helped widen the perspective. For example, in our course about surveillance, Snowden Files, attendees asked:
- Is it ok to spy on enemies — -but who are our enemies?
- Is spying in any form dangerous?
- Explore how encryption is treated in different parts of the world by different governments.
- Are there special rules for war? Are the “War on …drugs/terror”….wars
- What about different states, is it ok for US to crack to catch terrorists but not other countries (Russia, etc.)?
- Why is it ‘ok’ to use decryption against foreign residents but not are own. Are we ok with that?
6. Ongoing Collaboration
This is a modest start and there is much to be done. Although we meet many people interested in the topic, meeting active practitioners of ethical CS, forming a network, building and trying courses will have bigger impact. Balancing teaching and practicing technical skills with asking questions about ethics is another question that needs to be explored. Helping teachers understand complex intersectional identities within a tech course is a unique challenge. We need help. Here are some thing you can do:
- Add tweets to #EthicalCS hashtag.
- Add to your thoughts to our document from MozFest.
- Get in touch with Jeannie and I so we can fill you in about our progress.
- If you are an CS educator, try an lesson, unit, course on ethical CS, and tell us how it went.
- If you are a student or parent, ask how ethics and identity is taught and understood by your CS teacher and represented in the curriculum.
The danger of not putting ethics and identity first and foremost leaves us open to making dubious moral decisions. So I leave this reminder for us.