Abstract
Teaching Object Oriented Programming (OOP) is a difficult task, both for teachers who have to find the best way to illustrate the concepts and for students who have to understand them. Although the OOP paradigm and its concepts reflect the "real world", it has been shown that students find hard to understand and internalize the OOP concepts such as encapsulation, inheritance and polymorphism. This paper describes difficulties in understanding OOP in an Advanced Java course given at the Computer Science Department of the Open University of Israel. We present a typical question which focuses on several aspects of OOP. We discuss the students’ answers and point out typical hardships in grasping the topic.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The Open University of Israel website, http://www.openu.ac.il
Benaya, T., Zur, E.: Website Usage in a Computer Science Course Given in a Distance Learning Environment. European Journal of Open, Distance and E-Learning (2007/I)
Joint IEEE Computing Society/ACM Task Force on Computing Curricula. Computing Curricula 2001 Final Report (2001), http://www.acm.org/education/curric_vols/cc2001.pdf
Deitel, H.M., Deitel, P.J.: Java How to Program for Program, 6th edn. Pearson Education, London (2005)
Teif, M., Hazzan, O.: Partonomy and Taxonomy in Object-Oriented Thinking: Junior High School Students’ Perception of Object Oriented Basic Concepts. ACM SIGCSE Bulletin 38(4), 55–60 (2006)
Holland, S., Griffiths, R., Woodman, M.: Avoiding Object Misconceptions. In: Proceedings of the 28th SIGCSE, pp. 131–134 (1997)
Ragonis, N., Ben-Ari, M.: A Long-Term Investigation of the Comprehension of OOP Concepts by Novices. Computer Science Education 5(3), 203–221 (2005)
Fleury, A.E.: Encapsulation and Reuse as Viewed by Java Students. ACM SIGCSE Bulletin 33(1), 189–193 (2001)
Ragonis, N., Ben-Ari, M.: On Understanding the Statics and Dynamics of Object-Oriented Programs. In: ACM SIGCSE, pp. 226–230 (2005)
Georgantaki, R., Psaromiligkos, Y., Retalis, S., Dendrinos, V., Adamopoulos, D.: Developing a Blended Learning Strategy for Teaching Object-Oriented Programming Using the ’Model First’ Approach. In: Proceedings of Informatics Education Europe II – IEEII, pp. 87–96 (2007)
Milne, J., Rowe, G.: Difficulties in Learning and Teaching Programming – Views of Students and Tutors. Education and Information Technologies 7(1), 55–66 (2002)
Murray, K.A., Heines, J.M., Kolling, M., Moore, T., Wagner, P.j., Schaller, N.C., Trono, J.A.: Experiences with IDEs and Java Teaching: What Works and What Doesn’t. ACM SIGCSE Bulletin 35(3), 215–216 (2003)
Lahtinen, E.: Integrating the Use of Visualizations to Teaching Programming. Methods, Materials and Tools for Programming Education, pp. 7–13 (2006), http://www.mmt2006.net
Roberts, E.: An Overview of MiniJava. ACM SIGCSE Bulletin 33(1), 1–5 (2001)
Bergin, J., Bruce, K., Kolling, M.: Objects-Early Tools – A Demonstration. ACM SIGCSE Bulletin 37(1), 390–391 (2005)
Ben-Ari, M., Myller, N., Sutinen, E., Tarhio, J.: Perspectives on Program Animation with Jeliot. In: Proceeding of the Software Visualization International Seminar, Germany, pp. 31–45 (2002)
Goldman, K.J.: A Concepts-first Introduction to Computer Science. In: Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, Virginia, pp. 432–436 (2004)
Hendrix, T.D., Cross, J.H., Barowski, L.A.: An Extensible Framework for Providing Dynamic Data Structure Visualizations in a Lightweight IDE. In: Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education, Virginia, pp. 387–391 (2004)
Myller, N., Bednarik, R.: Methodologies for Studies of Program Visualization. Methods, Materials and Tools for Programming Education, pp. 37–42 (2006), http://www.mmt2006.net
Lahtinen, E., Jarvinen, H.M., Melakoski-Vistbacka, S.: Targeting Program Visualizations. In: Proceedings of the 12th ITiCSE, pp. 256–260 (2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Benaya, T., Zur, E. (2008). Understanding Object Oriented Programming Concepts in an Advanced Programming Course. In: Mittermeir, R.T., Sysło, M.M. (eds) Informatics Education - Supporting Computational Thinking. ISSEP 2008. Lecture Notes in Computer Science, vol 5090. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69924-8_15
Download citation
DOI: https://doi.org/10.1007/978-3-540-69924-8_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69923-1
Online ISBN: 978-3-540-69924-8
eBook Packages: Computer ScienceComputer Science (R0)