The origin of object-oriented programming languages

Get Complete Project Material File(s) Now! »

Cognitive, metacognitive and problem-solving knowledge and skills in object-oriented programming

 Introduction

It is not well understood how people learn to program and solve a problem in computer science (Traynor & Gibson, 2004:2). According to Deek (1999:1), learning to program is a complex cognitive task that includes learning the programming language, comprehending existing programs, modifying written programs, composing new programs and using debugging techniques. In the process of learning object-oriented programming (OOP), the student must know which objects, behaviours and interactions are important in the problem domain. There is a need for the refinement of research that explores the difficulties of OOP. There is also a need for guidelines about specific types of knowledge and skills to support the learning of OOP (Or-Bach & Lavy, 2004:82; Staats & Blum, 1999:13).Efficient knowledge and skills on the part of the programmer are necessary during the processes of problem solving, decision making, planning and critical thinking in OOP.Knowledge relates to information and skills acquired through experience or education and also refers to what someone knows (Concise Oxford English Dictionary, 2004:789; §1.3).Declarative knowledge refers to the knowledge of facts while procedural knowledge refers to knowledge of procedures that can be implemented in a task (Sternberg, 2006:229). Both types of knowledge are important in OOP. A skill can be defined as the ability to do a particular task (Concise Oxford English Dictionary, 2004:1351; §1.3). Fig. 3.1 shows various types of knowledge and skills, whose application in OOP is explored in this chapter. This includes the cognitive, metacognitive and problem-solving knowledge and skills necessary in OOP. The shaded blocks in Fig. 3.1 present the goal, various types of knowledge and skills, and their application in OOP that will be addressed in this chapter. After an explanation of the approach and concepts of object-oriented programming (§3.2), this chapter focuses on the cognitive, metacognitive and problem-solving knowledge and skills necessary in OOP. These three topics are addressed in Sections 3.3, 3.4 and 3.5 respectively. Chapter 4 builds upon Chapter 3 as it correspondingly focuses on cognitive, metacognitive and problem-solving strategies in OOP. Furthermore, various guidelines and practical means of support during the learning of OOP are discussed in some detail in different sections of the chapter.

Title Page 
Abstract
Acknowledgements
Table of contents
List of figures
List of tables
List of program segments
Appendices 
CD
Glossary of terminology
1. Theoretical background and real-world problem statement
1.1 Introduction
1.2 Background
1.3 Problem statement, research question and subquestions
1.4 Research objectives
1.5 Delineation and limitations 
1.6 Research framework and methodology
1.7 Data to be collected and research instruments 
1.8 Significance of the study
1.9 Brief chapter overviews
1.10 Conclusion
2. Research design and methodology
2.1 Introduction
2.2 Epistemological paradigm, research design and methodology
2.3 The interpretivist paradigm 
2.4 Research practice – grounded theory
2.4.1 Overview
2.4.2 The process of generating a grounded theory
2.5 Research considerations with regard to this study.
2.5.1 Relevance of interpretivism
2.5.2 Relevance of grounded theory
2.5.3 Reliability, validity and reflexivity
2.6 The positivist paradigm
2.6.1 Relevance of the positivist paradigm
2.6.2 Reliability and validity
2.7 Research methods: data collection techniques
2.7.1 Research plan and participants
2.7.2 Object-oriented computer program
2.7.3 Written document – participants’ thinking processes
2.7.4 Questionnaire
2.7.5 Ethical aspects
2.8 Research methods: data analysis techniques 
2.8.1 Computer program analysis
2.8.2 Textual document analysis – using the support of Atlas.ti
2.8.3 Questionnaire data analysis
2.9 Qualitative data analysis software – Atlas.ti
2.9.1 Application of Atlas.ti
2.9.2 The harmony between grounded theory and Atlas.t
2.10 Chapter conclusion
3. Cognitive, metacognitive and problem-solving knowledge and skills in object-oriented programming
3.1 Introduction
3.2 Object-oriented programming
3.2.1 The need to change to the object-oriented paradigm
3.2.2 The origin of object-oriented programming languages
3.2.3 An overview of object-oriented programming
3.2.3.1 Object
3.2.3.2 Class
3.2.3.3 Attributes and methods
3.2.3.4 Constructors and destructors
3.2.3.5 Abstractions and associations
3.2.3.6 Polymorphism and dynamic binding
3.2.3.7 Advantages and disadvantages of object-oriented programming
3.2.4 Programming notations and models
3.2.4.1 Patterns in object-oriented programming
3.2.4.2 UML – an important graphical notation
3.2.4.3 CRC cards
3.2.5 Problem and design spaces in object-oriented programming
3.3 Cognitive knowledge and skills in object-oriented programming.
3.3.1 Memory, comprehension, reasoning, decision making, creative and critical thinking in object-oriented programming
3.3.1.1 Memory and cognitive load
3.3.1.2 Comprehension, reasoning, decision making, creative and
critical thinking
3.3.2 Bloom’s taxonomy
3.3.3 Some practical means of cognitive support
3.4 Metacognitive knowledge and skills in object-oriented programming
3.5 Problem-solving knowledge and skills in object-oriented programming
3.6 Chapter conclusion 
4. Cognitive, metacognitive and problem-solving strategies in
object-oriented programming
4.1 Introduction
4.2 Strategic aspects of performance 
4.3 Cognitive strategies
4.4 Metacognitive strategies
4.5 Problem-solving strategies in object-oriented programming 
4.6 Chapter conclusion
5. Empirical research and data analysis
5.1 Introduction
5.2 Analysis of participants’ computer programs and thinking processes.
5.3 Qualitative analysis of participants’ thinking processes using Atlas.ti software
5.4 Statistical analysis – questionnaire
5.5 Triangulation between different analysis methods 
5.6 Measures to ensure rigour and quality of data
5.7 Overview of the research findings 
5.8 Chapter conclusion 
6. Discussion and conclusion
6.1 Introduction
6.2 Discussion of the findings of this study
6.3 A learning repertoire of knowledge, skills and strategies for object-orientedprogramming
6.4 Application of this study to teaching and learning 
6.5 Recommendations and future research directions
6.6 Chapter conclusion 
References 

READ  Improving Alignment with Discriminative Learning Techniques for Statistical Machine Translation 

GET THE COMPLETE PROJECT

Related Posts