skip to main content
research-article

Object-Oriented Design and Programming: An Investigation of Novices’ Conceptions on Objects and Classes

Published:28 July 2015Publication History
Skip Abstract Section

Abstract

The Object-Oriented Programming (OOP) technique is nowadays the most popular programming technique among tertiary education institutions. However, learning OOP is a cognitively demanding task for undergraduate students. Several difficulties and misconceptions have been recorded in the literature for both OOP concepts and languages, mainly Java. This article focuses on reviewing and advancing research on the most fundamental OOP concepts, namely, the concepts of “object” and “class” and their role during program execution. The results of a long-term investigation on the subject are presented, focusing on a study exploring undergraduate students’ conceptions on “objects” and “classes.” The study advances related research on categories of conceptions on “objects” and “classes” by providing quantitative results, in addition to qualitative results, regarding the frequency of the recorded conceptions. Nearly half the students seem to comprehend the modeling and static/dynamic aspects of the concepts “object” and “class.” Implications for achieving a deep conceptual understanding of text, action, and modeling aspects of these fundamental concepts are also discussed. Information regarding the programming environments utilized in the course and key features of the applied teaching approach are presented, in order to facilitate both a better understanding of the context and a better employment of the results of the presented study. Finally, proposals for enhancing the contribution of this and similar studies are made.

References

  1. Deborah J. Armstrong. 2006. The quarks of object-oriented development. Commun. ACM 49, 2 (February 2006), 123--128. DOI:http://doi.acm.org/10.1145/1113034.1113040 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. David Barnes and Michael Kölling. 2004. Objects First with Java: A Practical Introduction Using BlueJ. Prentice Hall, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Jens Bennedsen and Michael E. Caspersen. 2004. Programming in context—a model-first approach to CS1. In Proceedings of the 35th SIGCSE Technical Symposium on Computer Science Education (SIGCSE’04). ACM, New York, NY, 477--481. DOI:http://doi.acm.org/10.1145/971300.971461 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Charles C. Bonwell and James A. Eison. 1991. Active Learning: Creating Excitement in the Classroom (ASHE-ERIC Higher Education Report No. 1). Washington, DC: George Washington University.Google ScholarGoogle Scholar
  5. Joshep Bergin, Mark Stehlik, Jim Roberts, and Richard Pattis. 1997. Karel++—A Gentle Introduction to the Art of Object-Oriented Programming (2nd ed.). John Wiley and Sons. New York, 1997.Google ScholarGoogle Scholar
  6. Peter Brusilovsky, Eduardo Calabrese, Jozef Hvorecky, Anatoly Kouchnirenko, and Philip Miller. 1997. Mini-languages: A way to learn programming principles. Int. J. Educ. Inf. Technol. 2, 65--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Janet Carter and Aliy Fowler. 1998. Object oriented students? SIGCSE Bull. 30, 3 (August 1998), 271. DOI:http://doi.acm.org/10.1145/290320.283574 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Carl Chang, Peter J. Denning, James H. Cross, Gerald Engel, Eric Roberts, Russell Shackelford, et al. 2001. Computing curricula 2001. ACM J. Educ. Res. Comput. 1, 3, Article 1, 240 pp.Google ScholarGoogle Scholar
  9. Anna Eckerdal and Michael Thuné. 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). ACM, New York, NY, 89--93. DOI:http://doi.acm.org/10.1145/1067445.1067473Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Anna Eckerdal, Mikko-Jussi Laakso, Mike Lopez, and Amitrajit Sarkar. 2011. Relationship between text and action conceptions of programming: a phenomenographic and quantitative perspective. In Proceedings of the 16th Annual Joint Conference on Innovation and Technology in Computer Science Education (ITiCSE’11). ACM, New York, NY, 33--37. DOI:http://doi.acm.org/10.1145/1999747.1999760 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Sandy Garner, Patricia Haden, and Anthony Robins. 2005. My program is correct but it doesn't run: A preliminary investigation of novice programmers’ problems. In Proceedings of the 7th Australasian Conference on Computing Education - Volume 42 (ACE’05), Alison Young and Denise Tolhurst, Eds., Vol. 42. Australian Computer Society, Darlinghurst, Australia, 173--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Simon Holland, Robert Griffiths, and Mark Woodman. 1997. Avoiding object misconceptions. SIGCSE Bull. 29, 1 (March 1997), 131--134. DOI:http://doi.acm.org/10.1145/268085.268132 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Michael Kölling and John Rosenberg. 2001. Guidelines for teaching object orientation with Java. In Proceedings of the 6th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE’01). ACM, New York, NY, 33--36. DOI:http://doi.acm.org/10.1145/377435.377461 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Michael Kölling, Bruce Quig, Andrew Patterson, and John Rosenberg. 2003. The BlueJ system and its pedagogy. Int. J. Comput. Sci. Educ. 13, 4, 249--268.Google ScholarGoogle ScholarCross RefCross Ref
  15. Michael Kölling. 2010. The greenfoot programming environment. Trans. Comput. Educ. 10, 14:1--14:21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jakob Nielsen. 1994. Enhancing the explanatory power of usability heuristics. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI’94). Beth Adelson, Susan Dumais, and Judith Olson, Eds. ACM, New York, NY, 152--158. DOI:http://doi.acm.org/10.1145/191666.191729 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Noa Ragonis and Moderchai Ben-Ari. 2005a. A long-term investigation of the comprehension of OOP concepts by novices. Int. J. Comput. Sci. Educ. 15, 3, 203--221.Google ScholarGoogle ScholarCross RefCross Ref
  18. Noa Ragonis and Moderchai Ben-Ari. 2005b. On understanding the statics and dynamics of object-oriented programs. ACM SIGCSE Bull. 37, 1, 226--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Vennila Ramalingam and Susan Wiedenbeck. 1997. An empirical study of novice program comprehension in the imperative and object-oriented styles. In Papers Presented at the 7th Workshop on Empirical Studies of Programmers (ESP’97), Susan Wiedenbeck and Jean Scholtz, Eds. ACM, New York, NY, 124--139. DOI:http://doi.acm.org/10.1145/266399.266411 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Jorma Sajaniemi, Marja Kuittinen, and Taina Tikansalo. 2007. A study of the development of students’ visualizations of program state during an elementary object-oriented programming course. In Proceedings of the 3rd International Workshop on Computing Education Research (ICER’07). ACM, New York, NY, 1--16. DOI:http://doi.acm.org/10.1145/1288580.1288582 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Kate Sanders and Lynda Thomas. 2007. Checklists for grading object-oriented CS1 programs: Concepts and misconceptions. In Proceedings of the 12th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE’07). ACM, New York, NY, 166--170. DOI:http://doi.acm.org/10.1145/1268784.1268834 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Kate Sanders, Jonas Boustedt, Anna Eckerdal, Robert McCartney, Jan Erik Moström, Lynda Thomas, and Carol Zander. 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). ACM, New York, NY, 332--336. DOI:http://doi.acm.org/10.1145/1352135.1352251 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Leen-Kiat Soh, Ashok Samal, and Gwen Nugent. 2007. An integrated framework for improved computer science education: Strategies, implementations, and results. Comput. Sci. Educ. 17, 1 (March 2007), 59--83.Google ScholarGoogle ScholarCross RefCross Ref
  24. Juha Sorva. 2013. Notional machines and introductory programming education. Trans. Comput. Educ. 13, 2, Article 8 (July 2013), 31 pages. DOI:http://doi.acm.org/10.1145/2483710.2483713 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Mariana Teif and Orit Hazzan. 2006. Partonomy and taxonomy in object-oriented thinking: Junior high school students’ perceptions of object-oriented basic concepts. In Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education (ITiCSE-WGR’06). ACM, New York, NY, 55--60. DOI:http://doi.acm.org/10.1145/1189215.1189170 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Benjy Thomasson, Mark Ratcliffe, and Lynda Thomas. 2006. Identifying novice difficulties in object oriented design. SIGCSE Bull. 38, 3 (June 2006), 28--32. DOI:http://doi.acm.org/10.1145/1140123.1140135 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Neena Thota and Richard Whitfield. 2010. Holistic approach to learning and teaching introductory object-oriented programming. Comput. Sci. Educ. 20, 2 (June 2010), 103--127.Google ScholarGoogle ScholarCross RefCross Ref
  28. Stelios Xinogalos and Maya Satratzemi. 2005a. Using hands-on activities for motivating students with OOP concepts before they are asked to implement them. ACM SIGCSE Bull. 37, 3 (September 2005), 380. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Stelios Xinogalos and Maya Satratzemi. 2005b. The hands-on activities of the programming Microworld objectKarel. ACM SIGCSE Bull. 37, 3 (September 2005), 384. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Stelios Xinogalos, Maya Satratzemi, and Vassilios Dagdilelis. 2006a. Studying students’ difficulties in an OOP course based on BlueJ. In Proceedings of the 9th IASTED Conference on Computers and Advanced Technology in Education. 82--87.Google ScholarGoogle Scholar
  31. Stelios Xinogalos, Maya Satratzemi, and Vassilios Dagdilelis. 2007a. Re-designing an OOP course based on BlueJ. In Proceedings of the 7th IEEE Conference on Advanced Learning Technologies. 660--664.Google ScholarGoogle ScholarCross RefCross Ref
  32. Stelios Xinogalos, Maya Satratzemi, and Vassilios Dagdilelis. 2007b. A comparison of two object-oriented programming environments for novices. In Proceedings of the 10th IASTED International Conference on Computers and Advanced Technology in Education (CATE’07). Vladimir Uskov, Ed. ACTA Press, Anaheim, CA, 49--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Stelios Xinogalos, Maya Satratzemi, and Vassilios Dagdilelis. 2006b. An introduction to object-oriented programming with a didactic microworld: objectKarel. Comput. Educ. 47, 2 (September 2006), 148--171. DOI:http://dx.doi.org/10.1016/j.compedu.2004.09.005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Stelios Xinogalos and Maya Satratzemi. 2009. A long-term evaluation and reformation of an object oriented design and programming course. In Proceedings of the 9th IEEE International Conference on Advanced Learning Technologies (IEEE ICALT’09). IEEE Computer Society Press, 64--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Stelios Xinogalos. 2011. Object-oriented programming -- what do students think of objects and classes? In Proceedings of the 14th IASTED International Conference on Computers and Advanced Technology in Education (CATE’11). Cambridge, UK, 181--186.Google ScholarGoogle ScholarCross RefCross Ref
  36. Stelios Xinogalos. 2012a. An evaluation of knowledge transfer from microworld programming to conventional programming. J. Educ. Comput. Res. 47, 3, 251--277.Google ScholarGoogle ScholarCross RefCross Ref
  37. Stelios Xinogalos. 2012b. Programming techniques and environments in a technology management department. In Proceedings of the 5th Balkan Conference in Informatics (BCI’12). ACM, New York, NY, 136--141. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Object-Oriented Design and Programming: An Investigation of Novices’ Conceptions on Objects and Classes

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Computing Education
          ACM Transactions on Computing Education  Volume 15, Issue 3
          September 2015
          69 pages
          EISSN:1946-6226
          DOI:10.1145/2809889
          Issue’s Table of Contents

          Copyright © 2015 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 28 July 2015
          • Accepted: 1 November 2014
          • Revised: 1 October 2014
          • Received: 1 June 2013
          Published in toce Volume 15, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader