Experiences from teaching functional programming at Chalmers

J Hughes - ACM Sigplan Notices, 2008 - dl.acm.org
ACM Sigplan Notices, 2008dl.acm.org
This note recounts my experiences of teaching functional programming at Chalmers
University in Gothenburg, the successes and the problems I encountered. A functional
language has been used for the eight week introductory programming course at Chalmers
since the early 1990s, initially using ML. I took over the course in the late 1990s, in
connection with a switch to Haskell, and taught it every subsequent year until recently. In the
late eighties and early nineties, many functional programming enthusiasts pushed to teach …
This note recounts my experiences of teaching functional programming at Chalmers University in Gothenburg, the successes and the problems I encountered. A functional language has been used for the eight week introductory programming course at Chalmers since the early 1990s, initially using ML. I took over the course in the late 1990s, in connection with a switch to Haskell, and taught it every subsequent year until recently.
In the late eighties and early nineties, many functional programming enthusiasts pushed to teach the subject in the first programming course, believing it to be a good vehicle for conveying basic programming concepts—and perhaps also that students would be” spoiled” if they learned imperative programming first. However, there are problems associated with doing this: it does not meet student expectations; many students have nothing to compare it with, and so cannot appreciate the advantages of a functional approach over a traditional one; students learn that functional programming is good for” toy problems”(because that is all a first programming course contains), but that” to do anything real you need Java/C++/whatever”. Such problems had led to an” I hate ML” club among the students at the time I took over the course. If many students see functional programming only in the introductory course, then such a course can do more harm than good.
ACM Digital Library