Learning Technology for Formal Systems
Formal systems like programming languages, relational algebra, and convex optimization have vastly improved society. Behind those accomplishments are people who learned those formal systems, but those people are still relatively rare; for example, less than 1% of humanity knows the basics of programming languages. If everyone could quickly learn formal systems, everyone could participate in improving society faster, more broadly, and more equitably. To enable that, I build learning technology for formal systems, and I’ve started by focusing on programming languages. This includes 1) an interactive textbook to teach program reading, 2) more specific and useful assessments generated from a model of programming language knowledge, as well as 3) ways to productively apply empirical social science theory to design learning technology and assessments. These tools can teach code reading better than a 10 week CS1 course in about 4 hours, provide specific feedback to help improve learning, and show the potential for better ways of teaching formal systems that can work for everyone.
Host: Diana Franklin
Greg Nelson is a PhD candidate at the University of Washington Paul G. Allen School of Computer Science and Engineering, focusing on learning technology for formal systems. Greg has received paper awards at ACM CHI, IEEE InfoVis, and ACM ICER, the top conference for computer science education research. Greg has a B.S. in CS and Physics from Georgetown University. Greg’s research has been supported by an NSF Graduate Research Fellowship and other NSF grants. Greg has interned at Facebook Reality Labs, and, before graduate school, Greg worked in industry, including scaling bank closing infrastructure at the FDIC during the Great Financial Crisis, and leading the development of a management database for greater transparency, accountability, and coordination across the Rwandan health system, working with the Rwandan Ministry of Health, USAID, the World Bank, and 120+ other organizations.