The risks and benefits of teaching purely functional programming in first year
MANUEL M. T. CHAKRAVARTY a1andGABRIELE KELLER a2 a1 School of Computer Science and Engineering, University of New South Wales, NSW, Australia (e-mail: email@example.com) a2 School of Computer Science and Engineering, University of New South Wales, NSW, Australia (e-mail: firstname.lastname@example.org)
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.