Functional Baby Talk: Analysis of Code Fragments from Novice Haskell Programmers
Jeremy Singer (University of Glasgow), Blair Archibald (University of, Glasgow)

TL;DR
This paper analyzes 161,000 interactions from novice Haskell programmers to identify common errors and behaviors, providing insights to improve educational tools for teaching functional programming.
Contribution
It presents a large-scale analysis of novice Haskell errors and behaviors, offering recommendations for enhancing beginner code evaluation environments.
Findings
Parenthesis mismatches are common among novices.
Lexical scoping errors frequently occur.
Do block misunderstandings are prevalent.
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Malware Detection Techniques · Online Learning and Analytics
