Skip to main content

Understanding Object Oriented Programming Concepts in an Advanced Programming Course

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5090))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. The Open University of Israel website, http://www.openu.ac.il

  2. 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)

    Google Scholar 

  3. 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

  4. Deitel, H.M., Deitel, P.J.: Java How to Program for Program, 6th edn. Pearson Education, London (2005)

    Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. Holland, S., Griffiths, R., Woodman, M.: Avoiding Object Misconceptions. In: Proceedings of the 28th SIGCSE, pp. 131–134 (1997)

    Google Scholar 

  7. 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)

    Article  Google Scholar 

  8. Fleury, A.E.: Encapsulation and Reuse as Viewed by Java Students. ACM SIGCSE Bulletin 33(1), 189–193 (2001)

    Article  MathSciNet  Google Scholar 

  9. Ragonis, N., Ben-Ari, M.: On Understanding the Statics and Dynamics of Object-Oriented Programs. In: ACM SIGCSE, pp. 226–230 (2005)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. Milne, J., Rowe, G.: Difficulties in Learning and Teaching Programming – Views of Students and Tutors. Education and Information Technologies 7(1), 55–66 (2002)

    Article  Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. 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

  14. Roberts, E.: An Overview of MiniJava. ACM SIGCSE Bulletin 33(1), 1–5 (2001)

    Article  Google Scholar 

  15. Bergin, J., Bruce, K., Kolling, M.: Objects-Early Tools – A Demonstration. ACM SIGCSE Bulletin 37(1), 390–391 (2005)

    Article  Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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

  20. Lahtinen, E., Jarvinen, H.M., Melakoski-Vistbacka, S.: Targeting Program Visualizations. In: Proceedings of the 12th ITiCSE, pp. 256–260 (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Roland T. Mittermeir Maciej M. Sysło

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics