主机名:page-component-848d4c4894-pjpqr总加载时间:0渲染日期:2024-06-15T18:02:12.193Z有数据问题:falsehasContentIssue为false

用Haskell理解初学者的错误

部分: JFP研究文章

剑桥大学出版社在线出版:2015年8月6日

VILLE TIRRONEN公司
附属:
Jyväskylä大学数学信息技术系,邮政信箱35(Agora),40014,Jyváskyl-ä,芬兰(电子邮件:ville.tirronen@jyu.fi, samuel.h.uusi-makela@student.jyu.fi, ville.isottonen@jyu.fi)
SAMUEL UUSI-MáKELá
附属:
Jyväskylä大学数学信息技术系,邮政信箱35(Agora),40014,Jyváskyl-ä,芬兰(电子邮件:ville.tirronen@jyu.fi, samuel.h.uusi-makela@student.jyu.fi, 别墅.isomottonen@jyu.fi)
VILLE ISOMØTTÕNEN公司
附属:
Jyväskylä大学数学信息技术系,邮政信箱35(Agora),40014,Jyváskyl-ä,芬兰(电子邮件:ville.tirronen@jyu.fi, samuel.h.uusi-makela@student.jyu.fi, ville.isottonen@jyu.fi)
权限和权限 [在新窗口中打开]

摘要

核心共享和HTML视图不可用于此内容。但是,由于您有权访问此内容,可以通过“保存PDF”操作按钮获得完整的PDF。

本文概述了Haskell教授的函数式编程入门课程中的学生困难。这项研究的动机源于我们的信念,即通过理解错误的根本原因,并相应地修改教育方法,甚至可能修改教学语言,可以缓解许多学生的困难。我们分析学生提交的练习,并根据编译器错误消息对学生错误进行分类,然后根据观察到的潜在原因手动进行分类。我们的研究通过应用计算机和人工分析补充了早期关于该主题的研究,同时侧重于提供特定于FP语言的困难的描述性统计。我们的结论是,大多数学生的错误,无论是什么原因,都是由三条不同的编译器错误消息报告的,而学生们对此并没有很好的理解。此外,语法特征,如优先级、函数应用的语法和深层嵌套语句,在整个过程中都会造成困难。

类型
文章
版权所有
版权所有©剑桥大学出版社2015

工具书类

安德森,J.R.公司。,皮罗利,第页。&法雷尔,R。(1988)学习编写递归函数.英寸专业知识的性质,罗伯特,G.公司。,芝加哥,M.T.H.公司。&法尔,医学博士。(编辑),希尔斯代尔:心理学出版社; 国际标准图书编号-13: 978-0805804041,第页。153——184.谷歌学者
比恩纽萨,答:。,德根,M。,海德格尔,第页。,蒂埃曼,第页。,韦尔,美国。,燃气轮机,M。,克雷斯塔尼,M。,Klaeren公司,H。,可耐尔,E.公司。&斯佩贝尔,M。(2008)战场上的HtDP和DMdA。教育中的函数式和声明式编程。加拿大不列颠哥伦比亚省维多利亚市.交叉参考谷歌学者
布兰科,J。,洛萨诺,L。,阿吉雷,N。,诺瓦拉,M.M.先生。,佩米吉亚尼语,美国。&锡林戈语,G.公司。(2009)基于形式规范和程序计算的程序设计入门课程.ACM SIGCSE公牛。 41 (2),31——37.交叉参考谷歌学者
博纳尔,J。&索洛韦,E.公司。(1985)编程前知识:初学者误解的主要来源.人类–计算。互动。 1 (2),133——161.交叉参考谷歌学者
棕色,北卡罗来纳州。&阿尔塔德姆里,答:。(2014)调查新手编程错误:教育者的信念与学生的数据。第十届国际计算机教育研究年会论文集。苏格兰格拉斯哥格拉斯哥大学:ACM。交叉参考谷歌学者
查克拉瓦蒂,麻省理工学院。&凯勒,G.公司。(2004)第一年教授纯函数编程的风险和好处.J.功能。程序。 14 (1),113——123.交叉参考谷歌学者
钱伯斯,C、。,,美国。,,D。&斯卡菲迪,C、。(2012)信息源在函数式编程学习中的作用和功能.J.计算。科学。学院 28 (1),220——226.谷歌学者
克拉克,C、。&迈尔斯,C、。(1995)机能失调学生.英寸教育中的函数式编程语言,哈特尔,第页。&普拉斯梅耶,R。(编辑),《计算机科学讲义》,第1022卷。柏林/海德堡:施普林格,第页。289——309.交叉参考谷歌学者
达马斯,L。&米尔纳,R。(1982)函数程序的主要类型模式.英寸第九届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录.美国新墨西哥州阿尔伯克基:美国计算机协会出版社,国际标准图书编号0-89791-065-6,第页。207——212.谷歌学者
丹尼,第页。,卢克斯顿-雷利,答:。&Tempero公司,E.公司。(2012)并非所有语法错误都相同。第17届ACM计算机科学教育创新与技术年会论文集。以色列海法:ACM,第75-80页。交叉参考谷歌学者
法尔基,E.公司。,Nir公司,年。&你的,美国。(2003)并发错误模式以及如何测试它们。并行和分布式处理研讨会论文集,国际,法国尼斯,2003年。IEEE,第7页。谷歌学者
费雷森,M。,查找器,钢筋混凝土。,扁平,M。&克里什纳莫西,美国。(2001)如何设计程序.剑桥:麻省理工学院出版社.谷歌学者
费雷森,M。,查找器,钢筋混凝土。,扁平,M。&克里什纳莫西,美国。(2004)计算机科学课程的结构与解读.J.功能。程序。 14 (4),365——378.交叉参考谷歌学者
芬威克,J.B.公司。 年少者,诺里斯,C、。,巴里,F.E.公司。,朗特里,J。,香料,C.J.公司。&脸颊,S.D.公司。(2009)再看一下新手程序员的行为.ACM SIGCSE公牛。 41 (1),296——300.交叉参考谷歌学者
查找器,钢筋混凝土。,克莱门茨,J。,弗拉纳根,C、。,扁平,M。,克里什纳莫西,美国。,Steckler公司,第页。&费雷森,M。(2002)Drscheme:scheme的编程环境.J.功能。程序。 12 (02),159——182.交叉参考谷歌学者
驻军,D.R.公司。&卡努库山,H。(2004)混合学习:揭示其在高等教育中的变革潜力.互联网高等教育。 7 (2),95——105.交叉参考谷歌学者
哈伯曼,B。&埃弗巴克,H。(2002)基本案例:为什么它们如此难以识别?学生在递归方面的困难。ACM SIGCSE公告,第34卷。ACM,第84-88页。交叉参考谷歌学者
哈格,J。&Keeken公司,第页。(2006)氦的开采。技术报告UU-CS.谷歌学者
黑格,J。&黑伦,B。(2007)类型错误发现和恢复的启发式方法.英寸函数语言的实现与应用,施普林格,第页。199——216.交叉参考谷歌学者
霍尔,C.V.公司。,哈蒙德,K。,佩顿·琼斯,美国。&瓦德勒,第页。(1996)Haskell中的类型类.ACM事务处理。程序。语言系统。(托普拉斯) 18 (2),109——138.交叉参考谷歌学者
黑伦,B.J.公司。(2005)2005年9月20日,乌得勒支大学IPA论文系列,顶级质量类型错误消息。谷歌学者
黑伦,B。,莱延,D。&van IJzendooron公司,答:。(2003)氦,用于学习哈斯克尔。2003年ACM SIGPLAN Haskell研讨会论文集。瑞典乌普萨拉:ACM,第62-71页。交叉参考谷歌学者
赫顿,G.公司。(1999)折叠的普遍性和表现力教程.J.功能。程序。 9 (4),355——372.交叉参考谷歌学者
Isomöttönen公司,五、。&蒂罗宁,五、。(2013)通过强调自我指导来教授编程:学生对要求他们发挥的积极作用有何反应? 事务处理。计算。教育。 13 (2),6:1——6:21.交叉参考谷歌学者
贾杜德,M.C.公司。(2005)使用BlueJ的新手编译行为初探.计算。科学。教育。 15 (1),25——40.交叉参考谷歌学者
尤斯登,美国。,伯格,K。&Hoeven公司,G.V.D.公司。(1993)向一年级学生教授函数式编程.J.功能。程序。 (1),49——65.交叉参考谷歌学者
康尼,H。(1983)新手程序员对递归了解多少。在SIGCHI计算机系统人为因素会议记录中。美国马萨诸塞州波士顿:ACM,第235-239页。交叉参考谷歌学者
科拉夫努,E.公司。(1995)通过函数语言向计算机科学本科生介绍编程原理。第一届函数式编程语言教育国际研讨会论文集。(FPLE’95),LNCS 1022,荷兰奈梅亨:施普林格-弗拉格出版社,ISBN-13:978-3540606758,第15-34页。交叉参考谷歌学者
基努南,第页。&马尔米,L。(2006)为什么学生会放弃CS1课程?第二届计算机教育研究国际研讨会论文集。英国坎特伯雷肯特大学,ICER’06。美国纽约:ACM,第97–108页。谷歌学者
拉赫蒂宁,E.公司。,阿拉穆特卡,K。&贾尔维宁,H.M.公司。(2005)初学者的困难研究.SIGCSE牛市。 37 (3),14——18.交叉参考谷歌学者
勒布朗,R·J。&费希尔,C.编号。(1982)Pascal程序运行时错误的案例研究.软件:实际。专家。 12 (9),825——834.谷歌学者
勒纳,学士学位。,花朵,M。,格罗斯曼,D。&钱伯斯,C、。(2007)正在搜索类型错误消息。在ACM SIGPLAN通知中,第42卷。ACM,第425-434页。交叉参考谷歌学者
莱万多夫斯基,G.公司。(2003)使用过程日志从定性上了解初级程序员.J.计算。科学。学院 19 (1),299——310.谷歌学者
,美国。,公园,美国。,Seo公司,E.公司。&,年。(2008)从错误中学习:对真实世界并发错误特征的全面研究。在ACM SIGPLAN通知中,第43卷。ACM,第329-339页。交叉参考谷歌学者
,L。,弗格森,J。,罗珀,M。&木材,M。(2011)调查和改进初学者掌握的编程概念模型.计算。科学。教育。 21 (1),57——80.交叉参考谷歌学者
玛索,G.公司。,菲斯勒,K。&克里什纳莫西,美国。(2011a) 衡量为初学者设计的错误消息的有效性。第42届ACM计算机科学教育技术研讨会论文集。ACM,第499-504页。交叉参考谷歌学者
玛索,G.公司。,菲斯勒,K。&克里什纳莫西,美国。(2011b) 注意语言:关于新手与错误消息的交互。第十届SIGPLAN会议记录。爱沙尼亚塔林,2005年9月26-28日,关于编程和软件的新思想、新范式和思考的研讨会。ACM,第3-18页。交叉参考谷歌学者
麦克布莱德,C、。&帕特森,R。(2008)功能珍珠:具有效果的应用程序.J.功能。程序。 18 (1),1——13.交叉参考谷歌学者
莫拉赞,麻省理工学院。(2011)CS1教室中的功能视频游戏。函数式编程趋势2011年5月16日至18日,西班牙马德里:斯普林格出版社,第166-183页。交叉参考谷歌学者
莫拉赞,麻省理工学院。(2012)CS1 II中的功能视频游戏.英寸函数式编程趋势,施普林格,圣安德鲁斯大学,英国苏格兰,第页。146——162.交叉参考谷歌学者
窗格,J.F.公司。,拉塔那马哈塔纳,C.答。&迈尔斯,学士。(2001)研究非程序员解决编程问题的语言和结构.国际人类计算杂志。双头螺栓。 54 (2),237——264.交叉参考谷歌学者
豌豆,钢筋混凝土。(1986)新手编程中与语言相关的概念性“bug”.J.教育。计算。物件。 2 (1),25——36.交叉参考谷歌学者
珀金斯,D.编号。&马丁,F、。(1986)新手程序员脆弱的知识和被忽视的策略。《程序员实证研究第一届研讨会论文集》,美国华盛顿特区,第213-229页。谷歌学者
吕尔,F、。(2008)关于教学类型和功能的提示。2008年9月21日,加拿大不列颠哥伦比亚省维多利亚市,《2008年教育中功能性和声明性编程国际研讨会论文集》,ACM,第79-90页。交叉参考谷歌学者
西格尔,J。(1994)函数编程学习者评价递归函数的实证研究.仪器科学。 22 (5),385——411.交叉参考谷歌学者
索洛维,E.公司。&埃利希,K。(1984)编程知识的实证研究。IEEE传输。柔和。工程师。595–609.交叉参考谷歌学者
索洛维,E.公司。,埃利希,K。&博纳尔,J。(1982)利用隐性编程知识。1982年计算机系统人为因素会议记录。美国盖瑟斯堡:ACM,第52-57页。交叉参考谷歌学者
萨默伦,M.W.公司。(1990)发生了什么?使用Prolog了解初学者的问题.仪器科学。 19 (4),257——282.2007年10月10日/BF00116441.交叉参考谷歌学者
扰流板,J·G·。&索洛韦,E.公司。(1986)分析新手程序中的高频错误。在第一届程序员实证研究研讨会上发表的论文。美国华盛顿特区:美国新泽西州诺伍德:Ablex出版公司,第230-251页。谷歌学者
斯特菲克,答:。&西伯特,美国。(2013)程序设计语言句法的实证研究.ACM事务处理。计算。教育。(目录) 13 (4),19.谷歌学者
汤普森,美国。&希尔,美国。(1995)通过课程进行功能编程.英寸教育中的函数式编程语言,FPLE LNCS 1022,哈特尔,P.H.公司。&普拉斯梅耶,米J。(编辑),荷兰奈梅亨:Springer-Verlag公司,第页。85——102.交叉参考谷歌学者
蒂托,五、。(1997)课堂作为社区:探索学生坚持的教育特征.J.高等教育。 68 (6),599——623.谷歌学者
蒂罗宁,五、。&Isomöttönen公司,五、。(In Press)具有认知有效的范例形式的教学类型。J.功能。程序。谷歌学者
乌略亚,M。(1980)计算机编程教学:学生问题、教学方法和自动化教学工具调查.SIGCSE牛市。 12 (2),48——64.交叉参考谷歌学者
Vujoševic-Janicic公司,M。&到塞奇,D。(2008)编程范例在第一门编程课程中的作用.教书。数学。 十一 (2),63——83.谷歌学者
提交响应

讨论

尚未发布此文章的讨论。