Discrete mathematics and its applications (2nd ed.)
Discrete mathematics and its applications (2nd ed.)
Handbook of logic in computer science (vol. 2)
Discrete Mathematical Structures
Discrete Mathematical Structures
Elements of the Theory of Computation
Elements of the Theory of Computation
The Definition of Standard ML
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The case for teaching functional programming in discrete math
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Hi-index | 0.00 |
Functions are one of the most fundamentally important notions in (discrete) mathematics, formal methods, and computer science. Unfortunately, the grasp of a true and deep understanding of functions may not seem to be as easy as most students perceive, and the teaching technique for functions has been largely limited to the traditional mathematics practice, and remains inadequate in this matter. Towards finding a solution to this problem, in this paper, we propose functional programming as a means to enhance this learning-teaching activity. We first identify some common difficulties in students' learning of functions; then, we present another way to study functions --- λ-calculus on which (functional) programming languages are based; next, we show how those difficulties can be resolved by constructing relevant programs in the functional language ML; and finally, we summarize the contributions of this paper.