The vocabulary problem in human-system communication
Communications of the ACM
Program understanding behavior during corrective maintenance of large-scale software
International Journal of Human-Computer Studies - Best of empirical studies of programmers 7
Sitemaps, storyboards, and specifications: a sketch of Web site design practice
DIS '00 Proceedings of the 3rd conference on Designing interactive systems: processes, practices, methods, and techniques
Studying the language and structure in non-programmers' solutions to programming problems
International Journal of Human-Computer Studies
Effective Java programming language guide
Effective Java programming language guide
Where do web sites come from?: capturing and interacting with design history
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
The impact of human-centered features on the usability of a programming system for children
CHI '02 Extended Abstracts on Human Factors in Computing Systems
IEEE Software
Tabular and Textual Methods for Selecting Objects from a Group
VL '00 Proceedings of the 2000 IEEE International Symposium on Visual Languages (VL'00)
A programming system for children that is designed for usability
A programming system for children that is designed for usability
Designing the whyline: a debugging interface for asking questions about program behavior
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Natural programming languages and environments
Communications of the ACM - End-user development: tools that empower users to create their own software solutions
Six Learning Barriers in End-User Programming Systems
VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing
How Effective Developers Investigate Source Code: An Exploratory Study
IEEE Transactions on Software Engineering
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Mylar: a degree-of-interest model for IDEs
Proceedings of the 4th international conference on Aspect-oriented software development
Goal-Directed Debugging of Spreadsheets
VLHCC '05 Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing
Answering why and why not questions in user interfaces
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Rough and ready prototypes: lessons from graphic design
CHI '92 Posters and Short Talks of the 1992 SIGCHI Conference on Human Factors in Computing Systems
Invited research overview: end-user programming
CHI '06 Extended Abstracts on Human Factors in Computing Systems
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
Development and evaluation of a model of programming errors
HCC '03 Proceedings of the 2003 IEEE Symposium on Human Centric Computing Languages and Environments
How Are Java Software Developers Using the Eclipse IDE?
IEEE Software
Mica: A Web-Search Tool for Finding API Components and Examples
VLHCC '06 Proceedings of the Visual Languages and Human-Centric Computing
Questions programmers ask during software evolution tasks
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
JASPER: an Eclipse plug-in to facilitate software maintenance tasks
eclipse '06 Proceedings of the 2006 OOPSLA workshop on eclipse technology eXchange
IEEE Transactions on Software Engineering
Usability Implications of Requiring Parameters in Objects' Constructors
ICSE '07 Proceedings of the 29th international conference on Software Engineering
The Factory Pattern in API Design: A Usability Evaluation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Information Needs in Collocated Software Development Teams
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Program comprehension as fact finding
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Mapping the Space of API Design Decisions
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Debugging reinvented: asking and answering why and why not questions about program behavior
Proceedings of the 30th international conference on Software engineering
Sketching User Experiences: Getting the Design Right and the Right Design
Sketching User Experiences: Getting the Design Right and the Right Design
Empirical studies on programming language stimuli
Software Quality Control
Proceedings of the 42nd ACM technical symposium on Computer science education
Programming languages as user interfaces
Proceedings of the 3rd Mexican Workshop on Human Computer Interaction
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
International Journal of Human-Computer Studies
An Empirical Investigation into Programming Language Syntax
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
The "Natural Programming" project at Carnegie Mellon University has been working for more than 10 years to make programming more "natural", or closer to the way people think. We have addressed the needs of all kinds of programmers: novices, professionals and end-user programmers. Many studies were performed which provided new insights and led to new models of programmers. From these insights and models, we created new programming languages and environments. Evaluations of the resulting systems have shown that they are effective and successful. This paper provides an overview of the entire 10-year Natural Programming project, but focuses on our new results since WEUSE-III in Dagstuhl.