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.
- 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 ScholarDigital Library
- David Barnes and Michael Kölling. 2004. Objects First with Java: A Practical Introduction Using BlueJ. Prentice Hall, 2004. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Michael Kölling. 2010. The greenfoot programming environment. Trans. Comput. Educ. 10, 14:1--14:21. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Stelios Xinogalos and Maya Satratzemi. 2005b. The hands-on activities of the programming Microworld objectKarel. ACM SIGCSE Bull. 37, 3 (September 2005), 384. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- Stelios Xinogalos. 2012a. An evaluation of knowledge transfer from microworld programming to conventional programming. J. Educ. Comput. Res. 47, 3, 251--277.Google ScholarCross Ref
- 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 ScholarDigital Library
Index Terms
- Object-Oriented Design and Programming: An Investigation of Novices’ Conceptions on Objects and Classes
Recommendations
What Is Object-Oriented Programming?
The meaning of the term 'object oriented' is examined in the context of the general-purpose programming language C++. This choice is made partly to introduce C++ and partly because C++ is one of the few languages that supports data abstraction, object-...
Object oriented computing
The object oriented computing model is the prevailing programming paradigm of today; contemporary programming languages like Java or C# strictly require it-and thus the programmer has no other choice than object oriented computing. Object oriented ...
Combining Analogies and Virtual Reality for Active and Visual Object-Oriented Programming
CompEd '19: Proceedings of the ACM Conference on Global Computing EducationUnderstanding object-oriented programming (OOP) and its underlying concepts is essential in any computing-related field. However, learning the OOP concepts is often daunting for novice programmers due to their abstract nature. This paper presents a ...
Comments