Results 1 - 10
of
10
Learning Strategies and Transfer in the Domain of Programming
, 1994
"... We report two studies involving an intelligent tutoring system for Lisp (the CMU Lisp Tutor). In Experiment 1, we develop a model, based on production system theories of transfer and analogical problem-solving, that accounts for effects of instructional examples, the transfer of cognitive skills acr ..."
Abstract
-
Cited by 24 (2 self)
- Add to MetaCart
We report two studies involving an intelligent tutoring system for Lisp (the CMU Lisp Tutor). In Experiment 1, we develop a model, based on production system theories of transfer and analogical problem-solving, that accounts for effects of instructional examples, the transfer of cognitive skills across programming problems, and practice effects. In Experiment 2, we analyzed protocols collected from subjects as they processed instructional texts and examples before working with the Lisp Tutor and protocols collected after subjects solved each programming problem. The results suggest that the acquisition of cognitive skills is facilitated by high degrees of metacognition, which includes higher degrees of monitoring states of knowledge, more selfgenerated explanation goals and strategies, and greater attention to the instructional structure. Improvement in skill acquisition is also strongly related to the generation of explanations connecting the example material to the abstract terms introduced in the text, the generation of explanations that focus on the novel concepts, and spending more time in planning solutions to novel task components. We also found that self-explanation has diminishing returns. Finally, reflection on problem solutions that focus on understanding the abstractions underlying programs or that focus on understanding how programs work, seems to be related to improved learning.
Induction of Recursive Program Schemes
- In Proceedings of the 10th European Conference on Machine Learning (ECML-98
, 1998
"... . In this paper we present an approach to the induction of recursive structures from examples which is based on the notion of recursive program schemes. We separate induction from examples in two stages: (1) constructing initial programs from examples and (2) folding initial programs to recursiv ..."
Abstract
-
Cited by 15 (14 self)
- Add to MetaCart
. In this paper we present an approach to the induction of recursive structures from examples which is based on the notion of recursive program schemes. We separate induction from examples in two stages: (1) constructing initial programs from examples and (2) folding initial programs to recursive program schemes. By this separation, the induction of recursive program schemes can be reduced to a pattern-matching problem which can be handled by a generic algorithm. Construction of initial programs is performed with an approach to universal planning. "Background knowledge" is given in the form of operators and their conditions of application. Furthermore synthesizing recursive program schemes instead of programs in a predefined programming language enables us to combine program synthesis and analogical reasoning. A recursive program scheme represents the class of structural identical programs and can be assigned different semantics by interpretation. We believe that our appr...
Exploiting Program Schemata in a Prolog Tutoring System
, 1993
"... After their beginnings in computer-aided instruction, automated tutors have re-emerged as intelligent tutoring systems. These intelligent tutors have obtained considerable success by using results from cognitive psychology and artificial intelligence to permit non-traditional instruction which is ta ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
After their beginnings in computer-aided instruction, automated tutors have re-emerged as intelligent tutoring systems. These intelligent tutors have obtained considerable success by using results from cognitive psychology and artificial intelligence to permit non-traditional instruction which is tailored to their individual students. The success of these automated tutors is due to their precise understanding and modeling of both the student and the domain being taught. A common measure of the robustness of an automated tutor is the size of the domain that it can understand. The schema-based Prolog tutor described in this dissertation is capable of recognizing a larger class of programs than existing Prolog tutors. By using powerful generalized transformations, our Prolog tutor can generate this class of programs from a very small set of normal form programs. Thus, our Prolog tutor recognizes a larger class of programs using fewer normal form programs than existing Prolog tutors. One o...
A Theory of the Measurement of Knowledge Content, Access, and Learning
, 1998
"... We develop an approach to the measurement of knowledge content, knowledge access and knowledge learning. This approach has two elements: First we describe a theoretical view of cognition, called the Newell-Dennett framework, which we see as being particularly favourable to the development of a measu ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
We develop an approach to the measurement of knowledge content, knowledge access and knowledge learning. This approach has two elements: First we describe a theoretical view of cognition, called the Newell-Dennett framework, which we see as being particularly favourable to the development of a measurement aproach. Then, we describe a class of measurement models, based on Rasch modeling, which we see as being particularly favourable to the development of cognitive theories. Knowledge content and access are viewed as determining the observable actions selected by an agent in order to achieve desired goals in observable situations. To the degree that models within the theory fit the data at hand, one considers measures of observed behavior to be manifestations of intelligent agents having specific classes of knowledge content and varying degrees of access to that knowledge. Although agents, environment, and knowledge are constitutively defined (in terms of one another), successful applica...
Evaluating Environments for Functional Programming
- International Journal of Human-Computer Studies
, 2000
"... Functional programming presents new challenges in the design of programming environments. In a strongly typed functional language, such as ML, much conventional debugging of runtime errors is replaced by dealing with compile time error reports. On the other hand, the cleanness of functional progr ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Functional programming presents new challenges in the design of programming environments. In a strongly typed functional language, such as ML, much conventional debugging of runtime errors is replaced by dealing with compile time error reports. On the other hand, the cleanness of functional programming opens up new possibilities for incorporating sophisticated correctness-checking techniques into such environments. C Y NTHIA is a novel editor for ML that both addresses the challenges and explores the possibilities. It uses an underlying proof system as a framework for automatically checking for semantic errors such as non-termination. In addition, C Y NTHIA embodies the idea of programming by analogy --- whereby users write programs by applying abstract transformations to existing programs. This paper investigates C Y NTHIA's potential as a novice ML programming environment. We report on two studies in which it was found that students using C Y NTHIA commit fewer er...
Experiences with Novices: The Importance of Graphical Representations in Supporting Mental Models
- 12 th Annual Workshop of the Psychology of Programming Interest Group
, 2000
"... Recursion is an important problem solving technique used in programming. It is also a highly unfamiliar mental activity and many computing novices have difficult understanding recursion and applying recursive techniques in problem solving. Research studies have concluded that novices and experts dif ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Recursion is an important problem solving technique used in programming. It is also a highly unfamiliar mental activity and many computing novices have difficult understanding recursion and applying recursive techniques in problem solving. Research studies have concluded that novices and experts differ in their mental models of recursion. Novices seem to possess various inadequate models of recursion especially the iterative or loop model. This paper examines whether novices who are aided in acquiring an expert's mental model of recursion (the copies model) can effectively use this model in evaluating recursive algorithms. Results of a study indicated that a large percentage of novices who had previously demonstrated an understanding of the copies model (using explicit diagrammatic traces) failed do so when not using diagrammatic traces. In fact, they appeared to demonstrate evidence for the incorrect iterative or loop model when trying to mentally evaluate recursive programs. The resu...
Intertac Software Architecture
- Physical Layer on the Radio Path (General Description) Author: ETSI, Doc. no.: ETSI GSM 05.01 GPRS standard
, 2003
"... This paper describes the development of a groupware system from the requirements developed through researching the activities of software enginering students who were developing specification reports in groups. The specification is designed for an imaginary, but realistic, client. The groupware was ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
This paper describes the development of a groupware system from the requirements developed through researching the activities of software enginering students who were developing specification reports in groups. The specification is designed for an imaginary, but realistic, client. The groupware was developed to enable these groups to meet more often in non-collocated sessions. A list of requirements that were developed for the basic application software are presented here, together with the Architecture and Interface.
Softening the Complexity of Intelligent Systems Programming
"... Keywords: POP-I.B.barriers to programming, POP-III.A.recursion. Intelligent Systems (IS) are often complex to implement by their nature. This presents IS tutors with a problem if they want to encourage their students to explore practical implementation issues. If tutors wish to give students concise ..."
Abstract
- Add to MetaCart
Keywords: POP-I.B.barriers to programming, POP-III.A.recursion. Intelligent Systems (IS) are often complex to implement by their nature. This presents IS tutors with a problem if they want to encourage their students to explore practical implementation issues. If tutors wish to give students concise, easy to understand, practical examples of IS they are often forced to simplify systems to a point where their functionality is no longer realistic and may additionally hide important practical issues. Alternatively tutors may encourage students to build small but real systems. This requires students to possess advanced programming abilities and takes time, limiting what can be covered in other theoretical aspects of an IS course. As the nature of computing degrees becomes more diverse, and with it the background of students sitting IS modules, a third alternative is preferred. This paper explores an alternative which provides a suite of programming tools designed to aid students ' progress with practical symbolic computation. The paper describes these tools and demonstrates their efficacy in simplifying practical aspects of IS programming.
Supporting the Learning of Recursive Problem Solving
, 1994
"... : This research is about the problem solving activities of novice programmers as they learn to create recursive LISP programs. Their problem solving not only includes the issue of mental models, but also how to use these mental models in conjunction with other problem solving techniques. In fact, at ..."
Abstract
- Add to MetaCart
: This research is about the problem solving activities of novice programmers as they learn to create recursive LISP programs. Their problem solving not only includes the issue of mental models, but also how to use these mental models in conjunction with other problem solving techniques. In fact, at various stages of their learning, learners seem to use different packages of problem solving methods. Each of these packages we call a mental method. In this paper, we discuss the PETAL learning environment which assists learners in the use of three of these mental methods: the syntactic method, the analytic method and the analysis/synthesis method. PETAL externalizes each mental method through its own customized interface, called a programming environment tool (PET). Such externalization helps learners internalize concepts, and organize relevant knowledge and generally leads to improved learning. The PETAL System itself is presented. Next we discuss a study where one group of students used...

