解释程序代码:给学生答案是有帮助的——但仅仅是一点点

Simon, S. Snowdon
{"title":"解释程序代码:给学生答案是有帮助的——但仅仅是一点点","authors":"Simon, S. Snowdon","doi":"10.1145/2016911.2016931","DOIUrl":null,"url":null,"abstract":"Of the students who pass introductory programming courses, many appear unable to explain the purpose of simple code fragments such as a loop to find the greatest element in an array. It has never been established whether this is because the students are unable to determine the purpose of the code or because they can determine the purpose but lack the ability to express that purpose. This study explores that question by comparing the answers of students in several offerings of an introductory programming course. In the earlier offerings students were asked to express the purpose in their own words; in the later offerings they were asked to choose the purpose from several options in a multiple-choice question. At an overseas campus, students performed significantly better on the multiple-choice version of the question; at a domestic campus, performance was better, but not significantly so. Many students were unable to identify the correct purpose of small fragments of code when given that purpose and some alternatives. The conclusion is that students' failure to perform well in code-explaining questions is not because they cannot express the purpose of the code, but because they are truly unable to determine the purpose of the code - or even to recognize it from a short list.","PeriodicalId":268925,"journal":{"name":"Proceedings of the seventh international workshop on Computing education research","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2011-08-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"25","resultStr":"{\"title\":\"Explaining program code: giving students the answer helps - but only just\",\"authors\":\"Simon, S. Snowdon\",\"doi\":\"10.1145/2016911.2016931\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Of the students who pass introductory programming courses, many appear unable to explain the purpose of simple code fragments such as a loop to find the greatest element in an array. It has never been established whether this is because the students are unable to determine the purpose of the code or because they can determine the purpose but lack the ability to express that purpose. This study explores that question by comparing the answers of students in several offerings of an introductory programming course. In the earlier offerings students were asked to express the purpose in their own words; in the later offerings they were asked to choose the purpose from several options in a multiple-choice question. At an overseas campus, students performed significantly better on the multiple-choice version of the question; at a domestic campus, performance was better, but not significantly so. Many students were unable to identify the correct purpose of small fragments of code when given that purpose and some alternatives. The conclusion is that students' failure to perform well in code-explaining questions is not because they cannot express the purpose of the code, but because they are truly unable to determine the purpose of the code - or even to recognize it from a short list.\",\"PeriodicalId\":268925,\"journal\":{\"name\":\"Proceedings of the seventh international workshop on Computing education research\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2011-08-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"25\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the seventh international workshop on Computing education research\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2016911.2016931\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the seventh international workshop on Computing education research","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2016911.2016931","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 25

摘要

在通过编程入门课程的学生中,许多人似乎无法解释简单代码片段(如查找数组中最大元素的循环)的目的。这是因为学生无法确定代码的目的,还是因为他们可以确定目的,但缺乏表达目的的能力,这一点从未得到证实。本研究通过比较几门编程入门课程中学生的答案来探讨这个问题。在早期的课程中,学生们被要求用自己的话表达目的;在后来的实验中,他们被要求从多项选择题中的几个选项中选择目的。在海外大学,学生们在多项选择题上的表现明显更好;在国内的校园里,表现更好,但不是很明显。当给出一小段代码的目的和一些替代方法时,许多学生无法识别出代码的正确目的。结论是,学生在代码解释问题中表现不佳并不是因为他们无法表达代码的目的,而是因为他们确实无法确定代码的目的——甚至无法从一个简短的列表中识别它。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Explaining program code: giving students the answer helps - but only just
Of the students who pass introductory programming courses, many appear unable to explain the purpose of simple code fragments such as a loop to find the greatest element in an array. It has never been established whether this is because the students are unable to determine the purpose of the code or because they can determine the purpose but lack the ability to express that purpose. This study explores that question by comparing the answers of students in several offerings of an introductory programming course. In the earlier offerings students were asked to express the purpose in their own words; in the later offerings they were asked to choose the purpose from several options in a multiple-choice question. At an overseas campus, students performed significantly better on the multiple-choice version of the question; at a domestic campus, performance was better, but not significantly so. Many students were unable to identify the correct purpose of small fragments of code when given that purpose and some alternatives. The conclusion is that students' failure to perform well in code-explaining questions is not because they cannot express the purpose of the code, but because they are truly unable to determine the purpose of the code - or even to recognize it from a short list.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
CS majors' self-efficacy perceptions in CS1: results in light of social cognitive theory Personifying programming tool feedback improves novice programmers' learning How CS majors select a specialization Building professional identity as computer science teachers: supporting secondary computer science teachers through reflection and community building Predicting at-risk novice Java programmers through the analysis of online protocols
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1