My research imagines and enables equitable, joyous, liberatory learning about computing and information, in schools and beyond.

I work with outstanding postdocs, doctoral students, undergraduates, teachers and communities on this vision. My current projects within this goal are largely shaped by the faculty, students, and teachers in the Center for Learning, Computing, and Imagination, our partner teachers, school leaders, and families, and to a lesser extent, my active grants.

We publish primarily in Computing Education and Human-Computer Interaction and I work to broaden scholarly discourse as Editor-in-Chief of ACM TOCE and facilitating Reciprocal Reviews. More importantly, we share our discoveries broadly by blogging, presenting, teaching, writing, and and connecting with community, including the CS for All Washington advocacy community, the PNW CS Teach consortium of teacher educators.

Want to do research with me? Read about my lab, and join us in creating a more equitable future of computing that includes everyone.

Discoveries ๐Ÿ”—

My lab and I have discovered many things since I started doing research in 1999. Here are some of the highlights from our work. How I describe these is always evolving as we learn more.

A clip from the paper's text or figure
Justice-focused CS education is empowering but requires student trust and agency (2021 โ€” 2024)
Making room for conversations about computing, society, and fairness demands deep respect for students' limiting situations.

Jayne Everson headshotAmy J. Ko headshotMegumi Kivuva headshotBrett Wortzman headshotMatt Davidson headshotAlannah Oleson headshotMara Kirdani-Ryan headshotStefania Druga headshotAnne Beitlers headshotJean Salac headshotLena Armstrong headshotAudrey Le Meur headshotRotem Landesman headshotCamilo Montes de Haro headshot

justicestudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
CS assessments aren't fair, but it's very hard to know how and why (2019 โ€” 2023)
Techniques from psychometrics can help, but they are far from usable by everyday CS teachers.

Matt Davidson headshotAmy J. Ko headshotBrett Wortzman headshotBenjamin Xie headshotAlannah Oleson headshotJayne Everson headshotMin Li headshotGreg Nelson headshotAnne Drew Hu headshotLena Armstrong headshot

assessmentstudiestools ย ๐Ÿ“„papers

A clip from the paper's text or figure
Programming problem solving can benefit greatly from guided, step-by-step scaffolding (2015 โ€” 2023)
Most learners don't want to be that deliberate about their process, favoring less effective trial and error strategies. But framing it as aunthetic practice can help.

Michael J. Lee headshotAmy J. Ko headshotDastyni Loksa headshotAlannah Oleson headshotThomas D. LaToza headshotWilliam Kwok headshotJane Quichocho headshotHarshitha Akkaraju headshotBenjamin Xie headshotHarrison Kwik headshotJenny Liang headshot

problem solvingstudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
People's interests in computing are intricately shaped by their social worlds (2009 โ€” 2023)
We found across a series of reflective studies that people and events in people's lives come to shape their interest and disinterest in computing.

Amy J. Ko headshotKatie Davis headshotLeanne Hwa headshotJason Yip headshotHarrison Kwik headshotBenjamin Xie headshotLeah Perlmutter headshotJean Salac headshotMegumi Kivuva headshotMara Kirdani-Ryan headshot

intereststudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
Learning to code with families can enable rich new forms of intergenerational learning (2018 โ€” 2022)
But it requires careful attention to the design of learning technologies to facilitate facile role switching.

Rahul Banerjee headshotJason Yip headshotAmy J. Ko headshotStefania Druga headshotFee Christoph headshot

familiesstudieslearning ย  ๐ŸŽฌ videoย  ย ๐Ÿ“„papers

A clip from the paper's text or figure
Teaching about diversity in CS is possible, but requires substantial professional development (2018 โ€” 2022)
The topic is largely ignored because of lack of teacher professional development, student resistance, and fear of failure, not disinterest.

Kristen Shinohara headshotSaba Kawas headshotAmy J. Ko headshotAlannah Oleson headshotChris Perdriau headshotLaura Vonessen headshotMeron Solomon headshotMara Kirdani-Ryan headshotYim Register headshotBenjamin Xie headshotMina Tari headshotMatt Davidson headshotStefania Druga headshotDastyni Loksa headshotGreg Nelson headshotBrett Wortzman headshotJayne Everson headshot

diversitystudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
Materials for learning CS online largely ignore pedagogical best practices (2017 โ€” 2022)
They fail to provide feedback, scaffold effectively, grow self-efficacy, or develop mastery, often because learners struggle to effectively deploy their agency.

Ada Kim headshotAmy J. Ko headshotKyle Thayer headshotBenjamin Xie headshotGreg Nelson headshotHarshitha Akkaraju headshotWilliam Kwok headshotStefania Druga headshot

tutorialsstudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
Studying programming requires human-centered methods (2000 โ€” 2022)
Studying programming is hard. We invent new methods for studying programming, and reflect on the science of studying programming, to help accelerate progress on improving it.

Amy J. Ko headshotThomas D. LaToza headshotGreg Nelson headshotAlannah Oleson headshotBenjamin Xie headshotJean Salac headshotJayne Everson headshotMegumi Kivuva headshot

methods ย ๐Ÿ“„papers

A clip from the paper's text or figure
It is possible to mine, transform, and synthesize interfaces to serve new use cases and users (2017 โ€” 2021)
Reasoning about user interfaces in probabalistic and formal ways can enable new forms of accessibility and productivity.

Amanda Swearngin headshotAmy J. Ko headshotAlannah Oleson headshotChenglong Wang headshot

UI miningtools ย  ๐ŸŽฌ videoย ย  ๐ŸŽฌ videoย ย  ๐ŸŽฌ videoย ย  ๐ŸŽฌ videoย  ย ๐Ÿ“„papers

A clip from the paper's text or figure
Understanding machine learning means understanding uncertainty (2009 โ€” 2021)
Tools can help, but even more so, using data and domains that people understand is even better.

Amy J. Ko headshotKayur Patel headshotYim Register headshotStefania Druga headshot

AI educationstudiestools ย ๐Ÿ“„papers

A clip from the paper's text or figure
The tools and systems around programming languages are a primary source of learning difficulty (2000 โ€” 2021)
Programming is hard for many reasons, but my work showed that it is also hard because tools, APIs, and IDEs make information about program behavior particulary difficulty to find.

Amy J. Ko headshotKyle Thayer headshot

programming systemsprogrammingstudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
Teaching program reading before writing can promote more robust learning (2017 โ€” 2019)
This is because writing skills are dependent on reading skills. Unfortunately, learning to read code correctly can be boring.

Greg Nelson headshotBenjamin Xie headshotAmy J. Ko headshotDastyni Loksa headshotMatt Davidson headshotHarrison Kwik headshotAlex Tan headshotLeanne Hwa headshotMin Li headshot

program readingpedagogytools ย ๐Ÿ“„papers

A clip from the paper's text or figure
Software engineering expertise is technical, but also social, organizational, and political (2015 โ€” 2019)
Across thousands of surveys and interviews, we found that expertise is far more than just knowing how to architect and build software.

Paul Luo Li headshotAmy J. Ko headshot

expertisestudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
Framing compilers as fallible, prosocial collaborators can facilitate learning (2011 โ€” 2017)
Compiler feedback is usually impersonal and mean; we found that being nicer has powerful impacts on learners' attention, compelling them to pay attention to valuable direct instruction.

Amy J. Ko headshotMichael J. Lee headshotPolina Charters headshotFanny Luor headshotMichael Beswetherick headshotDastyni Loksa headshotAnnie Yan headshot

feedbackstudiestools ย ๐Ÿ–ฅ๏ธ demo ย ๐Ÿ“„papers

A clip from the paper's text or figure
Software engineering depends on information (2007 โ€” 2017)
Through a series of studies, I unconvered the many ways that developers depend on information from people and systems to make engineering decisions, and how some of the most crucial information is hard or impossible to find.

Amy J. Ko headshotPaul Luo Li headshot

teamsstudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
Design skills depend greatly on domain expertise (2009 โ€” 2015)
We found through several studies that designers' productivity and careers are often limited by their lack of domain expertise.

Parmit K. Chilana headshotAmy J. Ko headshot

designstudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
Programs can answer questions about their behavior (2004 โ€” 2015)
I invented tools and algorithms for deriving 'why' and 'why not' questions from programs and automatically answering those questions, helping people efficiently and interactively debug the root causes of program failures.

Amy J. Ko headshotBJ Burg headshot

debuggingtools ย  ๐ŸŽฌ videoย ย  ๐ŸŽฌ videoย ย  ๐ŸŽฌ videoย  ย {}ย code ย ๐Ÿ“„papers

A clip from the paper's text or figure
Some defects can be found by operationalizing principles of human communication (2010 โ€” 2014)
Many defects in dynamically typed programs can be found by operationalizing simple observations about how people write code, often forgetting to close the loop that statically typed programs can easily point out.

Amy J. Ko headshotXing Zhang headshotBryan Dosono headshotNeeraja Duriseti headshot

verificationtools ย ๐Ÿ–ฅ๏ธ demo ย {}ย code ย ๐Ÿ“„papers

A clip from the paper's text or figure
Finding help with software can be as simple as pointing (2006 โ€” 2013)
Pointing to user interface elements can be a powerfully discrminating input into help retrieval algorithms.

Parmit K. Chilana headshotAmy J. Ko headshot

helptools ย  ๐ŸŽฌ videoย ย  ๐ŸŽฌ videoย ย  ๐ŸŽฌ videoย  ย ๐Ÿ–ฅ๏ธ demo ย {}ย code ย ๐Ÿ“„papers

A clip from the paper's text or figure
Bug reports are where developers and users engage in conflict around what software is for (2010 โ€” 2012)
The seeminly technical context of bug reports are where large communities of users and small teams of developers engage in power struggles about what software should and shouldn't do.

Amy J. Ko headshotParmit K. Chilana headshotMichael J. Lee headshotValentina Ferrari headshotStephen Ip headshotCharlie Tran headshotPaul Luo Li headshot

issue trackingstudies ย ๐Ÿ“„papers

A clip from the paper's text or figure
Text-based code editors can be richly interactive (2005 โ€” 2006)
The structured editors of the 1980's were hard to build and use; I invented ways of making both easier by viewing programs as user interfaces, not documents.

Amy J. Ko headshot

editorsprogrammingtools ย  ๐ŸŽฌ videoย  ย ๐Ÿ“„papers

A clip from the paper's text or figure
Defects emerge from the interaction of satisficing and state space complexity (2003 โ€” 2006)
Much of my work during my dissertation examined where software failures come from; cognitive slips interact with the large state space that people create when programming to generate defects that are hard to localize.

Amy J. Ko headshot

errorsstudies ย ๐Ÿ“„papers


CC0 Last updated 10/27/2024. To the extent possible under law, Amy J. Ko has waived all copyright and related or neighboring rights to the design and implementation of Amy's faculty site. This work is published from the United States. See this site's GitHub repository to view source and provide feedback.