{"title":"Study on difficulties and misconceptions with modern type systems","authors":"V. Tirronen","doi":"10.1145/2591708.2591726","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":334476,"journal":{"name":"Annual Conference on Innovation and Technology in Computer Science Education","volume":"32 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-06-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Annual Conference on Innovation and Technology in Computer Science Education","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2591708.2591726","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
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.