Andrew J. Ko is an Associate Professor at the University of Washington Information School and an Adjunct Associate Professor in the Paul G. Allen School of Computer Science and Engineering. He directs the Code & Cognition lab, which studies interactions between people and code, spanning the areas of human-computer interaction, computing education, and software engineering. He is the author of over 90 peer-reviewed publications, 9 receiving best paper awards and 2 receiving most influential paper awards. He received his 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.
Millions of people are learning to code, but most fail. Why? In this talk I argue that we actually know very little about what programming is or how people learn it. I present my lab's numerous efforts to investigate these problems, including including studies of programming expertise, the failures of classes, bootcamps, books, and coding tutorials at promoting learning, and the challenges of sustaining interest in learning over time. I also present several new tools and techniques for learning to code that can substantially increase learning, productivity, and self-efficacy, including an approach to completely teaching rank novices a programming language in just a few hours. These findings are just a glimpse into the rapidly evolving area of computing education research.