Lecture Title: Interactive Systems for Code and Data Demography
Speaker: Elena Glassman, University of California, Berkeley
Abstract: From massive programming classes to millions of online code repositories, we are awash with code. We are just beginning to exploit the useful structure within these large corpora to help programmers learn how to write more correct, readable code. I define code demography as statistics, algorithms and visualizations that help people comprehend and interact with population-level structure and trends in large code corpora. The conceptual key is defining abstractions---either through data-driven user-centered design or inference algorithms---to capture critical features and abstract away variation that is irrelevant to the user. Theories of human concept learning, e.g., Variation Theory, assert that showing people strategically diverse sets of examples help them construct mental abstractions that generalize well. Code demography reveals diverse sets of examples that can power active data-driven teaching in large programming classrooms and passive knowledge sharing within developer communities. In this talk, I will describe systems I developed that leverage program analysis, program synthesis, and visualization to help programming teachers gain a high-level view of students understanding, stylistic choices, and misconceptions; pick out examples to clarify learning objectives; and send reusable, personalizable feedback at scale. Some of these systems have been integrated into UC Berkeley s largest introductory programming class, which regularly enrolls over 1500 students. I will also describe Examplore, an interactive visualization that gives a bird s-eye view of common and uncommon ways in which a community of developers uses an API. I will conclude with my vision for how the techniques of code demography can be generalized to more forms of data and new programming paradigms.
Biography: Elena Glassman is an EECS postdoctoral researcher at UC Berkeley, in the Berkeley Institute of Design, funded by the NSF ExCAPE Expeditions in ComputerAugmented Program Engineering grant and the Moore/Sloan Data Science Fellowshipfrom the UC Berkeley Institute for Data Science (BIDS). She earned her PhD inEECS at the MIT CS & AI Lab in August 2016, where she created scalable systemsthat analyze, visualize, and provide insight into the code of thousands ofprogramming students. She has been a summer research intern at both Google andMicrosoft Research, working on systems that help people teach and learn. Sherecently joined the program committees of ACM CHI, ACM Learning at Scale, andtwo SPLASH workshops on programming usability. She was awarded the 2003 IntelFoundation Young Scientist Award, both the NSF and NDSEG graduate fellowships,the MIT EECS Oral Master s Thesis Presentation Award, a Best of CHI HonorableMention, and the MIT Amar Bose Teaching Fellowship for innovation in teachingmethods. Prior to entering the field of human-computer interaction (HCI), sheearned her M.Eng. in the MIT CSAIL Robot Locomotion Group and was a visitingresearcher at Stanford in the Stanford Biomimetics and Dextrous ManipulationLab.
For additional information, please contact Eyal deLara at email@example.com