ABSTRACT
Standard ML is a state of the art functional programming language, with features that make it excellent for teaching recursion and problem solving at the introductory level. Among the many pedagogically interesting characteristics of ML are its simple and uniform syntax, its type polymorphism and type inferencing system, and datatype declaration facilities. With little formal ML instruction, after several weeks first year students were able to use recursively defined data structures and to define fairly powerful recursive functions in ML. Standard ML is highly recommended as a tool for teaching recursive problem solving in the context of a course on the foundations of computer science.
- 2.~ke WikstrSm. Functional Programming using MZ. Prentice-Hall International, January 1987. Google ScholarDigital Library
- 3.John Seely Brown. Learning-by-Doing Revisited }or Electronic Learning Environments. Lawrence Erlbaum Associates, 1983.Google Scholar
- 4.Lues CardeUi. ML under" Uni~. AT g~T Bell Laboratories, Murray Hi{t, New Jersey 07974, 1982.Google Scholar
- 5.W.F. Clockson and C.S. Mellish. Programming in Prolog. Springer-Verlag, 1984. Google ScholarDigital Library
- 6.Bruce S. Elenbogen and Martha It. O'Kennon. Teaching recursion using fractals in prolog. ACM SIGCSE Bulletin, 20(1):263-266~ February 1988. Google ScholarDigital Library
- 7.M.C. Er. On the complexity of recursion in problem solving. International journal of Man-Machine Studies, 20(6):537- 544, 1984. Google ScholarDigital Library
- 8.Gary Ford. A framework for teaching reeursion. SIGCSE Bulletin, 14(4):69-75, 82, June 1982. Google ScholarDigital Library
- 9.Robert Harper. Introduction to Standard ML. Tech~cal Report ECS-LFCS-86-14, University of Edinburgh, LFCS, Department of Computer Science, University Of Edinburgh, The King's Buildings, Edinburgh EtI9 3J~, November 1986.Google Scholar
- 10.Peter B. Henderson. Modem introductory computer science. Proceedings of the Eighteenth SIGCSE Technical Symposium on Computer Science Education, 183-189, February 1987. Google ScholarDigital Library
- 11.Claudius M. Kessler and John R. Anderson. Learning flow of controh recursive and iterative procedures. Human- Computer Interaetioa, 2(2):135-166, 1986.Google ScholarDigital Library
- 12.ttobin Milner. A proposal for Standard ML. In Proceedings of the 198~ A CM Symposium on Lisp and Functional Programming~ August 1984. Google ScholarDigital Library
- 13.Peter Piroli. A cognitive model and computer tutor for programming recursion. Human-Interaetion~ 2(4):319-356, 1986.Google ScholarDigital Library
- 14.Peter Piro}li and John R. Anderson. The role of learning from examples in the acquisltlon of recursive programming skills. Canadian Journal of Psychology, 39:240-272, 1985.Google ScholarCross Ref
- 15.Eric Roberts. Thinking Recursively. John WHey & Sons, inc., 1986. Google ScholarDigital Library
- 16.Susan Weidenbeck. Learning recursioa as a concept and as a programrnlng technique. A CM SIGCSE Bulletin, 20(1):275- 278, February 1988. Google ScholarDigital Library
Index Terms
- Teaching recursion as a problem-solving tool using standard ML
Recommendations
Teaching recursion as a problem-solving tool using standard ML
Standard ML is a state of the art functional programming language, with features that make it excellent for teaching recursion and problem solving at the introductory level. Among the many pedagogically interesting characteristics of ML are its simple ...
Simple objects for Standard ML
We propose a new approach to adding objects to Standard ML (SML) based on explicit declarations of object types, object constructors, and subtyping relationships, with a generalization of the SML case statement to a "typecase" on object types. The ...
Comments