These are my upcoming and past keynotes and invited talks.

2024 πŸ”—

a picture of a glacier and the text this, of course, is just the beginning.
Searching for Justice in Programming Language DesignΒ 
L'UniversitΓ© du QuΓ©bec Γ  MontrΓ©al
Feb 21, 2024
I share a vision for justice-centered programming languages and detail how Wordplay strives to achieve it.

2023 πŸ”—

a title slide that says Searching for Justice in Programming Language Design and shows several glyphs from world languages.
Searching for Justice in Programming Language DesignΒ 
University of Michigan
May 2, 2023
I examine what it might mean to center justice in programming language design, and unveal Wordplay.dev, a creative coding platform striving for equity and justice in accessibility and natural language.
a title slide that says Searching for Justice in Programming Language Design and shows several glyphs from world languages.
Searching for Justice in Programming Language DesignΒ 
HCI Institute, Carnegie Mellon
Apr 21, 2023
I examine what it might mean to center justice in programming language design, and unveal Wordplay.dev, a creative coding platform striving for equity and justice in accessibility and natural language.

2022 πŸ”—

The Promise and Problems of CS for AllΒ 
CSAIL, MIT
Oct 25, 2022
A revised version of my SFU talk, which motivates the need for computing literacy, talks about my lab's recent discoveries, and challenges us to have broader visions of computing in education.
The Promise and Problems of CS for AllΒ 
Simon Fraser University, British Columbia, Canada
Sep 20, 2022
I make the case for computing literacy, sample from my lab's many discoveries over the past decade, and call the audience to action to contribute.

2021 πŸ”—

The title slide, which says 'Programming as cognition, programming as politics'.
Programming as Cognition, Programming as PoliticsΒ 
University of Colorado Boulder, Institute for Cognitive Science
Nov 19, 2021
In this talk, I survey my 20 years of research on programming, some of which has framed it as a distributed sociocognitive activity, and some of which has framed it as a political activity. I reconcile these two perspectives by rejecting the dichotomy, and advocating for work that considers them in tandem.
The title slide, which says 'Code, Calculators, Creativity, and the Many Paths to CS Education' and shows a TI-82 graphing calculator.
Code, Calculators, Creativity, and the Many Paths to CS EducationΒ  β˜… Keynote
2021 Washington State Why CS Summit
Oct 22, 2021
In this short keynote, I shared my path to computing and then make the case for many paths to computing through student interests.
The title slide, which says 'Requirements of Oppression' and shows a Banksy piece with a small girl strip searching a soldier.
Requirements of OppressionΒ  β˜… Keynote
2021 IEEE International Requirements Engineering Conference
Sep 22, 2021
This keynote argues that requirements are the central way that software models the matrix of oppression, and that to be anti-oppressive, requirements engineering must center the margins, humanity, and activism in its work.
Rehearsal β‹… Slides
The title slide, which says 'The Roots of Inequity in K-12 CS Education' and shows an elementary CS classroom.
The Roots of Inequity in K-12 CS EducationΒ  β˜… Keynote
2021 CSTA Conference
Jul 15, 2021
This is a keynote I gave the CS Teachers Association (CSTA) annual conference. It discusses the many interacting layers of inequity in K-12 CS education, including many of my own personal experiences discovering inequities in schools that I or others have created. It also offers suggestions to teachers about how they can participate in identifying and dismantling barriers.
Recording β‹… Rehearsal β‹… Slides
A slide, which says 'Deconstructing CS Culture' and shows Amy's title, along with an illustration of people climbing on a tower of binary digits.
Deconstructing CS CultureΒ  β˜… Keynote
2021 IEEE RESPECT Conference
May 27, 2021
This talk examined the hidden marginalization that led to the CS culture we have today, discussing CS history, Autism, immigration, queer refuges, segregation, desegregation, capitalism, and more.
Rehearsal β‹… Slides
A slide, which says 'Recognize your power and the responsibility that comes with it.
Critical Computing EducationΒ 
Digital Learning Lab, University of California, Irvine
Apr 16, 2021
This was the seventh time I gave my talk on critical computing education. In this version, I revised the slides to speak more to a learning sciences and education audience.
A slide, which says 'Computing has limits', and includes an xkcd coment that says 'An analysis of our new AI hiring algorithm has raised some concerns'
Critical Computing EducationΒ 
California Institute of Technology, Computing and Mathematical Sciences, Keller Colloquium
Mar 1, 2021
This was the sixth time I gave my talk on critical computing education. In this version, I updated the research slides with new papers and evidence.
The closing slide of the talk: 1) computing has limits, 2) data has limits, 3) CS has responsibility, and a column of doctoral student headshots and names.
Critical Computing EducationΒ 
University of California, Davis, Computer Science, Computing Education Research at Davis Seminar
Feb 12, 2021
This was the fifth time I gave my talk on critical computing education. In this version, I updated the research slides with new papers and evidence.

2020 πŸ”—

A photograph of me taking a selife with my virtual audience.
Critical Computing EducationΒ 
University of Pennsylvania, Computer and Information Science, Seminar Series
Nov 10, 2020
This was the fourth time I gave my Autumn 2020 talk on critical computing education. In this version, I selected examples more situated in Philadelphia's history.
The first slide of my talk, showing the title Computing Education: A Critical Time for a Critical Literacy
Computing Education: A Critical Time for a Critical LiteracyΒ  β˜… Keynote
IT University of Copenhagen
Nov 5, 2020
I was invited to give a short keynote at the IT University of Copenhagen's inauguration of Center for Computing Education Research (CCER). Michael Caspersen and Simon Peyton Jones also spoke.
A photograph of my speaker setup, showing my first slide and my hoisted iPad showing the audience.
Critical Computing EducationΒ 
Carnegie Mellon University, HCI Institute, Seminar Series
Oct 30, 2020
This was the third time I gave my Autumn 2020 talk on critical computing education. In this version, I linked my framing to my time as a graduate student at Carnegie Mellon.
The first slide of the talk showing the title Critical Computing Education and a photo of Black Lives Matter protests.
Critical Computing EducationΒ 
University of Virginia, Computer Science Distinguished Speaker Series
Oct 21, 2020
This was the second time I gave my Autumn 2020 talk on critical computing education. In this version, I expanded discussion of my lab's research and strengthened the call to action.
A screenshot of the end of my talk, showing questions, a summary of the talk gist, and several faces on Zoom.
Critical Computing EducationΒ 
University of Colorado joint Colloqium of the Department of Information Science and College of Media, Communication and Information
Oct 7, 2020
This was the first in a series of talks about my research pivot on critical computing education. In it, I argue for the need for universal literacy about the limits of computing, the limits of data, and the responsibilty of computer science to teach these limits. I shared recent examples of research from our lab that's beginning to explore how to teach these limits.
A screenshot of the first slide of the presentation, with the title Studying Programming through Making
Studying Programming through MakingΒ 
2020 PL+HCI Swimmer School
Aug 3, 2020
I gave this invited presentation on August 3rd, to at the 2020 PL+HCI "Swimmer School". The overarching goal was to explain how user studies shape our understanding of what we make; it also served as a retrospective of my dissertation work on the Whyline.
A photograph of students on the campus of Howard University, 1870
CS Education in Higher EducationΒ 
Microsoft
Jun 15, 2020
I gave this presentation to Microsoft on June 15th; they were engaging in design envisioning to support CS teaching and wanted some background on it and how the pandemic was affecting it. I used it as an opportunity to talk about the racist and sexist history of higher education, of CS in higher education, the ways that CS pedagogy have failed to include all students, and how the pandemic has amplified these failures. I shared it on Twitter, which led to considerable sharing, solidatory, and outrage. I intentionally did not include citations for my claims because scientific evidence tends to be weaponized by those do not believe that racism or sexism exists; instead, I included a link pointing to the body of literature supporting the claims.

2019 πŸ”—

A screenshot of the first slide of the keynote, showing title and Koli national park.
21st Century Grand Challenges in Computing EducationΒ  β˜… Keynote
2019 Koli Calling Computing Education Research Conference
Nov 22, 2019
I gave this keynote at the 2019 Koli Calling conference, a computing education research conference in beautiful Koli National Park. In it, I argued that to address epistemic challenges such as climate change and stabilizing democracies, everyone in the world needs to learn the limits of computing, social responsibility with computing, data literacy, and diversity literacy.
Recording β‹… Rehearsal β‹… Slides β‹… Blog
A screenshot of the first slide of the keynote.
Programming: What it is and How to Teach itΒ 
ETH Zurich Computer Science
May 1, 2019
I gave this invited talk in 2019 at ETH Zurich's CS department. I shared my lab's latest research on programming, including programming language learning, API learning, programming problem solving, and programming strategies.
Recording β‹… Rehearsal β‹… Slides

2018 πŸ”—

A photograph of one of Northwestern University's beautiful atriums.
Learning to Code: Why We Fail, How We FlourishΒ 
Northwestern University, CS+X Colloquium
Oct 30, 2018
I summarized our latest research on the learning to code and visited with HCI, CS education, and learning sciences faculty.
A screenshot of the first slide of the talk.
Big Ideas Behind the WhylineΒ 
2018 International Conference on Software Engineering
Jun 1, 2018
I gave this talk in 2018 in recognition for my most influential paper award on my dissertation work on the Whyline. I reflected on the ideas, both technical, scientific, and otherwise that have shaped my discoveries.
A screenshot of the first slide of the keynote.
Mining the Mind, Minding the Mine: Grand Challenges in Comprehension and MiningΒ  β˜… Keynote
2018 International Conference on Mining Software Repositories and International Conference on Program Comprehension
May 28, 2018
I gave this invited joint keynote at the 2018 International Conference on Mining Software Repositories, and the International Conference on Program Comprehension. I argued that the two areas need each other, that they both need theory, and that they both need to ask more relevant questions.
Rehearsal β‹… Slides β‹… Blog
An image of me presenting at Stanford.
Learning to Code: Why We Fail, How We FlourishΒ 
Stanford University, HCI Seminar
Jan 12, 2018
I summarized our latest research on the learning to code and visited with the HCI faculty at Stanford.

2017 πŸ”—

The Michigan School of Information lobby
Learning to Code: Why We Fail, How We FlourishΒ 
University of Michigan, MISC Seminar
Dec 4, 2017
I summarized my lab's latest research on the learning to code.
A screenshot of the closing questions slide of the webinar
Three Years in the Startup Trenches: Reflections on People, Product, and Software EvolutionΒ 
ACM Learning Center Webinar
Oct 9, 2017
I gave this invited talk to about 130 engineers who attended the webinar live.
A talk cover graphic with two holding hands and the talk title
Three Years in the Startup TrenchesΒ 
Amazon Stackhouse Talks
Feb 21, 2017
Amazon UX designers invited me to give a talk at the Stackhouse series; there were about 150 UX designers and engineers in attendance.

2016 πŸ”—

A screenshot of the first slide of the keynote.
A Human View of Programming LanguagesΒ  β˜… Keynote
SPLASH 2016
Nov 4, 2016
I gave this invited keynote at SPLASH 2016, in which I built upon Seymour Papert's arguments about computing culture and the need for embracing multiple views of what programming is.
Recording β‹… Slides β‹… Blog

2015 πŸ”—

The title slide of the talk.
What makes a great software engineer?Β 
ACM Learning Center Webinar
Oct 9, 2015
I gave this invited talk with my student Paul Li to over 2,000 attendees, describing our work on software engineering expertise.

2012 πŸ”—

The title slide
Defect Detection for the Wayward WebΒ 
Microsoft, Redmond, WA
May 4, 2012
I described my work on software help and bug triage to the Developer Division's head of UX.

2011 πŸ”—

A photograph of the Golden Gate Bridge
Defect Detection for the Wayward WebΒ 
Coverity, San Francisco, CA
Jun 17, 2011
I described my work on software help and bug triage to the R&D and engineering team at Coverity.
The second slide of the talk, which says that software is a fasciating medium for expression
Defect Detection for the Wayward WebΒ 
MIT, Cambridge, MA
Apr 15, 2011
I described my work on software help and bug triage to the HCI lab at MIT CSAIL.
The title slide
Defect Detection for the Wayward WebΒ 
UNC Charlotte, Charlotte, NC
Feb 24, 2011
I described my work on software help and bug triage to HCI and Software Engineering researchers.

2010 πŸ”—

A photograph of a presentation at the workshop.
Where is the User in Software Evolution?Β 
IBM T.J. Watson Research Center, Hawthorne, NY
Sep 30, 2010
I gave an invited talk at a workshop on human-centered software development.

2009 πŸ”—

A photograph of a cloudy day in Bern, Switzerland.
Where HCI and Software Engineering MeetΒ  β˜… Keynote
CHOOSE Forum, Bern Switzerland
Nov 23, 2009
I was invited to give a keynote to the Swiss Group for Original and Outside-the-box Software Engineering (CHOOSE), a group that meets to bridge technology and industry. I talked about my dissertation research.
A slide from the talk showing the Java Whyline
Asking and Answering Questions about the Causes of Software BehaviorΒ 
IIT Mumbai, India
Feb 27, 2009
I described my dissertation work on the Whyline to CS department.
A photograph of a panelist table at ISEC 2009.
Asking and Answering Questions about the Causes of Software BehaviorΒ  β˜… Keynote
India Software Engineering Conference, Pune, India
Feb 24, 2009
I was invited to give a keynote on my ICSE distinguished paper award on the Whyline. I had an amazing trip to Pune and Mumbia.
A slide from the talk showing the Java Whyline
Asking and Answering Questions about the Causes of Software BehaviorΒ 
Intel Research Seattle, Seattle, WA
Jan 14, 2009
I described my dissertation work to the research team at Intel Research Seattle.

2008 πŸ”—

A slide from the talk showing the Java Whyline
Asking and Answering Questions about the Causes of Software BehaviorΒ 
Accenture, Chicago, Illinois
May 30, 2008
I described my dissertation work to the research team at Accenture in Chicago.
A slide from the talk showing the Java Whyline
Asking and Answering Questions about the Causes of Software BehaviorΒ 
Washington University in St. Louis, St. Louis, MO
Feb 25, 2008
I described my dissertation work to faculty and students in the CS department.
A slide from the talk showing the Java Whyline
Asking and Answering Questions about the Causes of Software BehaviorΒ 
SRI International, Menlo Park, CA
Jan 31, 2008
I described my dissertation work to the research team at SRI.

2006 πŸ”—

The title slide of the presentation.
Human-Centered Approaches to Software Engineering ResearchΒ 
University of British Columbia, CS Department, Vancouver, B.C.
Jul 16, 2006
I was invited to visit UBC and give a talk to the software engineering and programming languages group.

CC0 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.