How do educators integrate ethics and social justice in computer science curriculum? A discussion with CS4All, EthicalCS, and Hopscotch.

Not long after the release of James Damore’s now infamous “manifesto,” I spoke with technologists and educators working together to bring inclusivity and ethics into CS curriculum about their efforts to increase and reframe discussions amongst both fellow educators and students. I’ve captured a few of the high-level points to summarize.


I found out about the EthicalCS group when one of it’s co-founders, Saber Khan who teaches CS at the Browning School, reached out to have me participate in one of their many Twitter-based edchats (weekly organized Twitter discussion of educators and people interested in education). EthicalCS’s educators and organizers got together to, amongst grounding CS curriculum in conversation about societal and personal ethics, “emphasize the need for CS understanding as a part of modern civic agency and participation for all students.”

As Saber describes it, Twitter is the chosen platform for #ethicalCS because it allows educators to look outside their own bubbles and to participate without the gatekeeping that happens in large academic settings. “Teachers who are concerned with these issues often feel siloed within their institutions.”

“There needs to be unaligned conversations, in the sense that it’s not pushed by industry. We need an open source discussion about what computer science education can look like.” — Saber Khan

Jeannie Crowley, Director of Technology at the Ethical Culture Fieldston School, got involved with EthicalCS at a time when the school’s technology department and computer science program had been exempt from any of the school’s mission and human rights initiatives. “There was a concern that students just thought computer science was completely neutral; that there was no ethics or morality attached to it.” Jeannie mentions a moment in the classroom between watching I’m Not a Racist, Am I? and having discussions post NSA-revelation about technology, data, privacy, unequal distribution of power, that became an important experience for the students.

“Technology is not separate from what we are experiencing. In a lot of ways it’s a more efficient mechanism for recreating problems.” — Jeannie Crowley
Jeannie Crowley’s “flowchart to help students & staff understand if they’re a customer or a commodity when using online tools.”


Francisco Cervantes and Kara Chesal both work for the NYC Department of Education and started collaborating with EthicalCS and the edchats through the CS4All (Computer Science for All) initiative by the NYC DOE. Francisco is the Director of Computer Science Academics, and is working on the AP Computer Science Principles curriculum. This project is 10 year-long building process that looks into one of the “least diverse courses in history.” Kara is Senior Director on the Computer Science Education team and leads projects with providers of teacher trainings, universities, industry, and the wider CS education community in order support the ambitious goal of bringing CS education to all NYC students by 2025. Part of her work involves collaborating with founders and representatives of tech companies who are interested and invested in the cause, such as Fog Creek’s Anil Dash, to look at turning Silicon Valley mistakes into learning opportunities for the classroom.

“We are looking for ways to authentically engage industry — getting lessons learned that we can then make sense for our students.” — Kara Chesal

The sanctity of the classroom

At a moment when it feels impossible to talk about programming and CS without bringing up the frequent ethical blunders of tech companies, my guests feel strongly that it is important to make a clear distinction between problems in the industry and unique challenges in the classroom.

“The myth of programming as just a way to get a job and make money is a mediocre way of thinking about computation. The computer isn’t just an artifact to answer questions better. Computers can help ask better questions.” — Rodrigo Tello

Rodrigo Tello is a designer at Hopscotch, a visual coding language and edtech platform founded by two women that teaches kids about computational concepts. He makes a point that teaching computer science should not only be about teaching code, but also about looking at the computer as a powerful method to expand human knowledge, imagination, and capability.

The computer science curriculum cannot be the sole bearer of blame when many of issues arise from the lack of interest or training in identity or diversity issues from those in power. Learning to talk about and listen to this kind of conversation should be required in every classroom.

How do you make ethics and social justice in a computer science class cool?

In spite of all the efforts from the educators to question bias, bring engagement from other disciplines into the CS curriculum discussion and challenge the status quo, there is still the large obstacle of getting students to respond and genuinely engage with a topic they consider to be overly serious, and uninteresting and irrelevant to their daily lives. Saber is upfront in describing this:

“Identifying concerns is a big step forward but I’m uncertain about how to bring it into the classroom to be completely honest. We have to get past the stuff to be outraged about. How do we make that something that can work in the classroom that isn’t just talking at the students? This is a really challenging platform that requires really strong educators creating lessons and trying them out in the classroom and being honest about how they worked, and being honest about seeing the kids for who they are.“ — Saber Khan

In closing, I asked my guests for a manifesto of sorts:


Get rid of the idea that computing is only about programming and typing on a computer. Innovation should be at the service of people.


We have the chance to work on something city-wide and nation-wide together not limited by our context, which requires a lot of people being very interested in what’s happening in the CS classroom…Honor the students where they are. Everyone should think about what’s going on in their local school, in their neighborhoods and our education system.


Building with people instead of for people. Black and latino women are very under-represented. How do we build inclusivity in curriculum?


Is what students are creating helping to reinforce existing power or helps raise people up who aren’t like them? When the moment comes that something is created that harms others, be prepared to listen and empathize and go back to the drawing board.

Francisco’s four points:

1) Students need to be able to express themselves and share.
2) How can the learner connect with other learners, how is it social? If it’s not social and fun, students are not likely to do it. 
3) Students should be asking themselves: how can I use these activities to look at the world and ask questions? 
4) There’s lots of groups building software to teach kids how to learn. Advice to them would be: “Make this social. Make it accessible. On the cheapest platform, and for free.”

And one of my personal favorites as an educator in the design and technology space (who shares not-so-different concerns and frustrations about designers’ complicity with larger trends) is actually a melding of the two disciplines. Designers can learn a lot from the rigor of CS, and vice versa:

“Pause and consider: is it even appropriate for you to take this on? Do you need to work with someone who has domain expertise? Do you understand your end user? What’s your part in the process?” — Jeannie Crowley

If you’re interested in finding out more, or lending your voice or expertise in the conversation, join in on the #EthicalCS Twitter chats. The next one is happening Wednesday night after Thanksgiving:

TRYTOBEGOOD is an iTunes podcast!

Subscribe on iTunes and appreciate on your commute or during your contemplative strolls.