I’m interested in various facets of how people learn and use formal systems. My current focus is computing education, with an emphasis on how programming languages impact learning and pedagogy in computing. I’ve also worked on diagrammatic logics for hardware design (late 1990s), modular verification of feature-oriented programs (early 2000s), and reasoning about access-control and privacy policies (mid-late 2000s). Those projects emphasized formal systems over human reasoning. My work in computing education tilts the balance, but is part of the same broad theme.