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:http://hdl.handle.net/10500/2416
id ndltd-netd.ac.za-oai-union.ndltd.org-unisa-oai-umkn-dsp01.int.unisa.ac.za-10500-2416
record_format oai_dc
spelling ndltd-netd.ac.za-oai-union.ndltd.org-unisa-oai-umkn-dsp01.int.unisa.ac.za-10500-24162016-04-16T04:07:57Z An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming Havenga, Hester Maria De Villiers, Mary Ruth Mentz, E. Unsuccessful programmer Successful programmer Strategy Skill Quantitative methods Qualitative methods Problem solving Object-oriented programming Metacognition Knowledge Grounded theory Constructivism Cognition 006.3023 Computer software developers -- Training of Object-oriented programming (Computer science) Computer programmers -- Training of 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) 2009-08-25T11:03:17Z 2009-08-25T11:03:17Z 2009-08-25T11:03:17Z 2008-06-30 Thesis http://hdl.handle.net/10500/2416 en 1 online resource (xii, 293 p. : ill.)
collection NDLTD
language en
format Others
sources NDLTD
topic Unsuccessful programmer
Successful programmer
Strategy
Skill
Quantitative methods
Qualitative methods
Problem solving
Object-oriented programming
Metacognition
Knowledge
Grounded theory
Constructivism
Cognition
006.3023
Computer software developers -- Training of
Object-oriented programming (Computer science)
Computer programmers -- Training of
spellingShingle Unsuccessful programmer
Successful programmer
Strategy
Skill
Quantitative methods
Qualitative methods
Problem solving
Object-oriented programming
Metacognition
Knowledge
Grounded theory
Constructivism
Cognition
006.3023
Computer software developers -- Training of
Object-oriented programming (Computer science)
Computer programmers -- Training of
Havenga, Hester Maria
An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming
description 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)
author2 De Villiers, Mary Ruth
author_facet De Villiers, Mary Ruth
Havenga, Hester Maria
author Havenga, Hester Maria
author_sort Havenga, Hester Maria
title An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming
title_short An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming
title_full An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming
title_fullStr An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming
title_full_unstemmed An investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming
title_sort investigation of students' knowledge, skills and strategies during problem solving in objectoriented programming
publishDate 2009
url http://hdl.handle.net/10500/2416
work_keys_str_mv AT havengahestermaria aninvestigationofstudentsknowledgeskillsandstrategiesduringproblemsolvinginobjectorientedprogramming
AT havengahestermaria investigationofstudentsknowledgeskillsandstrategiesduringproblemsolvinginobjectorientedprogramming
_version_ 1718223973372657664