Computer programming skills are becoming indispensable for a variety of professions. However, computer programming is often prohibitively difficult to learn or do correctly. Many programming languages and tools were designed around the needs and limitations of the computers executing code, which can lead to design features that are counterintuitive for the people who use those tools.

We are a research group at the University of Michigan, primarily in the School of Information and Computer Science. Our research focuses on understanding the factors that make programming tools usable and designing & building new tools for programmers.

Recent publications (all publications)