Teaching Introductory Functional Programming Using Haskelite
By: Pedro Vasconcelos
Potential Business Impact:
Teaches computer code by showing each step.
Learning functional programming requires learning a substitution-based computational model. While substitution should be a familiar concept from high-school algebra, students often have difficulty applying it to new settings, such as recursive definitions, algebraic data types and higher-order functions. Step-by-step interpreters have been shown to help beginners by clarifying misconceptions and improving understanding. This paper reports on the experience of using a step-by-step tracing interpreter for a subset of Haskell while teaching an introductory functional programming course at the University of Porto. We describe the use of the interpreter, present some feedback obtained from students, reflect on the lessons learned and point directions for further work.
Similar Papers
Functional Python Programming in Introductory Computer Science Courses
Computers and Society
Teaches coding skills by making programs safer.
Handling Higher-Order Effectful Operations with Judgemental Monadic Laws
Programming Languages
Makes computer programs more flexible and powerful.
Functional Program Synthesis with Higher-Order Functions and Recursion Schemes
Neural and Evolutionary Computing
Makes computers write their own code better.