Classical Programming Topics with Functional Programming
In traditional Hungarian programming education programming theorems are the foundation of learning programming. These generic algorithm patterns are traditionally introduced using the imperative programming paradigm with sequences, loops, and conditions. Usually the next step is to go in the direction of object-oriented programming after learning about programming theorems and basic algorithms. One possible way to approach object-oriented programming is through enumerators: the implementation of enumerable data types and the application of programming theorems on them. In this paper we present a way to use the functional programming paradigm along with concepts from object-oriented programming to introduce and implement programming theorems and enumerators in introductory programming. This paper also presents a higher-order-first approach to programming education and the possible educational advantages this method.