Abstract
Over the last six years, we have been working to create programming languages and environments that are more natural, or closer to the way people think about their tasks. Our goal is to make it possible for people to express their ideas in the same way they think about them. To achieve this, we have performed various studies about how people think about programming tasks, both when trying to create a new program and when trying to find and fix bugs in existing programs. We then use this knowledge to develop new tools for programming and debugging. Our user studies have shown the resulting systems provide significant benefits to users.
- Burnett, M., Yang, S., and Summet, J. A scalable method for deductive generalization in the spreadsheet paradigm. ACM Trans. Computer-Human Interaction 9, 4 (2002), 253--284. Google ScholarDigital Library
- Green, T.R.G. and Petre, M. Usability analysis of visual programming environments: A cognitive dimensions framework. J. Visual Languages and Computing 7, 2 (1996), 131--174.Google ScholarCross Ref
- Hoc, J.-M. and Nguyen-Xuan, A. Language semantics, mental models and analogy. J.-M. Hoc et al., Eds. Psychology of Programming. Academic Press. London, 1990, 139--156.Google ScholarCross Ref
- Johnson, J.A., Nardi, B.A., Zarmer, C.L., and Miller, J.R. Ace: Building interactive graphical applications. Commun. ACM 36, 4 (Apr. 1993). ACM, NY, 41--55. Google ScholarDigital Library
- Kehoe, C., Stasko, J., and Taylor, A. Rethinking the evaluation of algorithm animations as learning aids: An observational study. International J. Human-Computer Studies 54, 2 (2001), 265--284. Google ScholarDigital Library
- Ko, A.J. and Myers, B.A. Development and evaluation of a model of programming errors. IEEE Symposia on Human-Centric Computing Languages. (Auckland, New Zealand, 2003), 7--14; www-cs.cmu.edu/~ajko/HCC2003.pdf. Google ScholarDigital Library
- Ko, A.J. and Myers, B.A. Designing the Whyline, a debugging interface for asking why and why not questions about runtime failures. In Proceedings of 2004 Human Factors in Computing Systems (CHI04). Vienna, Austria, Apr. 2004), 151--158. Google ScholarDigital Library
- Lieberman, H. The debugging scandal and what to do about it. Commun. ACM 40, 4 (Apr. 1997). Special section, 26--78. Google ScholarDigital Library
- Pane, J. A programming system for children that is designed for usability. Ph.D. thesis, 2002. Carnegie Mellon University, Pittsburgh, PA; www.cs.cmu.edu/~pane/thesis/. Google ScholarDigital Library
- Pane, J.F. and Myers, B.A. Usability issues in the design of novice programming systems. School of Computer Science Technical Report, CMU-CS-96-132 (Aug. 1996), Carnegie Mellon University, Pittsburgh, PA; www.cs.cmu.edu/~pane/tr96/.Google Scholar
- Teitelbaum, T. and Reps, T. The Cornell Program Synthesizer: A syntax-directed programming environment. Commun. ACM 24, 9 (Sept. 1981), 563--573. Google ScholarDigital Library
- von Mayrhauser, A. and Vans, A.M. Program understanding behavior during debugging of large scale software. In Proceedings of 7th Annual Workshop for Empirical Studies of Programmers. (Alexandria, VA, 1997). Google ScholarDigital Library
Index Terms
- Natural programming languages and environments
Recommendations
Comparing novice programing environments for use in secondary education: App Inventor for Android vs. Alice
Coding is part of logical thinking and is one of the basic skills which are known as '21st-century skills'. Coding acquisition is necessary as it is used in a wide range of occupations. However, computer programing is difficult to learn and programing ...
Towards more natural functional programming languages
Programming languages are the way for a person to express a mental plan in a way that the computer can understand. Therefore, it is appropriate to consider properties of people when designing new programming languages. In our research, we are ...
Inferring Creativity in Visual Programming Environments
L@S '20: Proceedings of the Seventh ACM Conference on Learning @ ScaleThis paper explores the use of data analytics for identifying creativity in visual programming. Visual programming environments are increasingly included in the schools curriculum. Their potential for promoting creative thinking in students is an ...
Comments