Where do I begin? A problem solving approach in teaching functional programming
This paper introduces a problem solving method for teaching functional programming, based on Polya's How To Solve It, an introductory investigation of mathematical method. We first present the language independent version, and then show in particular how it applies to the development of programs in Haskell. The method is illustrated by a sequence of examples and a larger case study.
KeywordsFunctional programming Haskell palindrome recognition Polya problem solving
Unable to display preview. Download preview PDF.
- 1.David Barnes, Sally Fincher, and Simon Thompson. Introductory problem solving in computer science. In CTC97, Dublin, 1997.Google Scholar
- 2.Michael Clancy and Marcia Linn. Designing Pascal Solutions: Case studies using data structures. Computer Science Press, W. H. Freeman and Co., 1996.Google Scholar
- 3.Imre Lakatos. Proofs and Refuations: The Logic of Mathematical Discovery. Cambridge University Press, 1976. Edited by John Worrall and Elie Zahar.Google Scholar
- 4.John Peterson and Kevin Hammond, editors. Report on the Programming Language Haskell, Version 1.3. http://haskell.cs.yale.edu/haskell-report/haskell-report.html,1996.Google Scholar
- 5.G. Polya. How To Solve It. Princeton University Press, second edition, 1957.Google Scholar
- 6.Teaching functional programming: Opportunities & difficulties. http://www.ukc.ac.uk/CSDN/conference/96/Report.html,September 1996.Google Scholar
- 7.Simon Thompson. Haskell: The Craft of Functional Programming. Addison-Wesley, 1996.Google Scholar
- 8.Simon Thompson. Problem solving: recognising palindromes. http://www.ukc.ac.uk/computer-science/Haskell-craft/palindrome.html, 1996.Google Scholar
- 9.Simon Thompson. Programming it in Haskell. http://www.ukc.ac.uk/computer-science/Haskell-craft/ProgInHaskell.html, 1996.Google Scholar