Fragile knowledge and neglected strategies in novice programmers
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Analyzing the high frequency bugs in novice programs
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Toward a theory of computer program bugs: an empirical test
International Journal of Man-Machine Studies
Software—Practice & Experience
Cognitive dimensions of notations
Proceedings of the fifth conference of the British Computer Society, Human-Computer Interaction Specialist Group on People and computers V
Why can't smart students solve simple programming problems?
International Journal of Man-Machine Studies
Knowledge restructuring and the acquisition of programming expertise
International Journal of Human-Computer Studies
The cognitive walkthrough method: a practitioner's guide
Usability inspection methods
Visual programming in a visual domain: a case study of cognitive dimensions
HCI '94 Proceedings of the conference on People and computers IX
Using GOMS for user interface design and evaluation: which technique?
ACM Transactions on Computer-Human Interaction (TOCHI)
Does continuous visual feedback aid debugging in direct-manipulation programming systems?
Proceedings of the ACM SIGCHI Conference on Human factors in computing systems
Program understanding behavior during debugging of large scale software
ESP '97 Papers presented at the seventh workshop on Empirical studies of programmers
What we know about spreadsheet errors
Journal of End User Computing - End User Development
International Journal of Human-Computer Studies
Alice: lessons learned from building a 3D system for novices
Proceedings of the SIGCHI conference on Human Factors in Computing Systems
Usability Engineering
First Steps in Programming: A Rationale for Attention Investment Models
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
APL '83 Proceedings of the international conference on APL
Tabular and Textual Methods for Selecting Objects from a Group
VL '00 Proceedings of the 2000 IEEE International Symposium on Visual Languages (VL'00)
Forms/3: A first-order visual language to explore the boundaries of the spreadsheet paradigm
Journal of Functional Programming
Designing the whyline: a debugging interface for asking questions about program behavior
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Novice LISP errors: undetected losses of information from working memory
Human-Computer Interaction
Examining task engagement in sensor-based statistical models of human interruptibility
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Proceedings of the 27th international conference on Software engineering
Human factors affecting dependability in end-user programming
WEUSE I Proceedings of the first workshop on End-user software engineering
Debugging by asking questions about program output
Proceedings of the 28th international conference on Software engineering
Using architecture to change code: studying information needs
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Predicting Faults from Cached History
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
Scents in Programs: Does Information Foraging Theory Apply to Program Maintenance?
VLHCC '07 Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing
Student errors in concurrent programming assignments
Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006
Debugging assistance for novices: a video repository
Working group reports on ITiCSE on Innovation and technology in computer science education
Using information scent to model the dynamic foraging behavior of programmers in maintenance tasks
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
The next challenge: from easy-to-use to easy-to-develop. are you ready?
CHI '08 Extended Abstracts on Human Factors in Computing Systems
Proceedings of the 14th European conference on Cognitive ergonomics: invent! explore!
Predicting defects using network analysis on dependency graphs
Proceedings of the 30th international conference on Software engineering
A systematic literature review to identify and classify software requirement errors
Information and Software Technology
The state of the art in end-user software engineering
ACM Computing Surveys (CSUR)
Idea: interactive support for secure software development
ESSoS'11 Proceedings of the Third international conference on Engineering secure software and systems
An introduction to program comprehension for computer science educators
Proceedings of the 2010 ITiCSE working group reports
Micro interaction metrics for defect prediction
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Improving debugging education through applied learning
Journal of Computing Sciences in Colleges
ASIDE: IDE support for web application security
Proceedings of the 27th Annual Computer Security Applications Conference
Capturing and analyzing low-level events from the code editor
Proceedings of the 3rd ACM SIGPLAN workshop on Evaluation and usability of programming languages and tools
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Evaluating interactive support for secure programming
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Reusing debugging knowledge via trace-based bug search
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
OpenHTML: designing a transitional web editor for novices
CHI '13 Extended Abstracts on Human Factors in Computing Systems
Towards a taxonomy of errors in HTML and CSS
Proceedings of the ninth annual international ACM conference on International computing education research
How can a social debugging game effectively teach computer programming concepts?
Proceedings of the ninth annual international ACM conference on International computing education research
International Journal of Green Computing
Hi-index | 0.00 |
An essential aspect of programmers' work is the correctness of their code. This makes current HCI techniques ill-suited to analyze and design the programming systems that programmers use everyday, since these techniques focus more on problems with learnability and efficiency of use, and less on error-proneness. We propose a framework and methodology that focuses specifically on errors by supporting the description and identification of the causes of software errors in terms of chains of cognitive breakdowns. The framework is based on both old and new studies of programming, as well as general research on the mechanisms of human error. Our experiences using the framework and methodology to study the Alice programming system have directly inspired the design of several new programming tools and interfaces. This includes the Whyline debugging interface, which we have shown to reduce debugging time by a factor of 8 and help programmers get 40% further through their tasks. We discuss the framework's and methodology's implications for programming system design, software engineering, and the psychology of programming.