The LISP tutor: it approaches the effectiveness of a human tutor
BYTE - Lecture notes in computer science Vol. 174
Essential LISP
Comprehension differences in debugging by skilled and novice programmers
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
A model of novice debugging in LISP
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
LISP
ICCS '01 Proceedings of the 9th International Conference on Conceptual Structures: Broadening the Base
Debugging strategies and tactics in a multi-representation software environment
International Journal of Human-Computer Studies
Males' and Females' Script Debugging Strategies
IS-EUD '09 Proceedings of the 2nd International Symposium on End-User Development
Conversations in developer communities: a preliminary analysis of the yahoo! pipes community
Proceedings of the fourth international conference on Communities and technologies
Pair debugging: a transactive discourse analysis
Proceedings of the Sixth international workshop on Computing education research
Behind the curtain: students' use of VIP after class
Proceedings of the Sixth international workshop on Computing education research
Non-programmers identifying functionality in unfamiliar code: strategies and barriers
Journal of Visual Languages and Computing
Improving debugging education through applied learning
Journal of Computing Sciences in Colleges
Observing SQL queries in their natural habitat
ACM Transactions on Database Systems (TODS)
Hi-index | 0.00 |
This article presents a series of four experiments investigating students' debugging of LISP programs. The experiments involve a population of students who know LISP reasonably well in that their errors are best classified as slips (Brown & Van Lehn, 1980). That is, students are unlikely to repeat the same errors either within their program or across programs (Experiment 1). The students' understanding of LISP is also reflected in their debugging behavior: They can usually fix a bug once they locate it. Students' difficulties are in locating the erroneous line of code. We observe that students use a variety of bug-location strategies during debugging (Experiment 2) and that the choice of strategy differs depending on whether students are debugging their own programs or other students' programs (Experiment 3). In addition, we observe that although the different bug-location strategies affect which lines of a program are searched, once students decide on a line, their ability to judge whether or not the line is correct and their ability to correct an error are not substantially affected by the strategy used to locate the line (Experiment 4). Finally, we argue that our results have implications not only for debugging in other computer languages, but for the general processes involved in troubleshooting as well.