Functional Baby Talk: Analysis of Code Fragments from Novice Haskell Programmers

Jeremy Singer
(University of Glasgow)
Blair Archibald
(University of Glasgow)

What kinds of mistakes are made by novice Haskell developers, as they learn about functional programming? Is it possible to analyze these errors in order to improve the pedagogy of Haskell? In 2016, we delivered a massive open online course which featured an interactive code evaluation environment. We captured and analyzed 161K interactions from learners. We report typical novice developer behavior; for instance, the mean time spent on an interactive tutorial is around eight minutes. Although our environment was restricted, we gain some understanding of Haskell novice errors. Parenthesis mismatches, lexical scoping errors and do block misunderstandings are common. Finally, we make recommendations about how such beginner code evaluation environments might be enhanced.

In Simon Thompson: Proceedings Sixth Workshop on Trends in Functional Programming in Education (TFPIE 2017), Canterbury, Kent UK, 22 June 2017, Electronic Proceedings in Theoretical Computer Science 270, pp. 37–51.
Published: 11th May 2018.

ArXived at: bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to:
For website issues: