An Animated Pedagogical Agent For Assisting Novice Programmers Within A\ud Desktop Computer Environment
Case, Desmond Robert
Abstract\ud \ud Learning to program for the first time can be a daunting process, fraught with difficulty and \ud setback. The novice learner is faced with learning two skills at the same time each that depends on \ud the other; they are how a program needs to be constructed to solve a problem and how the structures \ud of a program work towards solving a problem. In addition the learner has to develop practical \ud skills such as how to design a solution, how to use the programming development environment, how to \ud recognise errors, how to diagnose their cause and how to successfully correct them. The nature of \ud learning how to program a computer can cause frustration to many and some to disengage before they \ud have a chance to progress. Numerous authorities have observed that novice programmers make the same \ud mistakes and encounter the same problems when learning their first programming language. The \ud learner errors are usually from a fixed set of misconceptions that are easily corrected by \ud experience and with appropriate guidance.\ud \ud This thesis demonstrates how a virtual animated pedagogical agent, called MRCHIPS, can extend the \ud Beliefs-Desires-Intentions model of agency to provide mentoring and coaching support to novice \ud programmers learning their first programming language, Python. The Cognitive Apprenticeship \ud pedagogy provides the theoretical underpinning of the agent mentoring strategy. Case-Based \ud Reasoning is also used to support MRCHIPS reasoning, coaching and interacting with the learner. The \ud results indicate that in a small controlled study when novice learners are assisted by MRCHIPS they \ud are more productive than those working without the assistance, and are better at problem solving \ud exercises, there are also manifestations of higher of degree of engagement and learning of the \ud language syntax.