Students’ Strategies for Exception Handling
ARTICLE
Rami Rashkovits, Ilana Lavy, The Max Stern Academic College of Emek, Israel
JITE-Research Volume 10, Number 1, ISSN 1539-3585 Publisher: Informing Science Institute
Abstract
This study discusses and presents various strategies employed by novice programmers concerning exception handling. The main contributions of this paper are as follows: we provide an analysis tool to measure the level of assimilation of exception handling mechanism; we present and analyse strategies to handle exceptions; we present and analyse solutions provided by novice programmers; we classify and analyse the participants' reflections concerning their solutions. Modern programming languages, such as Java, provide the programmer an elaborated object oriented exception mechanism; enable him to handle exceptions in a more convenient way. The aim of this study was to discover the strategies novice programmers are using to handle exceptions and whether they utilise the advantage of the modern exception handling mechanism. For that matter the participants (college students) had to provide a written solution to a given problem with a special focus on exception handling. In addition each of them was interviewed. The analysis of the solutions provided was carried out according to a set of software quality criteria (clarity, modularity and extensibility) adapted to exception handling characteristics. These criteria were used to explain the advantages and disadvantages of the solutions from a software engineering perspective. The solutions provided were also analysed according to a classification of levels of assimilation concerning the structure of exceptions, based on the SOLO taxonomy. The first level of assimilation refers to solutions in which no exception mechanism was used, and the errors were handled in the old fashion way (local handling or return of an error code). The fifth and last level refers to solutions that used adequate hierarchy of exception classes allowing easy extension according to future requirements and enabling the handling of multiple exception altogether or handle each separately. In between these levels there are strategies that used exception mechanisms without the exhausting of its advantages. The results obtained reveal that only few participants (7 out of 56) provided a solution that was classified to one of the two highest assimilation levels, while many (23 out of 56) did not use exception mechanism at all. The rest of the students (25 out of 56) used the exception mechanism poorly (i.e., used only Exception class or did not use hierarchy of exceptions). The participants had difficulties in utilising the advanced exception handling mechanisms and in exhibiting a high level of abstraction with regard to the proper design of a hierarchy of exceptions. The students’ statements collected during the interviews were classified into the following categories: misconceptions concerning code quality; misconceptions concerning exception handling; difficulties in understanding the exception handling mechanism; the perceived importance of exception handling; and a lack of programming experience. During the interviews the students provided explanations concerning the reasons they were not fully utilized the exception mechanism. Among them are: lack of practice, too few demonstrated examples, focussing merely on providing a working solution without considering quality issues. Finally we recommend on some modifications to the curriculum, among them: to expose the students earlier to the exception mechanism; to throw built-in Java exception to address validation errors; and to put more attention to quality issues.
Citation
Rashkovits, R. & Lavy, I. (2011). Students’ Strategies for Exception Handling. Journal of Information Technology Education: Research, 10(1), 183-207. Informing Science Institute. Retrieved August 11, 2024 from https://www.learntechlib.org/p/111518/.
Keywords
References
View References & Citations Map- Biggs, J.B. (1996). Enhancing teaching through constructive alignment. Higher Education, 32(3), 347-364.
- Biggs, J.B., & Collis, K.F. (1982). Evaluating the quality of learning: The SOLO taxonomy (Structure of the Observed Learning Outcome). New York: Academic Press.
- Bloom, B.S. (1956). Taxonomy of educational objectives, the classification of educational goals – Handbook I: Cognitive domain. New York: McKay.
- Boehm, B.W., Brown, J.R., & Lipow, M. (1976). Quantitative evaluation of software quality. Proceedings of the International Conference on Software Engineering, pages 592-605. IEEE Computer Society Press, October. Los. Alamitos, CA
- Cabral, B., & Marques, P. (2006). Making exception handling work. Proceedings of the 2nd conference on Hot Topics in System Dependability, 9. Seattle, WA.
- Cabral, B., & Marques, P. (2007). Exception handling: A field study in Java and.NET. ECOOP 2007, LNCS 4609 – Object-Oriented Programming. Springer-Verlag, Berlin Heidenberg.
- Chick, H. (1998). Cognition in the formal modes: Research mathematics and the SOLO taxonomy. Mathematics Education Research Journal, 10(2), 4-26.
- Clancy, M. (2004). Misconceptions and attitudes that interfere with learning to program. In S. Fincher, & M. Petre (Eds.), Computer science education research (pp. 85-100). Lisse, the Netherlands: Taylor &
- Filho, F.C., Cacho, N., Figueiredo, E., Maranhao, R., Garcia, A., & Rubira, C.M.F. (2006). Exceptions and aspects: The devil is in the details. Proceedings of the 14th ACM SIGSOFT International Symposium Foundations of Software Engineering (pp. 152-162). Portland, OR, USA.
- Filho, F.C., Garcia, A., & Rubira, C.M.F. (2007). Exception handling as an aspect. Proceedings of the 2nd Workshop Best Practices in Applying Aspect-Oriented Software Development (pp. 1-6). Vancouver, BC, Canada.
- Garcia, A.F., Rubira C.M.F., Romanovsky, A., & Xu, J. (2001). A comparative study of exception handling mechanisms for building dependable object-oriented software. The Journal of Systems and Software, 59, 197-222.
- Goetz, J.P., & LeCompte, M.D. (1984). Ethnography and qualitative design in educational research. New York: Academic Press.
- Lavy, I., Rashkovits, R., & Kouris, R. (2009). Coping with abstraction in object orientation with special focus on interface class. The Journal of Computer Science Education, 19(3), 155-177.
- Madden, M., & Chambers, D. (2002). Evaluation of student attitudes to learning the Java language. Proceedings of the Inaugural Conference on the Principles and Practice of Programming (pp. 125-130).
- Mitchell, R., & McKim, J. (2002). Design by contract: By example. Redwood City, CA, USA: Addison Wesley Longman.
- Neuendorf, K.A. (2002). The content analysis guidebook. Thousand Oaks, CA: Sage Publications.
- Or-Bach, R., & Lavy, I. (2004). Cognitive activities of abstraction in object-orientation: An empirical study. The SIGCSE Bulletin, 36(2), 82-85.
- Robillard, M.P., & Murphy, G.C. (1999). Analyzing exception flow in Java program. Proceedings of the 7th European Software Engineering Conference held jointly with the 7th ACM SIGSOFT International Symposium on Foundations of Software Engineering. Lecture Notes in Computer Science (pp. 322–
- Robillard, M.P., & Murphy, G.C. (2003). Static analysis to support the evolution of exception structure in object-oriented systems. ACM Transactions on Software Engineering and Methodology, 12(2), 191– 221. ACM Press, New York, NY.
- Shah, H., Görg, C., & Harrold, M.J. (2008). Visualization of exception handling constructs to support program understanding. Proceedings of the ACM Symposium on Software Visualization (pp. 19–28). Munich, Germany.
- Siedersleben, J. (2006). Errors and exceptions – Rights and obligations. In C. Dony et al. (Eds.), Exception handling (pp. 275-287). Springer-Verlag, Berlin Heidenberg.
- Sim, E.R., & Wright G. (2001). The difficulties of learning object-oriented analysis and design: An exploratory study. Journal of Computer Information Systems, 42(4), 95–100.
- Topi, H., Valacich, J.S., Kaiser, K., Nunamaker, J.F., Sipior, J.C., de Vreede, G.J., & Wright, R.T. (2010). Curriculum guidelines for undergraduate degree programs in information systems. ACM/AIS task force. Retrieved from http://blogsandwikis.bentley.edu/iscurriculum/index.php/IS_2010_for_public_review
These references have been extracted automatically and may have some errors. Signed in users can suggest corrections to these mistakes.
Suggest Corrections to References