U-TEL: a tool for eliciting user task models from domain experts
IUI '98 Proceedings of the 3rd international conference on Intelligent user interfaces
Studying the language and structure in non-programmers' solutions to programming problems
International Journal of Human-Computer Studies
ConceptNet — A Practical Commonsense Reasoning Tool-Kit
BT Technology Journal
Toward a Programmatic Semantics of Natural Language
VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing
Programmatic semantics for natural language interfaces
CHI '05 Extended Abstracts on Human Factors in Computing Systems
Box English - preparing for CS1
Proceedings of the 44th annual Southeast regional conference
Mining Natural Language Programming Directives with Class-Oriented Bayesian Networks
ADMA '08 Proceedings of the 4th international conference on Advanced Data Mining and Applications
No Code Required: Giving Users Tools to Transform the Web
No Code Required: Giving Users Tools to Transform the Web
NLP (natural language processing) for NLP (natural language programming)
CICLing'06 Proceedings of the 7th international conference on Computational Linguistics and Intelligent Text Processing
The continuing quest for abstraction
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
SmartSynth: synthesizing smartphone automation scripts from natural language
Proceeding of the 11th annual international conference on Mobile systems, applications, and services
Hi-index | 0.00 |
Every program tells a story. Programming, then, is the art of constructing a story about the objects in the program and what they do in various situations. So-called programming languages, while easy for the computer to accurately convert into code, are, unfortunately, difficult for people to write and understand.We explore the idea of using descriptions in a natural language as a representation for programs. While we cannot yet convert arbitrary English to fully specified code, we can use a reasonably expressive subset of English as a visualization tool. Simple descriptions of program objects and their behavior generate scaffolding (underspecified) code fragments, that can be used as feedback for the designer. Roughly speaking, noun phrases can be interpreted as program objects; verbs can be functions, adjectives can be properties. A surprising amount of what we call programmatic semantics can be inferred from linguistic structure. We present a program editor, Metafor, that dynamically converts a user's stories into program code, and in a user study, participants found it useful as a brainstorming tool.