An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming

The object-oriented paradigm is widely advocated and has been used in South African universities since the late 1990s. Object-oriented computer programming is based on the object-oriented paradigm where objects are the building blocks that combine data and methods in the same entity. Students�...

Full description

Bibliographic Details
Main Author: Havenga, Hester Maria
Other Authors: De Villiers, Mary Ruth
Format: Others
Language:en
Published: 2009
Subjects:
Online Access:Havenga, Hester Maria (2009) An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming, University of South Africa, Pretoria, <http://hdl.handle.net/10500/2416>
http://hdl.handle.net/10500/2416
Description
Summary:The object-oriented paradigm is widely advocated and has been used in South African universities since the late 1990s. Object-oriented computer programming is based on the object-oriented paradigm where objects are the building blocks that combine data and methods in the same entity. Students' performance in object-oriented programming (OOP) is a matter of concern. In many cases they lack the ability to apply various supportive techniques in the process of programming. Efficient knowledge, skills and strategies are required during problem solving to enhance the programming process. It is often assumed that students implicitly and independently master these high-level knowledge, skills and strategies, and that teaching should focus on programming content and coding structures only. However, to be successful in the complex domain of OOP, explicit learning of both programming and supportive cognitive techniques is required. The objective of this study was to identify cognitive, metacognitive and problem-solving knowledge, skills and strategies used by successful and unsuccessful programmers in OOP. These activities were identified and evaluated in an empirical research study. A mixed research design was used, where both qualitative and quantitative methods were applied to analyse participants' data. As a qualitative research practice, grounded theory was applied to guide the systematic collection of data and to generate theory. The findings suggest that successful programmers applied significantly more cognitive-, metacognitive- and problem-solving knowledge, skills and strategies, also using a greater variety, than the unsuccessful programmers. Since programming is complex, we propose a learning repertoire based on the approaches of successful programmers, to serve as an integrated framework to support novices in learning OOP. Various techniques should be used during problem solving and programming to meaningfully construct, explicitly reflect on, and critically select appropriate knowledge, skills and strategies so as to better understand, design, code and test programs. Some examples of teaching practices are also outlined as application of the findings of the study. === Mathematical Sciences === PhD. (Nathematics, Science and Tecnical Education)