Affiliate Position
- Adjunct Professor, University of Washington, Paul G. Allen School of Computer Science & Engineering
Specializations
- Critical Computing
- Design Education
- Social, Ethical, and Human Aspects of Software Engineering
Research Areas
Courses
- INFO 494 - Research Studio
Biography
Amy J. Ko is a Professor at the University of Washington Information School and an Adjunct Professor at the Paul G. Allen School of Computer Science and Engineering. She directs the Code & Cognition Lab, where she and her students study computing education, human-computer interaction, and humanity's individual and collective struggle to understand computing and harness it for creativity, equity, and justice. Her earliest work included techniques for automatically answering questions about program behavior to support debugging, program understanding, and reuse. Her later work studied interactions between developers and users, and techniques for web scale aggregation of user intent through help systems; she co-founded AnswerDash to commercialize these ideas. Her latest work investigates how to weave equity and justice into computing education pedagogy, culture, and technology. Her work spans more than 130 peer-reviewed publications, with 17 receiving paper awards and 4 receiving most influential paper awards. She is an ACM Senior Member, a member of ACM SIGCHI, SIGCSE, and SIGSOFT, and a member of the SIGCHI Academy, for her substantial contributions to the field of human-computer interaction. She received her Ph.D. at the Human-Computer Interaction Institute at Carnegie Mellon University in 2008, and degrees in Computer Science and Psychology with Honors from Oregon State University in 2002.
Education
- Ph D, Human-Computer Interaction, Carnegie Mellon University, 2008
- BS, Computer Science, Psychology, Oregon State University, 2002
Awards
- Distinguished Member - Association for Computing Machinery, 2024
- Most Influential Paper - IEEE Transactions on Software Engineering, 2024
- Best Paper - ACM International Computing Education Research Conference (ICER), 2023
- Best Paper - ACM/IEEE International Conference on Software Engineering (ICSE), 2023
- Marsha Landolt Distinguished Graduate Mentor Award, Honorable Mention - University of Washington, 2021
- ACM Senior Member - Association for Computing Machinery, 2020
- Presidential Entrepreneurial Faculty Fellow - University of Washington, 2014
- Most Influential Paper Award - IEEE Symposium on Visual Languages and Human-Centric Computing, 2013
- National Science Foundation CAREER Award - NSF, 2010
- SIGCHI Academy - SIGCHI, 2022
Memberships
- Association for Computing Machinery
Publications and Contributions
-
Conference PaperCulture-centric computational embroidery (2024)ACM Technical Symposium on Computer Science Education, Experience Report Track
-
Conference PaperExploring identity through computing integration in a Spanish language and literature class (2024)IEEE Conference on Research in Equity and Sustained Participation in Engineering, Computing, and Technology (RESPECT)
-
Conference Paper"A field where you will be accepted": Belonging in student and TA interactions in post-secondary CS education (2023)ACM International Computing Education Research Conference (ICER)
-
Journal Article, Academic Journal"Taught to be automata": Examining the departmental role in shaping initial career choices of computing students (2023)Computer Science Education
-
Conference PaperA qualitative study on the implementation design decisions of developers (2023)ACM/IEEE International Conference on Software Engineering (ICSE)
-
Book, Scholarly-New
-
Book, Scholarly-NewDesign Methods (2023)
-
Conference PaperDeveloping novice programmers' self-regulation skills with code replays (2023)ACM International Computing Education Research Conference (ICER)
-
Conference PaperFunds of Knowledge Used by Adolescents of Color in Scaffolded Sensemaking around Algorithmic Fairness (2023)ACM International Computing Education Research
-
Conference PaperNavigating a blackbox: Students' experiences and perceptions of automated hiring (2023)ACM International Computing Education Research Conference (ICER)
-
Book, Chapter in Scholarly Book-NewOperating Systems (2023)Critically Conscious Computing: Methods for Secondary Education
-
Conference PaperProposing, preparing, and teaching an equity- and justice - centered secondary pre-service CS teacher education program (2023)ACM Technical Symposium on Computer Science Education (SIGCSE) Research Track
-
Conference ProceedingScaffolding Children’s Sensemaking around Algorithmic Fairness (2023)Proceedings of the 22nd Annual ACM Interaction Design and Children Conference
-
Journal Article, Professional JournalTeaching Inclusive Design Skills with the CIDER Assumption Elicitation Technique (2023)ACM Transactions on Computer-Human Interaction
-
Journal Article, Academic JournalTeaching inclusive design skills with the CIDER assumption elicitation technique (2023)ACM Transactions on Computer-Human Interaction
-
Book, Scholarly-New
-
Conference PaperWhat do you really mean by rigor? Deconstructing the definition in CS Teaching (2023)American Education Research Association
-
Conference Paper"A Key to Reducing Inequities in Like, AI, is by Reducing Inequities Everywhere First" Emerging Critical Consciousness in a Co-Constructed Secondary CS Classroom (2022)Proceedings of the 53rd ACM Technical Symposium on Computer Science Education
-
Conference Paper"I would be afraid to be a bad CS teacher:" Factors influencing participation in pre-service secondary CS teacher education (2022)ACM International Computing Education Research Conference (ICER)
-
Conference PaperA Decade of Demographics in Computing Education Research: A Critical Review of Trends in Collection, Reporting, and Use (2022)Proceedings of the 2022 ACM Conference on International Computing Education Research
-
Conference PaperA Decade of Demographics in Computing Education Research: A Critical Review of Trends in Collection, Reporting, and Use (2022)ACM Conference on International Computing Education Research (ICER) 2022
-
Conference PaperAn Exploratory Study of Sharing Strategic Programming Knowledge (2022)ACM SIGCHI Conference on Human Factors in Computing Systems (CHI)
-
Book, Chapter in Scholarly Book-NewCS and Design (2022)Critically Conscious Computing: Methods for Secondary Education
-
Conference PaperFamily as a Third Space for AI Literacies: How Do Children and Parents Learn about AI Together? (2022)ACM SIGCHI Conference on Human Factors in Computing Systems (CHI)
-
Journal Article, Academic JournalHow families design and program games: A qualitative analysis of a 4-week online in-home study with a cellular-automata programming platform (2022)ACM Interaction Design for Children
-
Journal Article, Academic JournalSurfacing Equity Issues in Large Computing Courses with Peer-Ranked, Demographically-Labeled Student Feedback (2022)Proceedings of the ACM on Human-Computer Interaction (CSCW 2022)
-
Journal Article, Professional JournalThe House of Computing: Integrating Counternarratives into Computer Systems Education (2022)Proceedings of the 53rd ACM Technical Symposium on Computer Science Education, pp. 279-285
-
Conference PaperThe House of Computing: Integrating Counternarratives into Computer Systems Education (2022)ACM Technical Symposium on Computer Science Education (SIGCSE), Experience Report Track
-
Conference PaperThe House of Computing: Integrating Counternarratives into Computer Systems Education (2022)ACM Technical Symposium on Computer Science Education (SIGCSE), Experience Report Track
-
Conference PaperThe Landscape of Teaching Resources for AI Education (2022)ACM Conference on Innovation and Technology in Computer Science Education
-
Conference Paper“A key to reducing inequities in like, AI, is by reducing inequities everywhere: first”: Emerging Critical Consciousness in a Co-Constructed Secondary CS Classroom (2022)ACM Technical Symposium on Computer Science Education (SIGCSE), Research Track
-
Journal Article, Academic JournalA Theory of Robust API Knowledge (2021)Transactions of Computing Education
-
Book, Scholarly-New
-
Conference PaperDomain Experts’ Interpretations of Assessment Bias in a Scaled, Online Computer Science Curriculum (2021)Eighth ACM Conference on Learning @ Scale (L@S), 29(Unknown Issue)
-
Conference PaperFalx: Synthesis-Powered Visualization Authoring (2021)Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems
-
Conference PaperHow do children's perceptions of machine intelligence change when training & coding smart programs? (2021)ACM Interaction Design and Children Conference (IDC 2021)
-
Conference PaperHowToo: A Platform for Sharing, Finding, and Using Programming Strategies (2021)IEEE Symposium on Visual Languages and Human- Centered Computing (VL/HCC)
-
Conference PaperInvestigating Item Bias in a CS1 exam with Differential Item Functioning (2021)Proceedings of the 52nd ACM Technical Symposium on Computer Science Education
-
Journal Article, Academic JournalTowards Understanding the Effective Design of Automated Formative Feedback for Programming Assignments (2021)Computer Science Education
-
Conference PaperComputing Students' Learning Difficulties in HCI Education (2020)Proceedings of the 38th annual ACM conference on human factors in computing systems (CHI '20)
-
Journal Article, Academic JournalExplicit Programming Strategies (2020)Empirical Software Engineering, 25(Unknown Issue), pp. 2416–2449
-
Conference PaperInvestigating Novices' In Situ Reflections on Their Programming Process (2020)Proceedings of the 51st ACM Technical Symposium on Computer Science Education (SIGCSE '20), pp. 149-155
-
Conference PaperInvestigating Novices' In Situ Reflections on Their Programming Process (2020)SIGCSE
-
Journal Article, Academic JournalIt Is Time for More Critical CS Education (2020)Communications of the ACM, 63(11), pp. 31-33, ISBN/ISSN: 0001-0782
-
Magazine/Trade PublicationIt's time for more Critical CS Education (2020)Communications of the ACM, pp. 31 - 33
-
Conference PaperLearning Machine Learning with Personal Data Helps Stakeholders Ground Advocacy Arguments in Model Mechanics (2020)Proceedings of the 2020 ACM Conference on International Computing Education Research (ICER)
-
Journal Article, Academic JournalOn the Role of Design in K-12 Computing Education (2020)ACM Transactions on Computing Education, 21(1)
-
Conference PaperScout: Rapid Exploration of Interface Layout Alternatives through High-Level Design Constraints (2020)Proceedings of the 38th annual ACM conference on human factors in computing systems (CHI '20)
-
Conference PaperThe Effect of Informing Agency in Self-Directed Online Learning Environments (2020)Learning @ Scale
-
Conference Workshop PaperToward the Development of HCI Pedagogical Content Knowledge (2020)ACM SIGCHI Symposium on HCI Education (EduCHI 2020)
-
Book, Chapter in Scholarly Book-NewA Study Design Design Process (2019)Cambridge Handbook on Computing Education Research, pp. 81-101
-
Journal Article, Academic JournalA Systematic Investigation of Replications in Computing Education Research (2019)ACM Transactions on Computing Education, 19(4)
-
Journal Article, Academic JournalA Theory of Instruction for Introductory Programming Skills (2019)Computer Science Education, pp. 205-253
-
Journal Article, Academic JournalA theory of instruction for introductory programming skills (2019)Computer Science Education, 29(2-3), pp. 205-253, ISBN/ISSN: 0899-3408
-
Conference PaperAn Item Response Theory Evaluation of a Language-Independent CS1 Knowledge Assessment (2019)Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE '19), pp. 699-705
-
Conference PaperAn Item Response Theory Evaluation of a Language-Independent CS1 Knowledge Assessment (2019)SIGCSE, pp. 699--705
-
Blog postCS education policymaking: how a (state) bill becomes a (state) law (2019)Bits and Behavior
-
Book, Chapter in Scholarly Book-NewHuman-Centered Methods to Boost Productivity (2019)Rethinking Productivity in Software Engineering, pp. 147-157, ISBN/ISSN: 978-1-4842-4221-6
-
Book, Chapter in Scholarly Book-NewIndividual, Team, Organization, and Market: Four Lenses of Productivity (2019)Rethinking Productivity in Software Engineering, pp. 49-55, ISBN/ISSN: 978-1-4842-4221-6
-
Book, Chapter in Scholarly Book-NewLearning Outside the Classroom (2019)Cambridge Handbook on Computing Education Research, pp. 749-772
-
Conference PaperTeaching Accessibility: A Design Exploration of Faculty Professional Development at Scale (2019)Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE '19), pp. 983-989
-
Conference PaperTeaching Explicit Programming Strategies to Adolescents (2019)Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE '19), pp. 469-475
-
Conference PaperTeaching accessibility: A design exploration of faculty professional development at scale (2019)SIGCSE 2019, Proceedings of the 50th ACM Technical Symposium on Computer Science Education
-
Book, Chapter in Scholarly Book-NewTools and Environments (2019)Cambridge Handbook on Computing Education Research, pp. 639-662
-
Conference PaperTowards Validity for a Formative Assessment for Language-Specific Program Tracing Skills (2019)Proceedings of the 19th ACM Koli Calling International Conference on Computing Education Research (Koli Calling '19), pp. 1-10
-
Conference PaperTowards a validated formative assessment for language-specific program tracing skills (2019)Koli Calling
-
Journal Article, Academic JournalWhat Distinguishes Great Software Engineers? (2019)Empirical Software Engineering, pp. 322–352
-
Book, Chapter in Scholarly Book-NewWhy Not to Measure Productivity (2019)Rethinking Productivity in Software Engineering, pp. 21-26, ISBN/ISSN: 978-1-4842-4221-6
-
Conference PaperAn Explicit Strategy to Scaffold Novice Program Tracing (2018)SIGCSE 2018
-
Conference PaperEmpowering families facing English literacy challenges to jointly engage in computer programming (2018)Proceedings of SIGCHI Human Factors in Computing Systems (CHI 2018)
-
Conference PaperExperiences of Computer Science Transfer Students (2018)ACM International Computing Education Research Conference (ICER)
-
Blog Post
-
Conference PaperInformal computing mentoring of low-income adolescents: Relationships, roles, qualities, and impact (2018)Proceedings of SIGCSE 2018
-
Conference PaperOn Use of Theory in Computing Education Research (2018)ACM International Computing Education Research Conference (ICER)
-
Conference PaperPedagogical Content Knowledge for Teaching Inclusive Design (2018)ACM International Computing Education Research Conference (ICER)
-
Journal Article, Professional JournalPedagogical Content Knowledge for Teaching Inclusive Design (2018)ACM International Computing Education Research Conference
-
Conference PaperRewire: Interface Design Assistance From Examples (2018)2018 ACM CHI Conference on Human Factors in Computing Systems
-
Blog PostTen years after the Whyline (2018)Medium
-
Conference PaperUndergraduate Teaching Assistants’ Concerns in Creating Inclusive Technology Courses (2018)RESPECT 2018: 3rd Annual Conference For Research On Equity & Sustained Participation In Computing Engineering, & Technology
-
Conference PaperWho Teaches Accessibility? A Survey of U.S. Computing Faculty (2018)SIGCSE 2018
-
Conference PaperA Three-Year Participant Observation of Software Startup Software Evolution (2017)International Conference on Software Engineering (ICSE), Software Engineering in Practice
-
Conference PosterAccessibility as a First-Class Concern in Teaching GUIs and Software Engineering (2017)SIGCSE '17: Proceedings of the 48th ACM Technical Symposium on Computing Science Education, ISBN/ISSN: 978-1-4503-4698-6
-
Conference PaperBarriers Faced by Coding Bootcamp Students (2017)13th Annual ACM International Computing Education Research (ICER) Conference
-
Conference PaperBarriers Faced by Coding Bootcamp Students (2017)Proceedings of ICER ’17
-
Conference PaperBarriers faced by coding bootcamp participants (2017)ACM International Computing Education Research Conference
-
Conference PaperComprehension First: Evaluating a Novel Pedagogy and Tutoring System for Program Tracing in CS1 (2017)13th Annual ACM International Computing Education Research (ICER) Conference
-
Conference PaperComprehension First: Evaluating a Novel Pedagogy and Tutoring System for Program Tracing in CS1 (2017)International Computing Education Research (ICER)
-
Conference PaperComprehension first: evaluating a novel pedagogy and tutoring system for program tracing in CS1 (2017)ACM International Computing Education Research Conference
-
Conference PaperComputing mentorship in a software boomtown: relationships to adolescent interest and beliefs (2017)ACM International Computing Education Research Conference (ICER)
-
Conference PaperCross-Disciplinary Perspectives on Collaborations with Software Engineers (2017)International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE)
-
Journal Article, Academic JournalGeneral Principles for a Generalized Idea Garden (2017)Journal of Visual Languages & Computing, 39(Unknown Issue), pp. 51-65
-
Journal Article, Professional JournalGeneral Principles for a Generalized Idea Garden (2017)Journal of Visual Languages & Computing
-
Conference PaperGenie: Input Retargeting on the Web through Command Reverse Engineering (2017)ACM Conference on Human Factors in Computing Systems (CHI)
-
Conference Workshop PaperModeling Programming Problem Solving Through Interactive Worked Examples (2017)Workshop on Evaluation and Usability of Programming Languages and Tools (PLATEAU)
-
Conference PaperPredicting Abandonment in Online Coding Tutorials (2017)IEEE Symposium on Visual Languages and Human-Centered Computing
-
Magazine/Trade PublicationAccessComputing Promotes Teaching Accessibility (2016)ACM Inroads, 7(4), pp. 65-68
-
Magazine/Trade PublicationProgrammers are Users Too: Human Centered Methods for Improving Tools for Programming (2016)IEEE Computer, 49(7), pp. 44-52
-
Conference PaperProgramming, Problem Solving, and Self-Awareness: Effects of Explicit Guidance (2016)ACM Conference on Human Factors in Computing Systems
-
Conference PaperProgramming, Problem Solving, and Self-Awareness: Effects of Explicit Guidance (2016)ACM Conference on Human Factors in Computing Systems (CHI)
-
Conference PaperThe Role of Self-Regulation in Programming Problem Solving Process and Success (2016)ACM International Computing Education Research Conference (ICER)
-
Book, Chapter in Scholarly Book-NewThe World is Your Test Suite (2016)Perspectives on Data Science for Software Engineering
-
Workshop PaperWhat is a Programming Language, Really? (2016)Proceedings of the 7th International Workshop on Evaluation and Usability of Programming Languages and Tools, pp. 32-33
-
ColumnWhy the Software Industry Needs Computing Education Research (2016)The Huffington Post
-
Conference PaperComparing the Effectiveness of Online Learning Approaches on CS1 Learning Outcomes (2015)ACM International Computing Education Research Conference
-
Conference PaperExplaining Visual Changes in Web Interfaces (2015)UIST - ACM Symposium on User Interface Software and Technology
-
Conference PaperFrom User-Centered Design to Adoption-Centered Design: A Case Study of a Research System Becoming a Product (2015)Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI ’15), pp. 1749-1785
-
Conference PaperIt's the Principle(s) of the Thing! A Principled Evaluation for a Principled Idea Garden (2015)IEEE Symposium on Visual Languages and Human-Centric Computer (VL/HCC)
-
Conference PaperChallenging Stereotypes and Changing Attitudes: The Effect of a Brief Programming Encounter on Adults' Attitudes toward Programming (2014)ACM Symposium on Computer Science Education
-
Conference PaperPrinciples of a Debugging-First, Gender-Inclusive, Help-Yourself Puzzle Game for Computing Education (2014)IEEE Conference on Visual Languages and Human-Centric Computing
-
Workshop PaperThirty Years of Software Problems in the News (2014)International Workshop on Cooperative and Human Aspects of Software Engineering
-
Conference PaperA Multi-Site Field Study of Crowdsourced Contextual Help: Usage and Perspectives of End-Users and Software Teams (2013)ACM Conference on Human Factors in Computing Systems
-
Journal Article, Academic JournalA Practical Guide to Controlled Experiments of Software Engineering Tools with Human Participants (2013)Empirical Software Engineering, pp. 1382-3256
-
Workshop PaperCrowdsourced Q&A-based Contextual Help for Web Applications: Challenges and Opportunities (2013)CSCW Workshop on Social Media Question Asking
-
Conference PaperIn-Game Assessments Increase Novice Programmers’ Engagement and Learning Efficiency (2013)International Computing Education Research Conference
-
Conference PaperInteractive Record/Replay for Web Application Debugging (2013)ACM Symposium on User Interface Software and Technology, pp. 473-484
-
Conference PaperDesigning for a billion users: A case study of Facebook (2012)ACM Conference on Human Factors in Computing Systems, Extended Abstracts
-
Conference PaperInvestigating the Role of Purposeful Goals on Novices' Engagement in a Programming Game (2012)IEEE Symposium on Visual Languages and Human-Centric Computing
-
Conference PaperIs this what you meant? Promoting listening on the web with reflect (2012)ACM Conference on Human Factors in Computing Systems
-
Conference PaperLemonAid: Selection-based crowdsourced contextual help for web applications (2012)ACM Conference on Human Factors in Computing Systems
-
Conference PaperLemonAid: Selection-based, crowdsourced, contextual help retrieval in web applications (2012)ACM Symposium on User Interface Software and Technology
-
Conference PaperMining whining in support forums with Frictionary (2012)Extended Abstracts on ACM Conference on Human Factors in Computing Systems
-
Conference PaperA case study of post-deployment user feedback triage (2011)International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 1-8
-
Conference PaperCharacterizing the differences between pre- and post-release versions of software (2011)International Conference on Software Engineering, pp. 716-725
-
Conference PaperDesign, discussion, and dissent in open bug reports (2011)iConference 2011, pp. 106-113
-
Conference PaperFeedLack detects missing feedback in web applications (2011)ACM Conference on Human Factors in Computing, pp. 2177-2186
-
Conference PaperPersonifying programming tool feedback improves novice programmers' learning (2011)International Computing Education Research Conference, pp. 109-116
-
Conference Short PaperPost-deployment usability: A survey of current practices (2011)ACM Conference on Human Factors in Computing Systems, pp. 2243-2246
-
Conference Short PaperThe role of conceptual knowledge in API usability (2011)IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 173-176
-
Journal Article, Academic JournalThe state of the art in end-user software engineering (2011)ACM Computing Surveys 43, 3, Article 21 (April 2011), pp. 44 pages
-
Conference Workshop PaperUsing crowdsourcing in the design of context-sensitive help for web applications (2011)CHI 2011 Workshop on “Crowdsourcing and Human Computation”
-
Journal Article, Academic JournalWhy-oriented end-user debugging of naive Bayes text classification (2011)ACM Transactions on Interactive Intelligent Systems, 1(1)
-
Conference PaperCleanroom: Edit-time error detection with the uniqueness heuristic (2010)IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 7-14
-
Journal Article, Professional JournalExtracting and answering why and why not questions about Java program output (2010)ACM Transactions on Software Engineering and Methodology, 20(2)
-
Conference PaperGestalt: integrated support for implementation and analysis in machine learning (2010)ACM Symposium on User Interface Software and Technology (UIST 2010), pp. 37-46
-
Conference PaperHow power users help and hinder open bug reporting (2010)ACM Conference on Human Factors in Computing Systems (CHI ’10), pp. 2337-2346
-
Conference PaperUnderstanding expressions of unwanted behaviors in open bug reporting (2010)IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 203-206
-
Book, Chapter in Non-Scholarly Book-NewUnderstanding software engineering through qualitative methods (2010)Making Software: What Really Works and Why We Believe It, pp. 14
-
Conference PaperUnderstanding usability practices in complex domains (2010)Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI ’10), pp. 2337-2346
-
Conference PaperAttitudes and self-efficacy in young adults' computing autobiographies (2009)IEEE Symposium on Visual Languages and Human-Centric Computer (VL/HCC), pp. 67-74
-
Conference PaperComparing bioinformatics software development by computer scientists and biologists: An exploratory study (2009)Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering, pp. 72-79
-
Conference Workshop PaperDesigning software for unfamiliar domains (2009)International Workshop on Cooperative and Human Aspects of Software Engineering
-
Conference PaperFinding causes of program output with the Java Whyline (2009)ACM Conference on Human Factors in Computing Systems (CHI), pp. 1569-1578
-
Conference PaperFixing the program my computer learned: Barriers for end users, challenges for the machine (2009)Conference on Intelligent User Interfaces (IUI), pp. 187-196
-
Conference PaperPast, present and future of programming in HCI (2009)Human-Computer Interaction Consortium
-
Journal Article, Professional JournalReflections on the future of iSchools from inspired junior faculty. (2009)interactions, 16(5), pp. 69-71
-
Conference PaperAsking and answering questions about the causes of software behaviors (2008)
-
Conference PaperDebugging reinvented: Asking and answering why and why not questions about program behavior (2008)International Conference on Software Engineering, pp. 301-310
-
Conference PaperDesigners' natural descriptions of interactive behaviors (2008)IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 185-188
-
Conference PaperHow designers design and program interactive behaviors (2008)IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 177-184
-
Conference Workshop PaperSource-level debugging with the Whyline (2008)International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 69-72
-
Conference Workshop PaperEnd User Software Engineering (2007)CHI 2007 Special Interest Group Meeting, pp. 2125-2128
-
Conference PaperInformation needs in collocated software development teams (2007)International Conference on Software Engineering, pp. 344-353
-
Conference PaperLet's go to the whiteboard: How and why software developers draw code (2007)ACM Conference on Human Factors in Computing Systems, pp. 557-566
-
Conference PaperA linguistic analysis of how people describe software problems in bug reports (2006)IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 127-134
-
Journal Article, Professional JournalAn Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks (2006)IEEE Transactions on Software Engineering, 32(12), pp. 971 - 987
-
Conference PaperAnswering why and why not questions in user interfaces (2006)ACM Conference on Human Factors in Computing Systems, pp. 397-406
-
Conference PaperBarista: An implementation framework for enabling new tools, interaction techniques and views for code editors (2006)ACM Conferences on Human Factors in Computing Systems, pp. 387-396
-
Conference PaperDebugging by asking questions about program output (2006)International Conference on Software Engineering, pp. 989-992
-
Conference PaperDimensions characterizing programming feature usage by information workers (2006)IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 59-62
-
Conference Workshop PaperEnd-user programming productivity tools (2006)Institute for Software Research
-
Conference Extended AbstractInvited research overview: End-user programming (2006)ACM Conference on Human Factors in Computing Systems, pp. 75-80
-
Conference Published VideoThe Crystal framework and editor for answering why and why not questions (2006)ACM Conference on Human Factors in Computing Systems
-
Conference Workshop PaperThe role of science in supporting software development (2006)Workshop on Supporting the Social Side of Large-Scale Software Development, pp. 65-69
-
Journal Article, Academic JournalA framework and methodology for studying the causes of software errors in programming systems (2005)Journal of Visual Languages and Computing, 16(1), pp. 41-84
-
Conference PaperCitrus: A language and toolkit for simplifying the creation of structured editors for code and data (2005)ACM Symposium on User Interface Software and Technology, pp. 3-12
-
Conference PaperDesign requirements for more flexible structured editors from a study of programmers' text editing (2005)ACM Conference on Human Factors in Computing Systems, pp. 1557-1560
-
Conference PaperEliciting design requirements for maintenance-oriented IDEs: A detailed study of corrective and perfective maintenance Tasks (2005)International Conference on Software Engineering, pp. 126-135
-
Conference PaperExamining task engagement in sensor-based statistical models of human interruptibility. (2005)ACM Conferences on Human Factors in Computing Systems, pp. 331-340
-
Conference Workshop PaperHuman factors affecting dependability in end-user programming (2005)Workshop on End-User Software Engineering (WEUSE), pp. 1-4
-
Technical ReportIdentifying types of end users: Hints from an informal survey (2005)Carnegie Mellon University ISRI Technical Report, no. CMU-HCII-05-101 and Human Computer Interaction Institute Technical Report CMU-ISRI-05-110
-
Conference Published VideoThe Citrus language and user interface toolkit. Video figure (2005)ACM Symposium on User Interface Software and Technology
-
Conference PaperUsing objects of measurement to detect spreadsheet errors (2005)IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 22-26
-
Journal Article, Academic JournalUsing the Cognitive Walkthrough to improve the design of a visual programming experiment (2002)Journal of Visual Languages and Computing, 13(Unknown Issue), pp. 517-544
Presentations
-
Searching for Justice in Programming Language Design
(2023)
University of Michigan - Michigan
-
Searching for Justice in Programming Language Design
(2023)
HCI Institute, Carnegie Mellon - Carnegie Mellon
-
The Promise and Problems of CS for All
(2022)
Simon Fraser University - British Columbia, Canada
-
The Promise and Problems of CS for All
(2022)
CSAIL, MIT - MIT
-
Capacity, Access, Participation, and Experience in K-12 CS Education
(2021)
IEEE Conference on Research in Equity and Sustained Participation in Engineering, Computing, and Technology (RESPECT) - Virtual
-
Code, Calculators, Creativity, and the Many Paths to CS Education
(2021)
2021 Washington State Why CS Summit - Virtual
-
Critical Computing Education
(2021)
University of California, Davis, Computer Science, Computing Education Research at Davis Seminar - Davis, CA
-
Critical Computing Education
(2021)
California Institute of Technology, Computing and Mathematical Sciences, Keller Colloquium - Pasadena, CA
-
Critical Computing Education
(2021)
Digital Learning Lab, University of California, Irvine - Irvine, CA
-
Deconstructing CS Culture
(2021)
IEEE Annual Conference on Research in Equity and Sustained Participation in Engineering, Computing, and Technology (RESPECT) - Virtual
-
Equity, Justice, and Engineering Education
(2021)
Science, Technology, and Public Policy (STPP) Program, Ford School of Public Policy, University of Michigan - Ann Arbor, MI
-
MIT EECS Rising Stars careers panel
(2021)
MIT EECS Rising Stars - Cambridge, MA
-
Programming as Cognition, Programming as Politics
(2021)
University of Colorado Boulder, Institute for Cognitive Science - Boulder, CO
-
Requirements of Oppression
(2021)
IEEE International Requirements Engineering Conference - Notre Dame, South Bend, USA (Virtual)
-
The Roots of Inequity in K-12 CS Education
(2021)
Computer Science Teachers Association Conference - Virtual
-
Women in Science
(2021)
North Central ESD K-12 STEM Education Summit - Virtual
-
Computing Education: A Critical Time for a Critical Literacy
(2020)
IT University of Copenhagen - Copenhagen, Denmark
-
Critical Computing Education
(2020)
University of Virginia, Computer Science Distinguished Speaker Series - Charlottesville, Virginia
-
Critical Computing Education
(2020)
Carnegie Mellon University, HCI Institute, Seminar Series - Pittsburgh, Pennsylvania
-
Critical Computing Education
(2020)
University of Pennsylvania, Computer and Information Science, Seminar Series - Philadelphia, Pennslyvania
-
Critical Computing Education
(2020)
University of Colorado joint Colloqium of the Department of Information Science and College of Media, Communication and Information - Boulder, Colorado
-
CS in Higher Education
(2020)
Microsoft - Redmond, Washington
-
Studying Programming through Making
(2020)
2020 PL+HCI Swimmer School - Virtual
-
21st Century Grand Challenges in Computing Education
(2019)
Koli Calling International Conference on Computing Education Research - Koli, Finland
-
Programming: what it is and how to teach it
(2019)
ETH Zurich, Department of Computer Science, Seminar - Zurich, Switzerland
-
Empowering families facing English literacy challenges to jointly engage in computer programming
(2018)
Proceedings of SIGCHI Human Factors in Computing Systems (CHI 2018) - Montreal, Quebec, Canada
-
Informal computing mentoring of low-income adolescents: Relationships, roles, qualities, and impact
(2018)
SIGCSE 2018 - Baltimore, MD
-
UX + Engineering: Three Years in the Startup Trenches
(2017)
Amazon Stackhouse Talks - Seattle, WA
-
A Human View of Programming Languages
(2016)
ACM SIGPLAN Conference on Systems, Programming, Languages and Applications: Software for Humanity (SPLASH) - Amsterdam, the Netherlands
-
Nine Things I Learned in Startup Land
(2016)
DUB Retreat - Seattle, WA
-
Why Computer Science Departments should Embrace CS Education Research
(2016)
CRA Snowbird (invitation only biennial conference for chairs of departments) - Salt Lake City, UT
-
What Makes a Great Software Engineer?
(2015)
ACM Learning Center - Seattle, WA
-
Understanding Software Understanding
(2013)
ABB, Inc. - Raleigh, NC
-
Defect Detection for the Wayward Web
(2012)
Microsoft - Redmond, WA
-
Explaining the World of Bits and Behavior
(2012)
DUB Group, University of Washington - Seattle, WA
-
A case study of post-deployment user feedback triage
(2011)
International Workshop on Cooperative and Human Aspects of Software Engineering - Honolulu, HI
-
Defect detection for the wayward web
(2011)
Coverity - San Francisco, CA
-
Defect detection for the wayward web
(2011)
MIT - Cambridge, MA
-
Defect detection for the wayward web
(2011)
UNC Charlotte - Charlotte, NC
-
FeedLack Detects Missing Feedback in Web Applications
(2011)
ACM Conference on Human Factors in Computing - Vancouver, BC, Canada
-
The Role of Conceptual Knowledge in API Usability
(2011)
IEEE Symposium on Visual Languages and Human-Centric Computing - Pittsburgh, PA
-
Cleanroom: Edit-Time Error Detection
(2010)
Annual Conference, HICSS - Hawaii International Conference on System Sciences (IEEE) - Madrid, Spain
-
How Power Users Help and Hinder Open Bug Reporting
(2010)
Conference on Human Factors in Computing Systems, SIGCHI - Special Interest Group on Computer-Human Interaction (ACM) - Atlanta, GA
-
Human Factors in Software Development Tools
(2010)
Dagstuhl on Practical Software Testing, German Government - Dagstuhl, Germany
-
User Feedback in Software Evolution
(2010)
Symposium on HCI and Software Engineering, IBM Research Labs - Hawthorne, NY
-
Where HCI and Software Engineering Meet
(2010)
Conference for Software User Assistance, WritersUA - Seattle, WA
-
Where is the User in Software Evolution?
(2010)
Industry Talk, IBM Research Labs - Hawthorne, NY
-
Asking and Answering Questions about the Causes of Software Behavior
(2009)
IIT Mumbai - Mumbai, India
-
Asking and Answering Questions about the Causes of Software Behavior
(2009)
Intel Research - Seattle, WA
-
Where HCI and Software Engineering Meet
(2009)
iEdge Conference, Information School, University of Washington - Seattle, WA
-
Where HCI and Software Engineering Meet
(2009)
CHOOSE Forum, Swiss Informatics Society - Bern, Switzerland
-
Asking and Answering Questions about the Causes of Software Behavior
(2008)
Accenture - Chicago, IL
-
Asking and Answering Questions about the Causes of Software Behavior
(2008)
Washington University - St. Louis, MO
-
Asking and Answering Questions about the Causes of Software Behavior
(2008)
SRI International - Menlo Park, CA
-
Where HCI and Software Engineering Meet
(2008)
DUB Colloquium, University of Washington - Seattle, WA
-
Asking and Answering Questions about the Causes of Software Behavior
(2006)
Oregon State University - Corvallis, OR
-
Asking and Answering Questions about the Causes of Software Behavior
(2006)
Industry Talk, IBM Research Labs - Hawthorne, NY
-
Human-Centered Approaches to Software Engineering Research
(2006)
University of British Columbia - Vancouver, BC, Canada
-
Information Needs in Software Development Work
(2006)
Microsoft Visual Studio User Experience Group - Redmond, WA
-
Information Needs in Software Development Work
(2006)
Industry Talk, Microsoft Research - Redmond, WA
-
User Interface Design in Visual Basic.NET
(2006)
HCI for Technology Executives, Carnegie Mellon University - Pittsburgh, PA