{"title":"现代类型系统的难点与误区研究","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":"{\"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}","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}
Study on difficulties and misconceptions with modern type systems
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.