6533b7ddfe1ef96bd1273fc0

RESEARCH PRODUCT

Study on difficulties and misconceptions with modern type systems

Ville Tirronen

subject

Parametric polymorphismta113Functional programmingComputer sciencePedagogyComputingMilieux_COMPUTERSANDEDUCATIONProgramming paradigmMathematics educationType (model theory)SubtypingMeaning (linguistics)Multiple choice

description

Functional programming is often presented as an advantageous programming paradigm by its advocates, but many students and teachers consider it to be hard to learn. One particular hurdle in learning functional programming is mastering the modern type systems employed in these languages. In this article, we identify student difficulties with means of multiple choice questions embedded into the on-line materials of an introductory functional programming course. The most prevalent misconceptions were confusing with parametric polymorphism with subtyping, the assigning too much meaning to variables names, and confounding general language patterns with special cases.

10.1145/2591708.2591726http://juuli.fi/Record/0028976014