A Semblance of Similarity: Student Categorisation of Simple Algorithmic Problem Statements

James Finnie-Ansley, Paul Denny, Andrew Luxton-Reilly
{"title":"A Semblance of Similarity: Student Categorisation of Simple Algorithmic Problem Statements","authors":"James Finnie-Ansley, Paul Denny, Andrew Luxton-Reilly","doi":"10.1145/3446871.3469745","DOIUrl":null,"url":null,"abstract":"When a student reads a programming problem statement, something has to happen; that something could be abject confusion, the beginnings of a search for a solution, or a well-formed understanding of what the problem is asking and how to solve it. Barring abject confusion, several theories explain the differences between these responses all revolving around the existence or non-existence of a problem schema – some mental concept or knowledge structure which encodes what it is to be a particular type of problem which gets solved in a particular type of way. Learners often lack appropriate schemata to call upon when solving problems, instead resorting to generic problem-solving techniques. Not only is this an inefficient method of solving problems, it can even inhibit the development of schemata. In line with constructivist theories of learning, effective teaching should build on the existing knowledge of learners; to do so, we must understand the nature of what they know – what do their schemata, as undeveloped as they may be, ‘look like’ and what concepts do they have about problems? In this paper, we explore the categories students identify when sorting simple algorithmic computing problem statements and the language they use to describe those categories. We conduct an interpretivist study involving a card sorting exercise, in which 35 computing students across four years of tertiary-level study grouped problem statements into categories they identified as meaningful, followed up with semi-structured interviews. Results of qualitative analysis revealed several students do demonstrate productive knowledge for identifying and reasoning about common tasks such as filtering, mapping, aggregating, and searching; however, this knowledge is fragile and concrete, and does not demonstrate the existence of pre-established problem schemata or abstract knowledge of algorithmic patterns. One implication of this work is that instruction may benefit from a more explicit focus on patterns and plans, and an established language with which students can communicate and reason about them.","PeriodicalId":309835,"journal":{"name":"Proceedings of the 17th ACM Conference on International Computing Education Research","volume":"40 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-08-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 17th ACM Conference on International Computing Education Research","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3446871.3469745","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

When a student reads a programming problem statement, something has to happen; that something could be abject confusion, the beginnings of a search for a solution, or a well-formed understanding of what the problem is asking and how to solve it. Barring abject confusion, several theories explain the differences between these responses all revolving around the existence or non-existence of a problem schema – some mental concept or knowledge structure which encodes what it is to be a particular type of problem which gets solved in a particular type of way. Learners often lack appropriate schemata to call upon when solving problems, instead resorting to generic problem-solving techniques. Not only is this an inefficient method of solving problems, it can even inhibit the development of schemata. In line with constructivist theories of learning, effective teaching should build on the existing knowledge of learners; to do so, we must understand the nature of what they know – what do their schemata, as undeveloped as they may be, ‘look like’ and what concepts do they have about problems? In this paper, we explore the categories students identify when sorting simple algorithmic computing problem statements and the language they use to describe those categories. We conduct an interpretivist study involving a card sorting exercise, in which 35 computing students across four years of tertiary-level study grouped problem statements into categories they identified as meaningful, followed up with semi-structured interviews. Results of qualitative analysis revealed several students do demonstrate productive knowledge for identifying and reasoning about common tasks such as filtering, mapping, aggregating, and searching; however, this knowledge is fragile and concrete, and does not demonstrate the existence of pre-established problem schemata or abstract knowledge of algorithmic patterns. One implication of this work is that instruction may benefit from a more explicit focus on patterns and plans, and an established language with which students can communicate and reason about them.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
相似的外表:简单算法问题陈述的学生分类
当一个学生读到一个编程问题陈述时,一定会发生一些事情;这些东西可能是令人沮丧的困惑,可能是寻找解决方案的开始,也可能是对问题所在以及如何解决问题的良好理解。除了令人沮丧的困惑,有几种理论解释了这些反应之间的差异,它们都围绕着问题图式的存在或不存在——一些心理概念或知识结构,它们编码了什么是特定类型的问题,并以特定的方式得到解决。学习者在解决问题时往往缺乏适当的模式来调用,而是诉诸于通用的解决问题的技术。这不仅是一种低效的解决问题的方法,它甚至可以抑制模式的发展。根据建构主义学习理论,有效的教学应该建立在学习者已有知识的基础上;要做到这一点,我们必须了解他们所知道的本质——他们的图式是什么样子的,尽管他们可能还没有发展起来,他们对问题有什么概念?在本文中,我们探讨了学生在排序简单算法计算问题陈述时识别的类别以及他们用来描述这些类别的语言。我们进行了一项涉及卡片分类练习的解释主义研究,其中35名计算机专业的学生在四年的高等教育学习中将问题陈述分成他们认为有意义的类别,随后进行半结构化访谈。定性分析的结果显示,一些学生确实展示了识别和推理常见任务(如过滤、映射、聚合和搜索)的生产性知识;然而,这种知识是脆弱和具体的,并没有证明预先建立的问题模式或算法模式的抽象知识的存在。这项工作的一个含义是,教学可能受益于对模式和计划的更明确的关注,以及一种学生可以交流和推理的既定语言。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Exploring the Impact of Gender Bias on Pair Programming A Pedagogical Framework for Teaching Computer Programming: A Social Constructivist and Cognitive Load Theory Approach Computing Educational Activities Involving People Rather Than Things Appeal More to Women (Recruitment Perspective) Developing Empathy and Persistence through Professional Development in New to CSA Teachers Promoting Learning Transfer in Computer Science Education by Training Teachers to use Explicit Programming Strategies
×
引用
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