Abstract
In this paper, we present the results of an experiment in which we sought to elicit students' understanding of object-oriented (OO) concepts using concept maps. Our analysis confirmed earlier research indicating that students do not have a firm grasp on the distinction between "class" and "instance." Unlike earlier research, we found that our students generally connect classes with both data and behavior. Students rarely included any mention of the hardware/software context of programs, their users, or their real-world domains. Students do mention inheritance, but not encapsulation or abstraction. And the picture they draw of OO is a static one: we found nothing that could be construed as referring to interaction among objects in a program. We then discuss the implications for teaching introductory OO programming.
- D. J. Armstrong. The quarks of ob ject-oriented development. Communications of the ACM 49(2):123--128, 2006. Google ScholarDigital Library
- D. Barnes and M. Kölling. Objects First With Java: A Practical Introduction Using BlueJ. Prentice Hall, 3rd edition, 2006. Google ScholarDigital Library
- H. Deitel and P. Deitel. Java How to Program Prentice Hall, 7th edition, 2007. Google ScholarDigital Library
- A. Eckerdal and M. Thuné. Novice java programmers' conceptions of "object" and "class", and variation theory. SIGCSE Bul l., 37(3):89--93, 2005. Google ScholarDigital Library
- E. Ferguson. Object-oriented concept mapping using UML class diagrams. Computing in Small Colleges 18(4):344--354, 2003. Google ScholarDigital Library
- S. Garner, P. Haden, and A. Robins. My program is correct but it doesn't run: a preliminary investigation of novice programmers' problems. In 7th Australasian conf. on Computer Education, pages 173--180, 2005. Google ScholarDigital Library
- S. Holland, R. Griffiths, and M. Woodman. Avoiding object misconceptions. SIGCSE Bul l., 29(1):131--134 1997. Google ScholarDigital Library
- C. S. Horstmann. Java Concepts for Java 5 and 6. John Wiley & Sons, 5th edition, 2007. Google ScholarDigital Library
- I. Kinchin, D. Hay, and A. Adams. How a qualitative approach to concept map analysis can be used to aid learning by illustrating patterns of conceptual development. Educational Research, 42(1):43--57, 2000.Google ScholarCross Ref
- J. Lewis and W. Loftus. Java Software Solutions: Foundations of Software Design. Addison Wesley, 5th edition, 2006. Google ScholarDigital Library
- J. McClure, B. Sonak, and H. Suen. Concept map assessment of classroom learning: Reliability, validity and logistical practicality. Journal of Research in Science Teaching, 36(4):475--492, 1999.Google ScholarCross Ref
- J. Nash, R. Bravaco, and S. Simonson. Assessing knowledge change in computer science. Computer Science Education, 16(1):37--51, 2006.Google ScholarCross Ref
- J. Novak and D. Gowin. Learning How to Learn. Cambridge University Press, 1984.Google ScholarCross Ref
- V. Ramalingam and S. Wiedenbeck. An empirical study of novice program comprehension in the imperative and object-oriented styles. In ESP '97: Workshop on Empirical Studies of Programmers, pages 124--139, 1997. Google ScholarDigital Library
- K. Sanders and L. Thomas. Checklists for grading object-oriented CS1 programs: concepts and misconceptions. SIGCSE Bul l., 39(3):166--170, 2007. Google ScholarDigital Library
- K. Sanders and A. van Dam. Object-Oriented Programming in Java: A Graphical Approach. Addison Wesley, 2006.Google Scholar
- J. Savitch. Absolute Java. Prentice Hall, 3rd edition, 2007. Google ScholarDigital Library
- M. Steyvers and J. Tenenbaum. Graph theoretic analyses of semantic networks: Small worlds in semantic networks. Cognitive Science, 29:41--78, 2005.Google ScholarCross Ref
- B. Thomasson, M. Ratcliffe, and L. Thomas. Identifying novice difficulties in ob ject oriented design. SIGCSE Bul l., 38(3):28--32, 2006. Google ScholarDigital Library
Index Terms
- Student understanding of object-oriented programming as expressed in concept maps
Recommendations
Student understanding of object-oriented programming as expressed in concept maps
SIGCSE '08: Proceedings of the 39th SIGCSE technical symposium on Computer science educationIn this paper, we present the results of an experiment in which we sought to elicit students' understanding of object-oriented (OO) concepts using concept maps. Our analysis confirmed earlier research indicating that students do not have a firm grasp on ...
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-...
Multiparadigm programming in object-oriented languages: current research report on the workshop MPOOL'07 at ECOOP 2007
ECOOP'07: Proceedings of the 2007 conference on Object-oriented technologyWhile OO has become ubiquitously employed for design, implementation, and even conceptualization, many practitioners recognize the concomitant need for other programming paradigms according to problem domain. Nevertheless, the choice of a programming ...
Comments