
An Animated Pedagogical Agent For Assisting Novice Programmers Within A Desktop Computer Environment by Desmond Robert Case BSc, MSc Staffordshire University A thesis submitted in partial fulfilment of the requirements of Staffordshire University for the award of the degree of Doctor of Philosophy in Computer Science September 2012 Abstract Learning to program for the first time can be a daunting process, fraught with difficulty and setback. The novice learner is faced with learning two skills at the same time each that depends on the other; they are how a program needs to be constructed to solve a problem and how the structures of a program work towards solving a problem. In addition the learner has to develop practical skills such as how to design a solution, how to use the programming development environment, how to recognise errors, how to diagnose their cause and how to successfully correct them. The nature of learning how to program a computer can cause frustration to many and some to disengage before they have a chance to progress. Numerous authorities have observed that novice programmers make the same mistakes and encounter the same problems when learning their first programming language. The learner errors are usually from a fixed set of misconceptions that are easily corrected by experience and with appropriate guidance. This thesis demonstrates how a virtual animated pedagogical agent, called MRCHIPS, can extend the Beliefs-Desires-Intentions model of agency to provide mentoring and coaching support to novice programmers learning their first programming language, Python. The Cognitive Apprenticeship pedagogy provides the theoretical underpinning of the agent mentoring strategy. Case-Based Reasoning is also used to support MRCHIPS reasoning, coaching and interacting with the learner. The results indicate that in a small controlled study when novice learners are assisted by MRCHIPS they are more productive than those working without the assistance, and are better at problem solving exercises, there are also manifestations of higher of degree of engagement and learning of the language syntax. ii Acknowledgements I would thank my supervisors Professor Bernadette Sharp and Dr Len Noriega for their patience and support. I would also like to thank Dr Peter King for his help and support in the past. Thanks go to various members of the faculty and students of the Northampton Business School at the University of Northampton for their technical assistance, interest and accommodation for my activities during this research. I would like to thank and reassure the many good friends and extended family members who must now believe I only appear when the moon is blue, that I am still here, you have always been in my thoughts and that I look forward to the joy of renewing old acquaintances. Finally I would like to offer a special thank you to the patients, faith and unwavering encouragement of three special women I have woefully neglected these many, many months: my mother, Mrs Avis Case, my sister, Ms Rose Case, and my partner Dr Alison Rudd. I love and cherish you all. iii Table of Contents Page Chapter 1 Introduction 1 1.1 The difficulty with learning to program 1 1.2 Research Aims 2 1.3 Principal contribution of the research 5 1.4 Background 6 1.4.1 Mentoring vs. Tutoring 7 1.5 The research framework 8 1.5.1 The March and Smith framework 9 1.5.2 The Järvinen research framework 10 1.5.3 Applying the frameworks to this research 10 1.5.4 Ethical statement 12 1.6 Overview of the thesis 13 Chapter 2 The psychology of the novice programmer 15 2.1 Introduction 15 2.1.1 Two typical novice programming errors 15 2.2 The context for learning to program 17 2.2.1 The novice and the program 17 2.3 Enhanced development environments 22 2.3.1 Code sensitive editors 22 2.3.2 Visual programming languages 23 2.3.3 Intelligent assistance 25 2.4. Summary 27 Chapter 3 Cognitive apprenticeship 28 3.1 Introduction 28 3.1.1 Methods of the model 31 3.1.2 Constructivism 33 3.1.3 Scaffolding 34 3.1.4 Double-fading support 35 3.1.5 Anchored instruction 36 3.1.6 Traditional vs. Cognitive apprenticeships 36 3.1.7 Expert areas of knowledge 37 3.2 A Review of Systems that apply CA 38 iv 3.3 Summary 45 Chapter 4 Intelligent virtual agents 47 4.1 Introduction 47 4.1.1 Intelligent Agents 47 4.1.2 Animated pedagogical agents 49 4.1.3 Intelligent Virtual Agent Systems 53 4.2 Summary 61 Chapter 5 Reasoning in agent based systems 63 5.1 Introduction 63 5.2 The BDI agent architecture 63 5.3 Case-Based Reasoning 67 5.4 The cognitive agent architecture 72 5.5 Alternate reasoning methods 74 5.5.1 Classical agent reasoning 74 5.5.1.1 Deliberative agents 75 5.5.1.2 Reactive agents 76 5.5.2 Practical agent reasoning 78 5.5.2.1 Hybrid agents 78 5.5.3 Biologically inspired reasoning methods 81 5.6 Summary 81 Chapter 6 The challenges of learning Python – Case Study 83 6.1 Introduction 83 6.2 Difficulties in learning to program 83 6.3 The properties of Python 85 6.4 Observation of novice errors 87 6.4.1 Method 87 6.4.2 Categories of programming error 88 6.4.2.1 Syntax errors 89 6.4.2.2 Semantic errors 92 6.4.2.3 Logical errors 96 6.4.2.4 Strategic errors 98 6.4.2.5 Errors arising from incorrect use of letter-case 99 in Python 6.4.3 Recognition of errors 101 v 6.5 Related work 104 6.6 Summary 106 Chapter 7 An agent framework for mentoring within cognitive 107 apprenticeship 7.1 Introduction 107 7.2 Handling errors in Python 108 7.2.1 Agent capability 110 7.3 The CA approach to learning to program 110 7.3.1 Agent capability 113 7.4 The agent interface 114 7.5 The agent environment 116 7.5.1 Agent capability 117 7.6 A mentoring scenario 117 7.6.1 Agent capability 118 7.7 A cognitive apprenticeship agent framework 119 7.7.1 Agent capability 121 7.8 Agent requirements for MRCHIPS 121 7.9 Summary 122 Chapter 8 Implementation of MRCHIPS 123 8.1 Introduction 123 8.2 The MRCHIPS cognitive architecture 123 8.3 The subsystems of MRCHIPS 124 8.3.1 Reasoning in MRCHIPS 125 8.3.2 The BDI reasoning subsystem 126 8.3.3 The case-based reasoning subsystem 129 8.3.4 Additional agent subsystems 134 8.3.4.1 The BNF parser 133 8.3.4.2 Perception 135 8.3.4.3 Actuators 136 8.3.4.4 Journaling 138 8.3.4.5 Reading code 139 8.4 Implementation details 141 8.5 The agent environment 144 8.6 Decision-making in MRCHIPS 146 8.7 Related Work 149 vi 8.8 Summary 150 Chapter 9 Research methodology and experimental design 151 9.1 Research methodology 151 9.1.1 Quantitative research methods 151 9.1.2 Qualitative research methods 152 9.1.3 Hybrid research methods 153 9.2 Review of research objectives 153 9.3 Research Design 154 9.4 Experimental overview 156 9.4.1 Experimental setting 160 9.4.2 Experimental limitations 161 9.5 Ethical considerations 161 9.6 Summary 162 Chapter 10 Evaluation of MRCHIPS 163 10.1 Findings and analysis 163 10.1.1 The t-test analysis 167 10.1.2 The t-test calculation 169 10.1.3 Pearson’s correlation coefficient 172 10.2 Discussion 173 10.3 Summary 177 Chapter 11 Conclusions and future work 179 11.1 Review of research objectives 179 11.2 Critical Reflection 183 11.3 Research contribution 186 11.4 Future work 187 References 189 Bibliography 204 Appendix A Brief Overview of Python 210 Appendix B The MRCHIPS User Guide Appendix C The Evaluation Brief Appendix D The Evaluation Test Source Code Appendix E The MRCHIPS Evaluation Questionnaire Appendix F The MRCHIPS Conference Poster vii Figures Page Figure 1.1 A Multi-methodological approach to IS research 11 (Järvinen, 2004) Figure 2.1 Theories informing the mentor agent 15 Figure 2.2 The tkinter colour syntax highlighting editor for Python 23 code Figure 2.3 The Win32 colour syntax highlighting editor for Python 23 code Figure 2.4 The Alice user interface (courtesy of www.alice.org) 24 Figure 3.1 The place of cognitive apprenticeship in educational 30 literature (courtesy of Ghefaili, 2003) Figure 4.1 The Steve agent demonstrating a control panel 55 (courtesy of Johnson and Rickel, 2000) Figure 4.2 A PPP agent presentation (courtesy of Johnson and 57 Rickel, 2000) Figure 4.3 The Jacob agent teaching the tower of Hanoi (courtesy 58 of Evers and Nijholt, 2000) Figure 4.4 FatiMA characters in FearNot! Story (courtesy of Aylett, 59 2007) Figure 4.5 Adele explains the importance of palpating the patient’s 60 abdomen (courtesy of Johnson, 1999) Figure 5.1 The generic BDI architecture 64 Figure 5.2 Logical structure of a plan (a) alongside a practical 66 working example (b) Figure 5.3 The CBR process cycle (Aamodt and Plaza, 1994) 70 Figure 5.4 The seaworld environment – (Courtesy of Vere and 75 Bickmore 1990) Figure 5.5 Horizontal (a) and vertical (b) information flows in 78 layered agent architecture (Courtesy of Müller, 1991) Figure 5.6 The Interrap agent architecture (Courtesy of Müller, 79 1991) viii Figure 6.1 Runtime-errors in the Python shell window 99 Figure 6.2 Listing of a faulty Python to be debugged 101 Figure 6.3 Console error output for the faulty Python code 101 Figure 6.4 Windowed error output for the faulty Python code 102 Figure 6.5 Chart of the trend of Python novice errors over one year 103 Figure 6.6 Examples of frequently reported novice programming 105 errors in Java Figure 7.1 Sketch of the novice and mentor agent interaction 115 Figure 7.2 The mentor agent’s advice to a learner 118 Figure 7.3 The agent framework 119 Figure 8.1 MRCHIPS System overview diagram 124 Figure 8.2 The mentor agent’s architecture 125 Figure 8.3 The PAL execution cycle 126 Figure 8.4 Two example plans in MRCHIPS 127 Figure 8.5 Example of a case
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages234 Page
-
File Size-