Results 1 
5 of
5
Evaluating Environments for Functional Programming
 International Journal of HumanComputer 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 correctnesschecking 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 nontermination. 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...
An Analogical Reasoning Based Mathematics Tutoring System
, 1996
"... Mathematics is a subject which many students have difficulty with, and hence, there is a need for remedial methods of tuition. To make the domain of mathematical equations more accessible to novices, we have developed a graphical notation for explaining equations. This notation has been designed to ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Mathematics is a subject which many students have difficulty with, and hence, there is a need for remedial methods of tuition. To make the domain of mathematical equations more accessible to novices, we have developed a graphical notation for explaining equations. This notation has been designed to make term manipulation more comprehensible and memorable. The representations of the equations are called visual equation metaphors (VEMs) and consist of simple geometrical shapes. We have produced a computer program, called the VEM generator, that is able to generate geometric analogies based upon equations. We have constructed a computerbased VEM tutor, that uses these geometric analogies to teach users about collecting similar terms together and moving terms from one side of an equation to another. Both programs have been implemented in LPA MacPROLOG 3.5 and run on the Apple Macintosh. A study has been carried out to test the viability of the VEM theory and the VEM tutor, so that potenti...
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...
A Computational Framework for Granularity and its Application to
"... Educational Diagnosis Many artificial intelligence systems implicitly use notions of granularity in reasoning, but there is very little research into granularity itself. An exception is the work of Hobbs [1985], which outlines several characteristics of granularity. In this paper we describe an appr ..."
Abstract
 Add to MetaCart
Educational Diagnosis Many artificial intelligence systems implicitly use notions of granularity in reasoning, but there is very little research into granularity itself. An exception is the work of Hobbs [1985], which outlines several characteristics of granularity. In this paper we describe an approach to representing granularity which formalizes in computational terms most of Hobbs' notions, often refining and extending them. In particular two types of granularity have been delineated: aggregation and abstraction. Objects can be described at various grain sizes and connected together into a granularity hierarchy which allows focus shifts along either aggregation or abstraction dimensions. We briefly discuss how we have used granularity hierarchies in the recognition of novice LISP programming strategies and show how this enhances the recognition process and can lead toward planning appropriate feedback for the student. 1