Students' Understanding of Selected Aspects of Interface Class in Java

Full Text (PDF, 196KB), PP.1-15

Views: 0 Downloads: 0

Author(s)

Ilana Lavy 1,* Rashkovits Rami 1

1. Department of Management Information Systems, the Max Stern Yezreel Valley College (YVC), Israel

* Corresponding author.

DOI: https://doi.org/10.5815/ijmecs.2013.07.01

Received: 12 Apr. 2013 / Revised: 10 May 2013 / Accepted: 2 Jun. 2013 / Published: 8 Jul. 2013

Index Terms

Computer science education, software engineering, learning ability, advanced programming courses.

Abstract

This study examines the understanding of various aspects relating to the concept of interface class by Management Information Systems students. The examined aspects were: definition, implementation, class hierarchy and polymorphism. The main contributions of this paper are as follows: we developed a questionnaire addressing the above aspects; we classified and analysed the students' responses to determine the students' understanding of the above aspects and to highlight common faulty solutions. The results obtained reveal that majority of the students demonstrated understanding of definition and implementation of interface class, however, only two- thirds of the students demonstrated understanding of interface class in the context of class hierarchy and only one third of them demonstrated understanding of polymorphism in the context of interface class. The students’ utterances from the interviews shed light on their difficulties.

Cite This Paper

Ilana Lavy, Rami Rashkovits, "Students' Understanding of Selected Aspects of Interface Class in Java", International Journal of Modern Education and Computer Science (IJMECS), vol.5, no.7, pp.1-15, 2013. DOI:10.5815/ijmecs.2013.07.01

Reference

[1]Hu, C. (2006). When to use an interface? SIGCSE Bulletin, 38(2), 86–90.
[2]Eckerdal, A. & Thune, M. (2005) Novice Java Programmers’ Conceptions of “Object” and “Class”, and Variation Theory. In Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education (ITiCSE '05). pp 89-93.
[3]Sanders, K., Boustedt, J., Eckerdal, A., McCartney, R., Moström J.E., Thomas, L. and Zander, C. (2008) Student understanding of object-oriented programming as expressed in concept maps. In Proceedings of the 39th SIGCSE technical symposium on Computer science education (SIGCSE '08), pp 332-336.
[4]Eckerdal, A. (2009) Novice Programming Students' Learning of Concepts and Practise. PhD thesis, Uppsala University, Sweden.
[5]Benaya, T. & Zur, E. (2008). Understanding object oriented programming concepts in an advanced programming course. In R.T. Mittermeir and M.M. SysÅ‚o (Eds.), ISSEP 2008, LNCS 5090 (pp. 161–170). Berlin/Heidelberg: Springer-Verlag.
[6]Liberman, N., Beeri, C. & Ben-David Kolikant, Y. (2011). Difficulties in learning inheritance and polymorphism. ACM Transactions on Computing Education (TOCE), 11(1), pp. 1–23.
[7]Or-Bach, R. & Lavy, I. (2004). Cognitive activities of abstraction in object-orientation: An empirical study. The SIGCSE bulletin, 36(2), 82–85.
[8]Bloom, B. S. (ed.) (1956). Taxonomy of Educational Objectives, the classification of educational goals – Handbook I: Cognitive Domain. New York: McKay.
[9]Biggs, J.B. and Collis, K.F. (1982). Evaluating the quality of learning: The SOLO taxonomy (Structure of the Observed Learning Outcome). New York: Academic Press.
[10]Lavy, I., Rashkovits, R., & Kouris, R. (2009). Coping with abstraction in object orientation with special focus on interface. The Journal of Computer Science Education, 19(3), 155–177.
[11]Lewis, J., Loftus, W., Struble, C., & Cocking, C. (2003). Java software solutions. Boston: Addison-Wesley Longman.
[12]Hu, C. (2011). When to inherit a type: What we do know and what we might not. ACM Inroads, 2(2), 52–58.
[13]Schmolitzky, A. (2006). Teaching inheritance concepts in Java. In Proceedings of the 4th International Symposium on Principles and Practice of Programming in Java (PPPJ’06) (pp. 203–207).
[14]Topi, H., Valacich, J.S., Wright, R.T., Kaiser, K., Nunamaker, J.F., Sipior, J.C., & De Vreeda, G.J. (2010). IS 2010: Curriculum guidelines for undergraduate degree programs in Information Systems. Communications of AIS, 26, 359–428.
[15]Schmolitzky, A. (2004). Objects first, interfaces next or interfaces before inheritance. Conference on Object Oriented Programming Systems Languages and Applications: 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications (pp. 64–67).
[16]Cornelius, B. (2000). Teaching a course on understanding Java. Proceedings of the 4th Java in the Computing Curriculum Conference (JICC 4).
[17]Détienne, F. (2001). Software design – Cognitive aspects. F. Bott (Ed.), Berlin: Springer.
[18]Hadjerrouit, S. (1998). A constructivist framework for integrating the Java paradigm into the undergraduate curriculum. SIGCSE Bull, 30(2), 43–47.
[19]Wiedenbeck, S., Ramalingam, V., Sarasamma, S., & Corritore, C.L. (1999). A comparison of the comprehension of object-oriented and procedural programs by novice programmers. Interacting with Computers, 11(3), 255–282.
[20]Goetz, J. P. & LeCompte, M. D. (1984). Ethnography and qualitative design in educational research. New York: Academic Press.
[21]Neuendorf, K. (2002). The Content Analysis Guidebook, Thousand Oaks, CA: Sage Publications.
[22]Loftus, C., Thomas, L., & Zander, C. (2011). Can graduating students design: Elaborated. In Proceedings of the 42th SIGCSE Technical Symposium on Computer Science Education, Dallas, TX (pp 105-110).
[23]Sim, E.R., and Wright, G. (2001). The difficulties of learning object-oriented analysis and design: An exploratory study. Journal of Computer Information Systems, 42(4), 95–100.
[24]Harden, R.M. & Stamper, N. (1999). What is a spiral curriculum? Medical Teacher, 21, 2. 141-143.