ABSTRACT
The process by which students learn to program is a major issue in computer science educational research. Programming is a fundamental part of the computer science curriculum, but one which is often problematic. It seems to be difficult to find an effective method of teaching that is suitable for all students. In this research we tried to gain insights into ways of improving our teaching by a careful examination of students' mistakes. The compiler errors that were generated by their programs together with the pattern that was observed in their debugging activities formed the basis of this research. We discovered that many students with a good understanding of programming do not acquire the skills to debug programs effectively, and this is a major impediment to their producing working code of any complexity. Skill at debugging seems to increase a programmer's confidence and we suggest that more emphasis be placed on debugging skills in the teaching of programming.
- Cook, C., Burnett M., and Boom D. A bug's eye view of immediate visual feedback in direct-manipulation programming systems. Papers presented at the seventh workshop on Empirical studies of programmers. Alexandria, Virginia, United States: ACM Press New York, NY, USA, 1997. 20--41. Google ScholarDigital Library
- Coull, N., Duncan I., Archibald J., and Lund G. Helping Novice Programmers Interpret Compiler Error Messages. 4th Annual LTSN-ICS Conference. National University of Ireland, Galway. (August, 2003). 26--28.Google Scholar
- Cunniff, N., Taylor R. P., and Black J. B. Does programming language affect the type of conceptual bugs in beginners' programs? A comparison of FPL and Pascal. Proceedings of the SIGCHI conference on Human factors in computing systems table of contents, 1986. 175--182. Google ScholarDigital Library
- Du-Boulay, B. Some Difficulties of Learning To Program. In: (Ed.). Studying the Novice Programmer, 1989. 283--299.Google Scholar
- Ducasse, M., and Emde A. M. A review of automated debugging systems: knowledge, strategies and techniques. Proceedings of the 10th international conference on Software engineering, 1988. 162--171. Google ScholarDigital Library
- Gould, J. D. Some psychological evidence on how people debug computer programs. International Journal of Man-Machine Studies, 7, 1, (January 1975). 151--182.Google ScholarCross Ref
- Green, T., and Petre M. Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework. Journal of Visual Languages and Computing, 7, 2, (June 1996). 131--174.Google ScholarCross Ref
- Gugerty, L., and Olson G. Debugging by skilled and novice programmers. ACM SIGCHI Bulletin, Proceedings of the SIGCHI conference on Human factors in computing systems. (April, 1986). Google ScholarDigital Library
- Gugerty, L., and Olson G. M. Comprehension differences in debugging by skilled and novice programmers. Papers presented at the 1st workshop on empirical studies of programmers. Washington, D.C., US. (June 1986). 13--27. Google ScholarDigital Library
- Higgins, C., Symeonidis P., and Tsintsifas A. The Marking System for CourseMaster.Proceedings of the 7th annual conference ITiCSE. Aarhus, Denmark: ACM Press New York, NY, USA, 2002. 46--50. Google ScholarDigital Library
- Hristova, M., Misra A., Rutter M., and Mercuri R. Identifying and correcting Java programming errors for introductory computer science students. Proceedings of the 34th SIGCSE technical symposium on Computer science education. Reno, Navada, USA: ACM Press New York, NY, USA, 2003. 153--156. Google ScholarDigital Library
- Ishio, T., Kusumoto S., and Inoue K. Program slicing tool for effective software evolution using aspect-oriented technique. Proceedings of the Sixth International Workshop on Principles of Software Evolution, 2003. 3--12. Google ScholarDigital Library
- Jcreator. Java IDE. http://www.jcreator.com/. 2003Google Scholar
- Jikes. IBM- developerworks - open source software.(http://oss.software.ibm.com/developerworks/opensource/jikes/index.shtml). Last Accessed on October,2003Google Scholar
- Johnson, L., Soloway E., Cutler B., and Draper S. Bug Catalogue: I, Technical Report No. 286. Yale University, Department of Computer Science. New Haven. 1983Google Scholar
- Pea, R. D. Language-independent conceptual bugs in novice programming. Journal of Educational Computing Research, 2, 1, 1986. 25--36.Google ScholarCross Ref
- Robertson, T. J., Prabhakararao S., Burnett M., Cook C., Ruthruff J. R., Beckwith L., and Phalgune A. Impact of interruption style on end-user debugging. Proceedings of the 2004 conference on Human factors in computing systems. Vienna, Austria: ACM Press New York, NY, USA, 2004. 287--294. Google ScholarDigital Library
- Romero, P., Lutz R., Cox R., and Du Boulay B. Co-ordination of multiple external representations during Java program debugging. Proceedings of IEEE Symposia on Human Centric Computing Languages and Environments. (september, 2002). 207--214. Google ScholarDigital Library
- Spohrer, J., Soloway E., and Pope E. A Goal/Plan analysis of Buggy Pascal Programs. Human Computer Interaction, 1, 1985. 163--207.Google Scholar
- Spohrer, J. C., and Soloway E. Analyzing the high frequency bugs in novice programs. Empirical Studies of Programmers: First workshop: Ablex Publishing Corp, 1986. Google ScholarDigital Library
- Spohrer, J. C., and Soloway E. Novice Mistakes: Are The Folk Wisdom Correct? Communications of the ACM, 29, 7, (july, 1986). 624--632. Google ScholarDigital Library
- Spohrer, J. C., Soloway E., and Pope E. Where the bugs are. Proceedings of the SIGCHI conference on Human factors in computing systems, (April, 1985). 47--53. Google ScholarDigital Library
- Truong, N., Roe P., and Bancroft P. Static analysis of students' Java programs. Proceedings of the sixth conference on Australian computing education, 30, (January, 2004). 317--325. Google ScholarDigital Library
- Tubaishat, A. A knowledge base for program debugging. International Conference on Computer Systems and Applications, ACS/IEEE. Beirut. (June, 2001). 321--327. Google ScholarDigital Library
- Uchida, S., Monden A., Iida H., Matsumoto K., and Kudo H. A multiple-view analysis model of debugging processes. Proceedingsof the International Symposium on Empirical Software Engineering. (Oct, 2002). 139--147. Google ScholarDigital Library
Index Terms
- An analysis of patterns of debugging among novice computer science students
Recommendations
An analysis of patterns of debugging among novice computer science students
The process by which students learn to program is a major issue in computer science educational research. Programming is a fundamental part of the computer science curriculum, but one which is often problematic. It seems to be difficult to find an ...
The Association of High School Computer Science Content and Pedagogy with Students’ Success in College Computer Science
The number of computer science (CS) courses has been dramatically expanding in U.S. high schools (HS). In comparison with well-established courses in mathematics and science, little is known about how the decisions made by HS CS teachers regarding how ...
A Pilot Computer Science and Programming Course for Primary School Students
WiPSCE '15: Proceedings of the Workshop in Primary and Secondary Computing EducationComputer Science and programming are being introduced to school curricula in many western countries in an effort to equip students with Computational Thinking skills. However, as these subjects are still relatively new to pre-tertiary education there is ...
Comments