Data is driving the future of computation: analysis, visualization and learning algorithms power systems that help us diagnose cancer, live sustainably, and understand the universe. Yet, the data explosion has outstripped our tools to process it, leaving a gap between powerful new algorithms and what real programmers can apply in practice. I want to make it easier for people to solve problems using data. I have examined how data affects the way we program. My dissertation research focuses on machine learning algorithms. I found that the key barrier to adoption is not a poor understanding of the machine learning algorithms themselves, but rather a poor understanding of the process for applying those algorithms and poor tool support for that process. I have created new programming and analysis tools that support programmers by helping them (1) implement machine learning systems and analyze results, (2) debug data and (3) design and track experiments Specialties: human-computer interaction, visualization, machine learning