Comprehension strategies in programming
Empirical studies of programmers: second workshop
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Program understanding behavior during debugging of large scale software
ESP '97 Papers presented at the seventh workshop on Empirical studies of programmers
Cognitive strategies and looping constructs: an empirical study
Communications of the ACM
Alice: a 3-D tool for introductory programming concepts
CCSC '00 Proceedings of the fifth annual CCSC northeastern conference on The journal of computing in small colleges
Teaching the Nintendo generation to program
Communications of the ACM - Supporting community and building social capital
Spoken dialogue technology: enabling the conversational user interface
ACM Computing Surveys (CSUR)
Uncovering principles of novice programming
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Seven Deadly Sins of Introductory Programming Language Design
SEEP '96 Proceedings of the 1996 International Conference on Software Engineering: Education and Practice (SE:EP '96)
Using events to debug Java programs backwards in time
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
LISTEN: A Tool to Investigate the Use of Sound for the Analysis of Program Behavior
COMPSAC '95 Proceedings of the 19th International Computer Software and Applications Conference
Natural programming languages and environments
Communications of the ACM - End-user development: tools that empower users to create their own software solutions
Audio enriched links: web page previews for blind users
Assets '04 Proceedings of the 6th international ACM SIGACCESS conference on Computers and accessibility
Evaluation of a non-visual molecule browser
Assets '04 Proceedings of the 6th international ACM SIGACCESS conference on Computers and accessibility
Nonvisual tool for navigating hierarchical structures
Assets '04 Proceedings of the 6th international ACM SIGACCESS conference on Computers and accessibility
Spoken Language Support for Software Development
VLHCC '04 Proceedings of the 2004 IEEE Symposium on Visual Languages - Human Centric Computing
ADA---the project: the DoD high order language working group
History of programming languages---II
History of programming languages---II
The development of the C programming language
History of programming languages---II
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
ACM Computing Surveys (CSUR)
Personalizing and discussing algorithms within CS1 studio experiences: an observational study
Proceedings of the first international workshop on Computing education research
Evaluating assessments of novice programming environments
Proceedings of the first international workshop on Computing education research
Mappings and metaphors in auditory displays: An experimental assessment
ACM Transactions on Applied Perception (TAP)
Musical program auralization: Empirical studies
ACM Transactions on Applied Perception (TAP)
Adding procedures and pointers to the ALVIS algorithm visualization software: a preliminary design
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Concept visualization in CS0 using ALICE
Journal of Computing Sciences in Colleges
The Factory Pattern in API Design: A Usability Evaluation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
WAD: A Feasibility study using the Wicked Audio Debugger
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
The Programmer's Lexicon, Volume I: The Verbs
SCAM '07 Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation
Proceedings of the 39th SIGCSE technical symposium on Computer science education
More natural end-user software engineering
Proceedings of the 4th international workshop on End-user software engineering
Using Alice 2.0 as a first language
Journal of Computing Sciences in Colleges
Auditory icons: using sound in computer interfaces
Human-Computer Interaction
ACM Transactions on Computer-Human Interaction (TOCHI)
Proceedings of the 42nd ACM technical symposium on Computer science education
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
An Empirical Investigation into Programming Language Syntax
ACM Transactions on Computing Education (TOCE)
Hi-index | 0.00 |
Comprehending and debugging computer programs are inherently difficult tasks. The current approach to building program execution and debugging environments is to use exclusively visual stimuli on programming languages whose syntax and semantics has often been designed without empirical guidance. We present an alternative: Sodbeans, an open-source integrated development environment designed to output carefully chosen spoken auditory cues to supplement empirically evaluated visual stimuli. Originally designed for the blind, earlier work suggested that Sodbeans may benefit sighted programmers as well. We evaluate Sodbeans in two experiments. First, we report on a formal debugging experiment comparing (1) a visual debugger, (2) an auditory debugger, and (3) a multimedia debugger, which includes both visual and auditory stimuli. The results from this study indicate that while auditory debuggers on their own are significantly less effective for sighted users when compared with visual and multimedia debuggers, multimedia debuggers might benefit sighted programmers under certain circumstances. Specifically, we found that while multimedia debuggers do not provide instant usability, once programmers have some practice, their performance in answering comprehension questions improves. Second, we created and evaluated a pilot survey analyzing individual elements in a custom programming language (called HOP) to garner empirical metrics on their comprehensibility. Results showed that some of the most widely used syntax and semantics choices in commercial programming languages are extraordinarily unintuitive for novices. For example, at an aggregate level, the word for , as in a for loop, was rated reliably worse than repeat by more than 673% by novices. After completing our studies, we implemented the HOP programming language and integrated it into Sodbeans.