Journal of Functional Programming



EDUCATIONAL PEARL

The risks and benefits of teaching purely functional programming in first year


MANUEL M. T. CHAKRAVARTY a1 and GABRIELE KELLER a2
a1 School of Computer Science and Engineering, University of New South Wales, NSW, Australia (e-mail: chak@cse.unsw.edu.au)
a2 School of Computer Science and Engineering, University of New South Wales, NSW, Australia (e-mail: keller@cse.unsw.edu.au)

Article author query
chakravarty m   [Google Scholar] 
keller g   [Google Scholar] 
 

Abstract

We argue that teaching purely functional programming as such in freshman courses is detrimental to both the curriculum as well as to promoting the paradigm. Instead, we need to focus on the more general aims of teaching elementary techniques of programming and essential concepts of computing. We support this viewpoint with experience gained during several semesters of teaching large first-year classes (up to 600 students) in Haskell. These classes consisted of computer science students as well as students from other disciplines. We have systematically gathered student feedback by conducting surveys after each semester. This article contributes an approach to the use of modern functional languages in first year courses and, based on this, advocates the use of functional languages in this setting.