Work

An investigation of students' knowledge, skills and strategiesduring problem solving in objectorientedprogramming

Year: 2009
Type: dissertation
Study design: Observational Study
Abstract: The object-oriented paradigm is widely advocated and has been used in South African \nuniversities since the late 1990s. Object-oriented computer programming is based on the \nobject-oriented paradigm where objects are the building blocks that combine data and \nmethods in the same entity. \nStudents' performance in object-oriented programming (OOP) is a matter of concern. In \nmany cases they lack the ability to apply various supportive techniques in the process of \nprogramming. Efficient knowledge, skills and strategies are required during problem solving \nto enhance the programming process. It is often assumed that students implicitly and \nindependently master these high-level knowledge, skills and strategies, and that teaching \nshould focus on programming content and coding structures only. However, to be successful \nin the complex domain of OOP, explicit learning of both programming and supportive \ncognitive techniques is required. \nThe objective of this study was to identify cognitive, metacognitive and problem-solving \nknowledge, skills and strategies used by successful and unsuccessful programmers in OOP. \nThese activities were identified and evaluated in an empirical research study. A mixed \nresearch design was used, where both qualitative and quantitative methods were applied to \nanalyse participants' data. As a qualitative research practice, grounded theory was applied \nto guide the systematic collection of data and to generate theory. \nThe findings suggest that successful programmers applied significantly more cognitive-, \nmetacognitive- and problem-solving knowledge, skills and strategies, also using a greater \nvariety, than the unsuccessful programmers. Since programming is complex, we propose a \nlearning repertoire based on the approaches of successful programmers, to serve as an \nintegrated framework to support novices in learning OOP. Various techniques should be \nused during problem solving and programming to meaningfully construct, explicitly reflect on, \nand critically select appropriate knowledge, skills and strategies so as to better understand, \ndesign, code and test programs. Some examples of teaching practices are also outlined as \napplication of the findings of the study.
Language: English
Open Access status: green
OpenAlex ID: W119460975
Cites: 143
Cited by: 4
Related to: 10