PIPages
Labs

Rastislav Bodik

University of Washington, WA·Computer Science

People who use spreadsheets and other data-analysis tools constantly run into tasks their software cannot do. To go further they would have to write a program, which means designing an algorithm and expressing it in a programming language, skills most of them do not have.

Fields

Computer Science

Education Research

Topics

end-user programming

program synthesis

programming by demonstration

Grants
1 known grant, last ended Sep 2026

What they work on

  1. Build a foundation for interactive program synthesis as an extension of solver-aided programming, defining a small set of primitive queries from which interactive tasks such as computing alternative explanations of a synthesized program can be implemented.
  2. Develop methods that let a synthesis tool explain the program it generated back to the user and ask targeted questions when it has generalized a demonstration incorrectly.
  3. Synthesize domain-specific programming primitives that are explainable, expressive enough to be useful, and gradually teachable, building on recent results in synthesis of language constructs.
  4. Support teachers in authoring microworlds, small self-contained sets of programming exercises, and evaluate the resulting tools in the team's existing data visualization and creative AI programming systems.

More about the research

This gap between what users want and what they can build is the programmability gap. This project aims to flatten the steep learning curve of programming by building tools that write programs alongside the user.

Why it matters

Spreadsheet users, data analysts and students often cannot automate the tasks they care about because programming is out of reach. Tools that generalize a demonstration into code, explain that code in plain terms, and ask clarifying questions could let these users solve their own problems, and could broaden participation in computing among people who have viewed programming as inaccessible. Teachers could also use the microworld authoring support to build exercises for novices.

Known grants

From NIH and NSF research grants. Labs often have other funding we can't see.

FMitF: Track I: End-User Programming with Synthesis-Guided Interaction Models

NSF · Oct 2021 – Sep 2026

Closest labs

Haijun Xia

University of California-San Diego, CA·Computer Science

Analyze diagrams that programmers produce themselves to identify what qualities make graphics effective and directly manipulable for understanding and changing code.

Xiaokang Qiu

Purdue University, IN·Computer Science·Early-career

Develop program synthesis algorithms that infer objective functions, library models and task decomposition themselves, so programmers need not hand-craft them, enabling scalable library-based synthesis.

Swarat Chaudhuri

University of Texas at Austin, TX·Computer Science

Develop foundation model programming, which writes scientific hypotheses as programs combining symbolic rules with neural modules and foundation models, to extract interpretable concepts from images and video.

The school

University of Washington: 81 labs on PI Pages, $1.7B a year on research, 694 research doctorates a year.

More about University of Washington

Reach out

A start for your email. Fill in the brackets.