Several applications of computing, including VR, news, robotics, information, and automation.
Computing is everywhere, for better and worse. How do we teach this to youth?

Critically Conscious Computing — A new book for secondary CS educators

Amy J. Ko
Bits and Behavior
Published in
7 min readDec 6, 2021


I love computing. It’s a discipline that has everything I like: hard problems, cool gadgets, complex social phenomena, constant learning, and ideas that have immense and increasing significance in our world.

It’s this love of computing that drives me, and likely many others in my community, to want to share that love with others, helping them find the same passion and wonder for the discipline that we did. This love is often behind why we teach CS and why many of us in CS are working so hard to achieve a vision of CS for All in public education.

Our progress toward this vision is substantial. There are new CS professional development opportunities, new pre-service programs, new books, new curricula, and new ideas constantly emerging from CS education research and practice. Anyone considering teaching CS has never had more community or support than they do now. And it’s taken far more than a village to make this possible: tens of thousands of passionate educators, researchers, school leaders, and policy makers have worked for decades to manifest the first bold steps toward this long term vision of every student learning CS.

But teaching CS isn’t so simple. Not every student finds CS fascinating in the same ways that dominant groups in CS do. Some come to it through creativity; some through challenge; some through concern. Some are even quite skeptical of CS, either because they imagine there’s no room for people like them in CS, or because they simply don’t enjoy the challenges it offers. Much of this diversity of student interest and disinterest is expected and appropriate: people should have different interests! We don’t need every student in the world to be a CS major or a software developer.

What we do need, however, is everyone to understand how computing is shaping the world. That is a literacy that should be universal: parents need to understand how computing is shaping their children’s experiences, politicians need to understand how policy should shape computing, and people in every profession—whether health care, finance, agriculture, trades, manufacturing, natural resources, education, service, and beyond—need to understand how the world’s digital transformation is disrupting or redefining their work and lives. Some of this literacy might involve some coding, but more likely, it involves being able to reason technically, socially, culturally, and politically about how code ends up having the impact that it does, and being able to reason morally about what impact it should have.

Unfortunately, very few resources for teaching CS approach it from this critical perspective. Most professional development focuses on coding, trying to grow students’ technical CS knowledge at the expense of social, cultural, and political CS knowledge. Most books on CS teaching focus on programming pedagogy, linking projects to student interest, but rarely immersing those projects in critical perspectives on computing and society. And most curricula offer only the most superficial consideration of computing in the world, including perhaps an ethics unit alongside dozens of units on programming.

A few years ago, I partnered with several collaborators—Anne Beitlers (UW College of Education), Brett Wortzman (UW Paul G. Allen School of Computer Science & Engineering), and several of my Ph.D. students, Jayne Everson, Alannah Oleson, Mara Kirdani-Ryan, Stefania Druga, Matt Davidson—to start thinking about different ways of framing CS teacher education around computing and society. We began work on three things:

  1. An NSF grant to support research on how to CS foundations in sociocultural and sociopolitical ways. This was funded last year.
  2. A new Masters in CS teaching that centers computing and social justice. This was approved by Washington state this past summer, and we’ll graduate our first cohort in Spring 2022.
  3. A book that would crystallize our ideas about computing, society, and CS pedagogy, helping teachers see technical ideas in CS in sociotechnical terms, and begin helping teachers imagine new ways to teach these ideas in sociotechnical ways. We started writing this in Summer of 2020.

We’re excited to announce today the release of the book, officially titled Critically Conscious Computing: Methods for Secondary Education! You can find it online at its permanent home,

The book offers four things to current and future CS educators:

  • A radical reframing of CS fundamentals in social terms, spanning design, hardware, operating systems, programming languages, algorithms, AI, tools, and software engineering, supported by critical discussions of CS education history, pedagogy, and assessment. Anyone who reads it will learn technical CS foundations, but in sociotechnical terms, unlike nearly all other resources that teach CS knowledge.
  • A collection of unit sketches designed for secondary students (primarily middle school, but with relevance to high school and beyond) that teach all of these foundations in critical and culturally responsive ways, offering novel approaches for how to weave together pedagogy about technical ideas in CS with pedagogy about ethics, morality, and social justice.
  • A deeply situated integration and reframing of three standards, the CSTA Learning Standards, the CSTA Teacher Standards, and the Social Justice Standards. Rather than simply write the book toward these standards, we’ve rewritten the standards in sociotechnical terms, and used the book to teach towards these revised standards.
  • A roadmap for not only learning CS and CS teaching, but for becoming a community advocate of justice-centered CS education. We hope teachers will finish the book inspired to action, and confident in their ability to continue learning about CS from a critical technical lens.

You might notice we’ve used the word “critical” a lot to describe this book. That’s not an accident. It’s a challenging time to use this word in the United States right now, with many states passing laws that outright ban any teaching that makes students think critically about history. In fact, teaching the ideas in this book might very well be illegal, as the book very much talks about race, technology, and history in critical ways.

But there has never been a better time to reclaim the word critical. After all, the lack of critical thinking is what is behind such ignorant laws. We need more critical thinking, about race, about technology, and about race and technology, not to mention all of the other dimensions of identity—ethnicity, sex, gender, ability, nationality, language, religion. These defining features of human experience are the ones that computing so often gets wrong. This is a book that prepares secondary educators to tackle these topics thoughtfully and purposefully, helping students develop critical consciousness of how computing is deployed into the world, and challenging them to imagine more just and equitable visions of computing in society.

There are a few other unique aspects of the book’s design worth noting:

  • The book is built for the web. Read it on a phone, a tablet, or a browser. It’s a responsive web site, ensuring it’s legible on any device, and accessible to anyone who relies on screen readers, unlike a print book and many e-book formats. We built it this way to ensure accessibility, but also because…
  • …the book is a living document. It lives on the web, not in print, and so we can change it at any time. Expect regular revisions, new resources, new ideas, and even new chapters, including five forthcoming chapters on CS + Humanities, Arts, Mathematics, Science, and Engineering. In fact, the entire book is hosted publicly on GitHub: submit issues or pull requests, or just send Amy an email with suggestions. We will grow the acknowledgements list as people contribute, and even the author list if contributions are large enough. Follow the link on the book’s cover page to sign up to receive notifications about major revisions.
  • The book is visually dense. Working closely with two excellent graphic designers, undergraduates Jessie Hyunh and Ashley Wang, we’ve designed a collection more than 100 images that weave together the social and the technical. Sit with each image and see if you can identify how it relates humanity to computing in surprising and subtle ways.

My students, collaborators and I are incredibly proud of the writing and thinking we’ve done for this book. But we won’t pretend that’s it’s perfect. As with any work, it likely has errors, missing citations, missed opportunities, and countless other aspects to improve. We hope that you’ll embrace the critical mindset and write us when you think of ideas for how to improve it. We’ll also be proactively gathering feedback over the next year, running book clubs with teachers in our community, partnering with CTE directors around Puget Sound and Washington state more broadly to identify ways the book might support in-service teachers teaching CS courses. And, of course, we’ll be using the book as the primary text in our Masters in CS Teaching.

And if you’re engaged in CS teacher education, we hope you’ll consider using the book in your classes too! If you do, we’re eager to hear how you’re integrating it into your teaching. And if you choose not to, we’re eager to hear about how it’s not serving your needs. We view this book as a living, breathing community resource, and so we need your feedback to grow it into something that helps.

Finally, while I led the book, conceived of its scope, and did much of the writing, I could not have done this without excellent collaborators. Anne has been an outstanding critic, helping to ensure the book resonates with the pre-service teachers she’s taught for years. Brett Wortzman has been exceptionally attentive to the details of the book’s methods ideas, and how the book’s effort to weave the technical and social together often strain pedagogy. And my many fantastic Ph.D. students brought their expertise to numerous chapters, helping my early drafts go far beyond my original vision.

We hope you enjoy the book, and more importantly, we hope it empowers you and the teachers you might support to transform secondary CS education in exciting new ways. Thank you for reading!



Amy J. Ko
Bits and Behavior

Professor of programming + learning + design + justice at the University of Washington Information School. Trans; she/her. #BlackLivesMatter.