LMC + Scratch: A recipe to construct a mental model of program execution

Noman Javed, Faisal Zeeshan
{"title":"LMC + Scratch: A recipe to construct a mental model of program execution","authors":"Noman Javed, Faisal Zeeshan","doi":"10.1145/3498343.3498353","DOIUrl":null,"url":null,"abstract":"Understanding how programs execute is one of the critical activities in the learning journey of a programmer. A novice constructs a mental model of program execution while learning programming. Any misconceptions at this stage lead to the development of a discrepant mental model. If left untreated, learning in advanced subjects like data structures and compiler construction may suffer. One of the ways to prevent the situation is carefully and explicitly unveiling the details of program execution. We employed Little Man Computer (LMC) for this purpose. Its interactive visual interface helped them internalise how software interacted with the hardware to achieve the programmer’s objective. After spending a few sessions on the programming of LMC, we moved to Scratch. Scratch is a much higher-level language than the LMC assembly. So, while introducing Scratch programming constructs, we mapped the LMC equivalents of these instructions. The strategy helped evade several misconceptions by developing a deep understanding of the program execution model. It also served as a building block for introducing other concepts like state, abstraction, the need for higher-level languages and the role of compilers etc. We tried this approach in an Introduction to Computer Science module where most students had zero or very minimal exposure to programming. We received positive feedback from students and other fellow teachers teaching in the subsequent semesters.","PeriodicalId":135120,"journal":{"name":"Proceedings of 6th Conference on Computing Education Practice","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2022-01-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of 6th Conference on Computing Education Practice","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3498343.3498353","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Understanding how programs execute is one of the critical activities in the learning journey of a programmer. A novice constructs a mental model of program execution while learning programming. Any misconceptions at this stage lead to the development of a discrepant mental model. If left untreated, learning in advanced subjects like data structures and compiler construction may suffer. One of the ways to prevent the situation is carefully and explicitly unveiling the details of program execution. We employed Little Man Computer (LMC) for this purpose. Its interactive visual interface helped them internalise how software interacted with the hardware to achieve the programmer’s objective. After spending a few sessions on the programming of LMC, we moved to Scratch. Scratch is a much higher-level language than the LMC assembly. So, while introducing Scratch programming constructs, we mapped the LMC equivalents of these instructions. The strategy helped evade several misconceptions by developing a deep understanding of the program execution model. It also served as a building block for introducing other concepts like state, abstraction, the need for higher-level languages and the role of compilers etc. We tried this approach in an Introduction to Computer Science module where most students had zero or very minimal exposure to programming. We received positive feedback from students and other fellow teachers teaching in the subsequent semesters.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
LMC + Scratch:构建程序执行的心智模型的方法
了解程序是如何执行的是程序员学习过程中的关键活动之一。初学者在学习编程的过程中会建立一个程序执行的心智模型。在这个阶段的任何误解都会导致一个不一致的心智模型的发展。如果不及时处理,像数据结构和编译器构造这样的高级科目的学习可能会受到影响。防止这种情况发生的方法之一是谨慎而明确地揭示程序执行的细节。为此,我们雇佣了Little Man Computer (LMC)。它的交互式可视化界面帮助他们内化软件如何与硬件交互以实现程序员的目标。在LMC编程上花了几次会议之后,我们转向了Scratch。Scratch是一种比LMC汇编语言高级得多的语言。因此,在介绍Scratch编程结构时,我们映射了这些指令的LMC等价物。该策略通过开发对程序执行模型的深入理解,帮助避免了一些误解。它还充当了引入其他概念的构建块,如状态、抽象、对高级语言的需求和编译器的角色等。我们在计算机科学导论模块中尝试了这种方法,大多数学生都没有或很少接触编程。在接下来的几个学期里,我们从学生和其他老师那里得到了积极的反馈。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Gender parity in peer assessment of team software development projects Promoting Engagement in Remote Computing Ethics Education LMC + Scratch: A recipe to construct a mental model of program execution Automated Code Tracing Exercises for CS1 Assessing Knowledge and Skills in Forensics with Alternative Assessment Pathways
×
引用
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