I'm interested in human learning, as well as effective organization and structure of both information and people. My interests place me within cognitive science, education, data structures, and socio-technical systems, influenced by my background in formal methods.
These interests have evolved over my research career in diagrammatic logics for hardware design (late 1990s), modular verification of feature-oriented programs (early 2000s), reasoning about access-control and privacy policies (late 2000s-early 2010s), and computing education (2010s-2020s). I've taught introductory computing and data structures for over two decades, and am involved in the Brown CS efforts in socially-responsible computing education. I've also held official and unofficial administrative and leadership positions. All of these have influenced my interests.
I'm one of the lead authors of a textbook on teaching computing through a data-centric lens (data science + data structures).
I'm currently exploring how we teach responsible agentic software development to novice programmers. I firmly believe that traditional programming education and agentic software development can and should live side by side, in mutually-reinforcing ways.
I have been heavily involved in outreach for K-12 computing education since the late 1990s, mainly through Bootstrap and various standards committees for K-12 computing education.
Almost all of my work is done in collaboration with two terrific teams: the cognitive engineering/computing education/PLT people at Brown and Bootstrap.