Lowering the Barriers to Successful Programming
Lowering the Barriers to Successful Programming
批准号:
0329090
负责人:
Brad Myers
金额:
$120.0万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2003
资助国家:
美国
项目状态:
已结题
起止时间:
2003-08-15 至 2007-07-31
中文摘要
点击翻译按钮获取中文摘要
英文摘要
Although computer programming has existed in its modern form for half a century, it remains accessible only to a small fraction of the population. While programming is an inherently difficult activity, there are currently many barriers that prevent large portions of the population from learning to program a computer. Some of these barriers can be overcome through new facilities in programming environments. Current advanced programming environments provide a number of tools to help programmers construct programs: direct manipulation facilities to set up user interface widgets, code editors with coloring and indenting, and various pop-up menus that help construct code. However, there is little support to help users write the code that handles the dynamic responses to events and high-level behaviors. Furthermore, the tools for debugging code when something goes wrong are not much different than what has been available for 60 years: print statements, break-points and inspecting the values of variables. This is in spite of the fact that research shows that debugging and specifying the dynamic behavior of code are some of the most difficult aspects of programming.In this project, Alice, a programming environment that makes it very easy to program interactive 3D graphics, will be augmented to provide significantly better tools to help both novice and expert programmers develop and debug their programs. A number of novel ideas that have not yet appeared in any system will be implemented, along with the best ideas from prior systems and research (which have never been combined into one system). Thorough formative and summative user testing of the ideas will provide an understanding of which of the features are most useful; this will guide further refinement of Alice so it does the best possible job of guiding programmers to create correctly working solutions.In addition to addressing the mechanical issues of programming, Alice provides an opportunity to address the fact that relatively few women learn to program, which can be called a sociological barrier. Many girls turn away from science and technology during their middle school years, usually never to return. Middle school girls represent a particularly difficult challenge, requiring a highly motivating system with tremendous mechanical support. The PIs' approach to lowering the social barriers is to provide programming as a means to other motivating ends, especially storytelling.The intellectual merit of the proposed research will be to discover new techniques to aide in the construction and debugging of programs, and to measure and validate the impact and effectiveness of these techniques with both novice and expert programmers. The techniques envisioned to help with code creation include: graphical and textual editors for storyboards that will help transition story ideas into code; demonstrational and direct manipulation techniques for specifying dynamic behaviors; check-pointing and undo facilities so programmers can more easily explore multiple solutions and backtrack to a known state when necessary; smart copy-and-paste that will help in transforming and reusing code; support for collaboration and sharing of code; tools that will suggest likely causes and fixes for run-time errors; and embedded special-purpose editors to help construct Boolean expressions and scientific formulas. Techniques to support understanding, testing and debugging include: providing easy inspection of data so programmers can tell what is happening; pausing or break-pointing on any program event including objects that are being changed, created, or deleted; changing values at run time to explore the effects; providing a time-line visualization to show important events and enabling programs to run forwards and backwards from any point; support for asking "why" questions that will tie graphics and program events to the code that caused them; support for asking "why not" questions, which will use heuristics to propose reasons why some event did not happen; and search capabilities so programmers can find variables with particular values, or objects with certain properties.Broader Impacts: The broader impacts resulting from this research will be to help make programming more accessible to novice programmers, and more effective for both novice and expert programmers. One important target group will be middle school boys and girls who are not necessarily motivated to learn programming. The PIs believe they can make programming accessible and compelling to this audience, while at the same time making it easier for experienced programmers. These benefits will be evaluated using thorough user tests at all points of the design and implementation.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
SHF: Small: Personalizing API Documentation
-
批准号:2007482
-
项目类别:Standard Grant
-
资助金额:$50.0万
-
财政年份:2020
-
负责人:Brad Myers
-
依托单位:
III: Large: Collaborative Research: Analysis Engineering for Robust End-to-End Data Science
-
批准号:1856641
-
项目类别:Continuing Grant
-
资助金额:$71.25万
-
财政年份:2019
-
负责人:Brad Myers
-
依托单位:
CHS: Small: Multimodal Conversational Assistant that Learns from Demonstrations
-
批准号:1814472
-
项目类别:Standard Grant
-
资助金额:$49.9万
-
财政年份:2018
-
负责人:Brad Myers
-
依托单位:
TWC: Small: Empirical Evaluation of the Usability and Security Implications of Application Programming Interface Design
-
批准号:1423054
-
项目类别:Standard Grant
-
资助金额:$49.91万
-
财政年份:2014
-
负责人:Brad Myers
-
依托单位:
HCC: Large: Collaborative Research: Variations to Support Exploratory Programming
-
批准号:1314356
-
项目类别:Standard Grant
-
资助金额:$92.95万
-
财政年份:2013
-
负责人:Brad Myers
-
依托单位:
HCC: Small: Better Tools for Authoring Interactive Behaviors
-
批准号:1116724
-
项目类别:Standard Grant
-
资助金额:$49.52万
-
财政年份:2011
-
负责人:Brad Myers
-
依托单位:
Pilot: Exploratory Programming for Interactive Behaviors: Unleashing Interaction Designers' Creativity
-
批准号:0757511
-
项目类别:Standard Grant
-
资助金额:$0.0万
-
财政年份:2008
-
负责人:Brad Myers
-
依托单位:
CPA-SEL: Better Tools for Software Understanding
-
批准号:0811610
-
项目类别:Standard Grant
-
资助金额:$30.0万
-
财政年份:2008
-
负责人:Brad Myers
-
依托单位:
Automatically Generating Consistent User Interfaces for Multiple Appliances
-
批准号:0534349
-
项目类别:Continuing Grant
-
资助金额:$41.2万
-
财政年份:2005
-
负责人:Brad Myers
-
依托单位:
Using Handhelds to Help People with Motor Impairments
-
批准号:0308065
-
项目类别:Continuing Grant
-
资助金额:$47.52万
-
财政年份:2003
-
负责人:Brad Myers
-
依托单位:
ITR: Collaborative Research: Dependable End-User Software
-
批准号:0324770
-
项目类别:Continuing Grant
-
资助金额:$32.4万
-
财政年份:2003
-
负责人:Brad Myers
-
依托单位:
Making it Easier to Interact with Technology Through Handheld Personal Universal Controllers
-
批准号:0117658
-
项目类别:Standard Grant
-
资助金额:$50.59万
-
财政年份:2001
-
负责人:Brad Myers
-
依托单位:
A More Natural Programming Language for Children
-
批准号:9900452
-
项目类别:Continuing Grant
-
资助金额:$40.0万
-
财政年份:1999
-
负责人:Brad Myers
-
依托单位:
DLI-Phase 2: An Intelligent Authoring Tool for Non-Programmers Using the Informedia Video Library
-
批准号:9817527
-
项目类别:Continuing Grant
-
资助金额:$45.0万
-
财政年份:1999
-
负责人:Brad Myers
-
依托单位:
Demonstrational Interfaces for Visualization and End-User Programming
-
批准号:9319969
-
项目类别:Continuing Grant
-
资助金额:$24.0万
-
财政年份:1994
-
负责人:Brad Myers
-
依托单位:
Using Demonstration in User Interfaces
-
批准号:9020089
-
项目类别:Standard Grant
-
资助金额:$26.91万
-
财政年份:1991
-
负责人:Brad Myers
-
依托单位:
海外基金