没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记178(2007)51-59www.elsevier.com/locate/entcsJeliot 3在一个苛刻的教育环境和r'es莫雷诺1约恩苏大学计算机科学系约恩苏迈克·S 欢乐2华威大学计算机科学系英国考文垂摘要我们报告的初步结果定性调查学生如何接近程序可视化工具,以及是否该方法取决于他们如何被教导使用该工具。志愿者学生在本科编程课程分为两组。一组明确使用该工具教授编程概念,并要求使用它来解决每周练习和项目,而另一组仅在自愿的基础上使用该工具。我们确定了使用学生发现有益的工具的那些方面,并讨论了Jeliot 3提供的动画的局限性保留字:程序可视化,Jeliot 3,实验,程序设计1引言软件可视化(SV)工具旨在用于程序员学习路径的早期阶段,教他们编程[7],算法[5]和软件开发周期[10]的基础知识。SV工具通过图形或动画传达重要信息。尽管人们相信视觉表示是有用的,但之前对软件可视化工具的评估表明,这些工具并不能显著改善学习结果[2]。尽管如此,一些实验[4]表明,他们在学习算法或基本编程技能时会激励学生1电子邮件:Andres. cs.joensuu.fi2电子邮件:M.S. warwick.ac.uk1571-0661 © 2007 Elsevier B.V. 在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2007.01.03352A. Moreno,M.S.Joy/Electronic Notes in Theoretical Computer Science 178(2007)511.1杰里奥3Jeliot 3 [7]是一个面向新手程序员的程序动画工具,其中动画表示Java程序的一步一步执行,见图1。程序执行中的每一步都以图形方式明确表示,生成的动画是虚拟机如何解释程序代码的模拟。动画发生在一个“剧院”,分为四个独立的区域。中心和主要区域是“表达式评估”区域,随着评估的进行,消息、方法调用、值和引用被移动到其他可视化区域或从其他可视化区域移动到其中。学生可以在Jeliot 3中编程,之后他们可以可视化他们的程序并遵循其执行路径。Fig. 1. Jeliot为创建新对象设置动画的屏幕截图。2文献综述Ben-Bassat Levy等人[1]研究了Jeliot 2000(Jeliot 3的前身)与使用集成开发环境(IDE)TurboPascal跟踪程序相比的教学优势。他们的研究将高中生在编程入门课程中分为两组。他们两人都参加了同样的讲座,但在他们的实验室会议上,一组使用Jeliot 2000,另一组使用TurboPascal。结果表明,使用Jeliot 2000的人在理解方面有所改善。 最大的进步来自平庸的学生A. Moreno,M.S.Joy/Electronic Notes in Theoretical Computer Science 178(2007)5153代表了一个可行的工作模型,他们可以理解和遵循的程序的执行。不过,无论是实力最强的学生还是实力最弱的学生,似乎都没有什么收获,要么太简单,要么太复杂。在另一个实验中,从35名学生那里收集了定性数据,这些学生正在参加第二门编程课程,并使用Jeliot 3 [3]。学生们被要求在解决编程问题时反思他们对Jeliot 3的使用 和调试任务。调查结果指出了Jeliot 3给那些有编程经验的学生和那些以前没有使用过Jeliot 3的学生带来的问题。同样,新手学生对使用工具。Kehoe等人。[4]认为需要一种不同的方法来证明算法动画的有效性。 他们假设,算法动画工具在交互式环境中使用时会更加明显,例如家庭作业。他们声称,如果同时提供辅助教学,动画。此外,一项荟萃分析指出了动画如何向学生管理的重要性,而不是实际可视化的内容[2]。Petre [9]讨论了理解可视化所需的技能,以及新手和专家如何从中提取不同的信息。在使用可视化中给出的训练类型促进了学生注意次级符号提示的技能的发展。获得这种技能将新手与专家区分开来;因此,它被认为是理解可视化的基础3目的我们研究的想法是扩展Ben-Bassat Levy等人的实验。然而,本研究并没有比较两种不同的工具,而是关注学生在两种不同的学习环境中使用单一可视化工具的情况,并比较他们对工具的态度和使用情况。更重要的是,我们试图检查动画传达的信息是否被两个群体正确理解,即使他们是我们-不同的工具。我们可以预期,在不同的背景下使用该工具应该会对学生产生不同的影响,无论是在他们使用工具的表现[4]还是在他们对所教概念的理解[9]方面。我们提出以下假设:• H1:Jeliot 3的动画被那些以前被要求用Jeliot 3解决任务的学生理解得更好。 例如,他们应该能够跟随和再现动画剧场中发生的事情,比没有得到明确指导的学生更详细• H2:学生54A. Moreno,M.S.Joy/Electronic Notes in Theoretical Computer Science 178(2007)514方法该研究的参与者包括6名数学专业的本科生,他们参加了编程入门课程,自愿使用Jeliot 3作为他们每周任务和项目的编程环境。他们被分为两组,“自愿”组和“正常”组。 前者由两名学生组成,他们每周参加一次额外的会议,在此期间专门使用Jeliot。其中一名学生报告说有VisualBasic的编程经验,另一名学生在Microsoft O编程套件方面非常熟练,但没有人有Java编程经验。所有参与者都参加了为期10周的模块讲师通过鼓励学生使用Jeliot 3并在最初的讲座和实验室课程中使用它该工具被部署为Java Web启动应用程序。建立了一个网页3,以存放该申请和在线文件。4.1程序每周半小时,“自愿”组的学生完成一组额外的迷你任务,旨在使用Jeliot 3解释一个或多个概念。这些教授的概念与该周课程中教授的材料密切相关,并且与他们在解决每周作业时预期使用的内容密切相关。学生们在受控的实验室环境中单独完成这些迷你任务,研究人员(第一作者)在场帮助他们理解可视化并在迷你任务中取得进展。研究者收集了学生对这些小任务的回答,并检查了他们对程序和动画的错误理解,并对学生进行了进一步的解释为什么他们的答案是错误的或者动画是什么意思。这是两组之间唯一的差异“正常”组和“自愿”组都在每周的实验室会议上使用Jeliot 3(每次2小时),并在家里完成他们的任务。提供的唯一支持是在实验室会议期间特别要求的在最初的四周里,研究人员作为教师助理出现在普通的实验室中,与所有参加这些会议的学生(不超过20名学生)进行互动,并写下自己的观察结果,以及学生在Jeliot 3中发现的态度和问题第四周后,当学生们应该继续进行更复杂的项目工作时,对两组的六名学生进行了半结构化访谈。3http://www.cs.joensuu.fi/jeliot/warwick/A. Moreno,M.S.Joy/Electronic Notes in Theoretical Computer Science 178(2007)51554.2数据分析本报告分析的定性数据包括学生在访谈中的反应。访谈的核心是探讨学生对Jeliot 3的态度,例如他们对编程概念的了解,以及他们是否会在未来的作业中继续使用Jeliot。评估他们的知识分两步进行。他们首先被要求解释Java在创建一个对象时经历了哪些步骤,其次是描述他们在Jeliot中观看对象创建时的动画。总共对6次访谈进行了录音和转录。根据Jeliot对学生的作用和使用方式,研究人员从学生的成绩单中提取了一系列句子,并将其分为两大类:Jeliot作为学习辅助工具和调试工具。随后,研究人员5结果5.1Jeliot作为学习辅助工具所有的学生都提到了课程中存在的“空白”。在课程的不同点上,他们意识到要求需要遵循课程的节奏,实践作业突然发生了变化“这似乎很简单,下一个星期你喜欢,你跳,有 中间的一个大跳跃。而且这堂课正如学生提到的,理论和理论的应用之间出现了差距;然而,当学生无法掌握一个新概念时,差距也会出现。数组和对象,以及基本语法,似乎是麻烦-一些,学生要求进一步解释这些主题:“Maybe, if we had some sort of introduction more into the syntax of Java, andmaybe学生的回答显示,涉及数组和对象的动画是最有用的。只有一个学生,从“正常”组,没有提到Jeliot是帮助的差距。 所有其他的学生都使用了Jeliot 3,当他们试图缩小课程中出现的差距时,他们发现Jeliot3是有用的,无论他们来自哪个群体“它[Jeliot 3]真的很有用,因为你可以遵循它,通过代码[...]。它帮助我理解我如何创建对象。[...]它澄清了事情,而不仅仅是一个白色屏幕。即使他们声称Jeliot帮助他们理解了概念,他们也无法重现对象创建之后的执行路径只有两个学生-56A. Moreno,M.S.Joy/Electronic Notes in Theoretical Computer Science 178(2007)51来自“正常”组的凹痕产生分配过程的可接受的描述。两人都知道,是杰利奥特帮了他们。“[...]但现在我们正在学习新的概念和新的对象,它[Jeliot 3]是有用的。其他学生在描述对象分配的动画时出现了一些误解。 this引用和从构造函数调用传递到构造函数框架的参数导致了大多数问题。例如,他们中的一些人希望参数直接“按值”传递给对象。尽管如此,动画对应的基本语句,例如,赋值或变量声明,被所有的受试者正确地描述,除了一个来自5.2Jeliot作为调试器只有一名参与者属于“自愿”组,在四次观察的实验室会议期间没有使用Jeliot 3完成分配的任务。其他人在实验室会议期间集中使用Jeliot 3他们中的大多数人在完成任务时遵循迭代方法:(i)读指令,(ii)写方法,(iii)创建和运行短测试。这个周期的第一次迭代可以理解为学习过程的一部分。接下来的迭代有了更清晰的调试目标。 他们用Jeliot 3来可视化识别bug:“[...]和Jeliot一起,你玩过它,[...]一个数字去了它不该去的地方这一点是错误的。在处理由多个文件组成的项目工作时,他们不得不暂时放弃Jeliot 3,因为它不支持类(一组存储在不同文件中的类)。然而,当他们不明白为什么他们的程序不工作时,他们又回来使用Jeliot 3:“如果有一件事我很难理解,我就把它贴到Jeliot上。并加以利用,这样我们就有了真正存在的价值观在使用Jeliot 3作为调试器时,学生们发现了该工具的当前限制。他们中的大多数人建议能够“跳过动画”,以便只可视化他们感兴趣的内容:“Possibly 【......】只是为了测试代码的一小部分没有一个学生提到可以从工具的不同菜单激活的两个Jeliot 3功能的使用-插入断点的能力和调用与主方法不同的方法的能力A. Moreno,M.S.Joy/Electronic Notes in Theoretical Computer Science 178(2007)51575.3实验室会话观察结果从实验室的观察中,我们注意到完全的新手都表现出一种共同的行为。学生们在参加课程时似乎有两个不同的目标。他们的主要目标是通过解决分配的任务来务实地完成课程,他们的次要目标是了解他们的解决方案是如何实现的。 注意到动画(如果他们使用Jeliot 3)和控制台输出(如果他们使用系统Java实现而不是Jeliot 3)都不能用来理解编程的基础知识,除非明确教授。学生发现很难理解复合作业,例如, a+=3;. 一些使用Jeliot 3的学生无法破译其动画中所采取的步骤。 只有向他们解释了动画之后,他们才能理解 了学生们也厌倦了动画的长度,全速前进然而,在第三次实验室会议上,一名来自“志愿组”的学生6讨论根据我们的假设H1,来自“自愿”组的学生应该表现出比“正常”学生有更多的词汇量和理解力。两个“自愿”的学生在描述动画时表现出相似的细节水平,但他们也表现出对对象创建动画的一些误解,这表明自愿的小任务可能没有很大的帮助。一个可能的解释是,“自愿”学生额外花在物体上的半个小时假设H2将得到支持,如果我们观察到“自愿”组表现出不同的行为,以“正常”组。在这种情况下,两组学生都能够使用Jeliot来尝试理解新概念并重新解决代码中的错误,我们没有证据支持H2。在这个小调查中,我们无法确定接受额外教育的学生之间有任何明显的区别,他们使用Jeliot作为辅助工具。在学习编程,以及那些谁使用它来学习编程,但没有任何特殊的帮助。例如,如果“自愿”学生已经被明确教导Jeliot 3如何创建对象,或者如果“正常”学生之前已经多次看到对象创建动画,这并不重要。 看来他们没有将他们所拥有的知识与动画不断重复的信息进行对比。相同动画的重复次数可能会使学生对动画本身的重要性,并将其简化为“移动盒子的电影”。他们能够跟踪盒子,并发现它们何时被放错了位置,但尽管这对识别错误很有用,但动画的潜在含义可能没有被吸收。58A. Moreno,M.S.Joy/Electronic Notes in Theoretical Computer Science 178(2007)517结论和今后的工作本调查报告的背景下,学生如何使用的教育工具解决编程课程的本科生编程作业。使用该工具观察了两组学生。第一组被给予明确的使用指导,并要求使用它来解决与每周任务相关的迷你任务。另一组除了他们在实验课上要求的帮助外从这些初步结果来看,新手学生似乎很难理解Jeliot 3动画。 从工具到学生的知识转移是不成功的。即使是那些已经被明确解释了动画含义的学生,在理解或应用这些动画时也会遇到问题。尽管有这个问题,两组学生都发现他们从动画中得到的帮助对调试他们的程序很有用。 此外,所有的学生都发现Jeliot 3很容易 大多数开始使用Jeliot 3的学生继续使用它。调查的结果是不确定的,但他们传播了一些关于为什么软件可视化工具在教育中没有像预期的那样广泛使用的光。在Jeliot 3的情况下,我们认为在动画中添加口头解释[6] JH A V E ′ [ 8 ]中的“思考和思考”问题可能无法在这次调查中发现。Mayer 在多媒体中,这意味着音频和图形的同时组合将优化学习者的认知负荷。另一种更简单的方法是将图形与文本标题结合起来。这种扩展的动画将为新手提供重要的信息,帮助他们理解动画中使用的二级符号[9],并建立程序计算的正确心理模型“停下来思考”的问题是那些被编织到动画中的问题。他们通过询问有关运行al-tax m的具体问题来评估学生的理解能力(例如,哪个是变量stepper的下一个值?)。这样的问题被发现有助于在动画期间保持学生最后,我们相信学生从使用Jeliot 3中受益。 然而,Jeliot 3不够灵活,无法支持不同级别的用户知识和认知技能(例如,一些学生比其他学生更快地掌握概念),以及不同的使用模式(例如,理解或调试)。这三个因素意味着需要为学生建模,以便内容(组合动画问题和解释)可以适应学生的技能和他们与Jeliot一起执行的任务。此外,解释可以帮助较弱的学生,为他们提供额外的和有价值的学习材料。致谢作者感谢华威大学的参与者和研究员,特别是MA117的学生和他们的老师PetrPlechac。我们还感谢A. Moreno,M.S.Joy/Electronic Notes in Theoretical Computer Science 178(2007)5159Jeliot团队的其他成员和Justus Randolph,他帮助我们设计了这个实验。引用[1] Ben-Bassat Levy,R.,M. Ben-Ari和P.A. Uronen,Jeliot 2000程序动画系统,计算机教育40(2002),pp. 1-15。[2] 洪德豪森角D、S. A.道格拉斯和J. T. Stasko,算法可视化有效性的元研究,视觉语言和计算杂志13(2002),pp. 259-290。[3] Kan nusmäaki,O. 、杨A. Moreno,N. MyllerandE. Sutinen,Whatanovi cewants:Studentsusingp rogramvisualization in distance programming course,in:A. Korhonen,editor,Proceedings of the ThirdProgram Visualization Workshop,The University of Warwick,UK,2004,pp. 126比133[4] 凯霍角M.,J. T. Stasko和A. Talor,Rethinking the evaluation of algorithm animations as learning aids:an observational study,International Journal of Human Computer Studies54(2001),pp. 265-284。URLciteseer.ist.psu.edu/kehoe99rethinking.html[5] Korhonen,A.,L. Malmi和R. Saikkonen,矩阵-概念动画和算法仿真系统,在:ITICSE一百八十[6] 迈尔河,巴西-地E、“Multimedia Learning,” Cambridge University Press,[7] Moreno,A.,N. Myller,E.Sutinen和M.Ben-Ari,Jeliot3可视化程序。2004年第8届高级视觉界面国际工作会议论文集,第100页。373-376.[8] 纳 普斯 ,T。 L., JHAV E′-添加 必要的资 源来支持 主动参 与的工具 ,IEEE计算 机图形和 应用25(2005),pp. 49比55[9] Petre,M.,为什么看 ACM38(1995),pp. 33比44[10] 沃克河,巴西-地J.,G. C.墨菲湾,澳-地Freeman-Benson,D.赖特,D. Swanson和J.Isaak,通过高级模型可视化动态软件系统信息,在:OOPSLA '98:Proceedings of第13届ACM SIGPLAN面向对象编程、系统、语言和应用会议(1998年)271-283。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功