skip to main content
research-article

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

Published: 28 July 2015 Publication History

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.
[2]
David Barnes and Michael Kölling. 2004. Objects First with Java: A Practical Introduction Using BlueJ. Prentice Hall, 2004.
[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.
[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.
[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.
[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.
[7]
Janet Carter and Aliy Fowler. 1998. Object oriented students? SIGCSE Bull. 30, 3 (August 1998), 271.
[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.
[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.
[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.
[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.
[12]
Simon Holland, Robert Griffiths, and Mark Woodman. 1997. Avoiding object misconceptions. SIGCSE Bull. 29, 1 (March 1997), 131--134.
[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.
[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.
[15]
Michael Kölling. 2010. The greenfoot programming environment. Trans. Comput. Educ. 10, 14:1--14:21.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[24]
Juha Sorva. 2013. Notional machines and introductory programming education. Trans. Comput. Educ. 13, 2, Article 8 (July 2013), 31 pages.
[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.
[26]
Benjy Thomasson, Mark Ratcliffe, and Lynda Thomas. 2006. Identifying novice difficulties in object oriented design. SIGCSE Bull. 38, 3 (June 2006), 28--32.
[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.
[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.
[29]
Stelios Xinogalos and Maya Satratzemi. 2005b. The hands-on activities of the programming Microworld objectKarel. ACM SIGCSE Bull. 37, 3 (September 2005), 384.
[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.
[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.
[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.
[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.
[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.
[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.
[36]
Stelios Xinogalos. 2012a. An evaluation of knowledge transfer from microworld programming to conventional programming. J. Educ. Comput. Res. 47, 3, 251--277.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

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
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: 01 November 2014
Revised: 01 October 2014
Received: 01 June 2013
Published in TOCE Volume 15, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Object-oriented programming
  2. class
  3. conceptions
  4. misconceptions
  5. object
  6. teaching/learning programming

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)73
  • Downloads (Last 6 weeks)15
Reflects downloads up to 22 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media