没有合适的资源?快使用搜索试试~ 我知道了~
程序可视化中自动生成问题对学习的影响:基于Jeliot 3的设计和示例
理论计算机科学电子笔记178(2007)43-49www.elsevier.com/locate/entcs程序可视化Niko Myller尼科·米勒1,2约恩苏大学计算机科学系约恩苏摘要根据以前的研究,似乎由学生进行的活动和参与比可视化的内容更重要。让学生与可视化互动的一种方法是向他们提出预测问题。 这已被证明是有益的学习。 基于参与分类和算法可视化过程中问题回答的好处,我们建议在程序可视化工具Jeliot 3中实现自动问题生成。在本文中,我们解释了如何自动生成问题可以纳入当前的设计Jeliot 3。此外,我们还提供了各种示例问题,这些问题可以根据可视化过程中获得的数据关键词:程序可视化,参与分类,自动问题生成。1引言根据Hundhausen等人的研究[6],学生所做的活动和参与度比可视化的内容更重要。因此,已经制定了一项研究计划,其中正在研究参与程度(参与分类法)及其对算法或程序可视化学习的影响[13]。让学生与可视化互动的方法之一是向他们提出问题,要求学生预测执行或可视化中接下来会发生什么(第3级:响应)[12]。这也被证明是有益的学习[3,11]。此外,研究发现,学习过程中的互动和问答对特定领域的问题解决能力有积极的影响[5]。除了好处之外,1 我 想 感 谢 Erkki Sutinen 和 Moti Ben-Ari 在 研 究 工 作 中 提 供 的 有 益 意 见 和 指 导 , 并 感 谢 M orenonon 和RomanBednarik为本论文的研究提供的相关建议。这项工作的一部分是在作者访问新西兰北帕默斯顿梅西大学期间进行的。2电子邮件:firstname. cs.joensuu.fi1571-0661 © 2007 Elsevier B.V. 在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2007.01.03444N. Myller/Electronic Notes in Theoretical Computer Science 178(2007)43在文献中发现,在我正在进行的工作中,我试图表明,实际上参与分类与协作有联系。这项研究的假设是,参与程度越高,对协作的积极影响就越大。基于在可视化过程中发现的问题回答的好处,我们建议在程序可视化工具Jeliot 3中实现自动问题生成[9]。在本文中,我们解释了如何自动生成问题可以纳入当前的设计Jeliot 3。此外,我们还提供了各种示例问题,这些问题可以根据可视化过程中最后,结论和未来的发展方向。2Jeliot 3Jeliot 3是一个可视化Java程序执行的程序可视化系统[9]。它的目的是支持入门编程的教学和学习Jeliot可视化了程序的数据和控制流程。在一项教室研究中,人们发现,特别是中等表现者从使用Jeliot中受益,而其他人的表现没有受到损害[1]。我们在图1中描述了Jeliot 3的结构,以便在图1中解释。 下一节自动问题生成如何适应当前的设计。用户与用户界面交互并创建程序的源代码(1)。在实际解释之前,Java解释器DynamicJava(2)会解析源代码并执行检查在解释过程中,提取程序执行的表示MCode(3)。MCode是一种类似于汇编语言的语言,其中每行表示一条指令,包含指令类型,指令标识符(可用作引用),可变数量的操作数(引用其他指令ID,类型和值)以及指令MCode被解释,并且指示被给予可视化引擎(4和5)。用户可以通过播放、暂停、倒回或逐步播放动画来控制动画(6)。此外,用户可以向解释器(6、7和8)执行的程序提供输入。有关Jeliot内部结构的进一步信息,读者可以参考[8,10]。3在Jeliot 3问题生成的步骤是:1)信息收集; 2)问题形成; 3)问题在动画中的呈现。为了生成预测问题,我们需要收集与程序解释相关的信息我们在这里列出了生成问题所需的项目:• 表达式的类型,以便与方法调用相比,为赋值表达式生成不同的问题文本。• 指令标识符,以确保问题在正确的时间弹出N. Myller/Electronic Notes in Theoretical Computer Science 178(2007)43454v中级口译员可视化引擎、、、源代码2)节目、、、表示程序执行MCode\\`\\J181个\\6)(5\ˆ,v,用户J图1.一、Jeliot 3的功能结构[9]。• 所有不同的概念都与问题所涉及的表达有关。通过这种方式,学生在与不同概念相关的问题中的表现可以记录到用户模型中。• 正确答案是程序• 根据问题类型,有0到3个错误答案:多项选择题有4个答案,是非题有2个答案,开放式问题没有答案。目前,不正确的答案是随机确定的,但可以根据执行中的先前步骤和变量的当前值应用某些算法。• 表达式在源代码中的位置,这样我们就可以在显示问题时突出显示代码的这一正如前一节所讨论的,程序的解释产生了一个名为MCode的程序跟踪。为了收集列出的信息,我们为MCode实现了一个预处理器。 它在解释MCode之前先遍历MCode,并从MCode中提取信息。这些信息被保存,以便MCode解释器可以在解释过程中根据表达式标识符查询它们。在图1中,该阶段将位于箭头4的中间。然后,在解释每个MCode指令的过程中,解释器检查是否找到当前指令标识符的问题。如果找到问题,则在指令动画之前将其显示给用户我们调整了通过Roßlingand Hussge[14]在不需要执行的情况下执行一个VInteractionpackagedelolopedede d edprent问题并收集用户答案可以保存到文件或)7方案解读第三章J用户界面46N. Myller/Electronic Notes in Theoretical Computer Science 178(2007)43数据库因此,该功能可以用于适应程序可视化以及总结性地评估学生的表现,作为他们的课程作业或在线考试的一部分。作为概念证明,我们实现了一个受限的问题生成,它只询问与赋值语句的结果相关的问题。图2显示了生成的问题的示例。问题与可视化一起显示在右侧,相关的代码段突出显示在左侧。图二. 由Jeliot 3生成的示例问题。此外,可以自动生成与程序的执行和动画相关的不同类型的问题。我们在这里列出一些可能性:• 预测任何表达式计算的结果。• 要求用户单击作为表达式一部分的变量,或者将表达式计算结果赋给其中的变量• 在循环中,可以询问执行是否会继续下一轮,在条件语句中,可以询问执行是否会继续到语句的then或else• 可以要求用户单击下一个执行的行(或行号),例如,在方法调用之后或在循环或if语句的开头• 在排序中,可以确定一个交换操作,并要求用户点击那些将要交换的数组单元。在每一个可能的地方弹出问题是不可行的,因为学生会对问题感到厌烦或厌倦因此,应该有办法确定什么时候提出问题最合适和最有意义例如,JeliotN. Myller/Electronic Notes in Theoretical Computer Science 178(2007)4347可以允许用户选择应该生成问题的变量或表达式类型,从而将问题集中在所选概念或程序的部分上。类似于相关系统(例如Problets和WadeIn(见第4节)),我们可以根据用户的性能数据我们已经在这个方向上做了初步的工作,并在[7]中进行了此外,应该有一个可能性,为教师手动创建问题的程序,以便允许使用的问题生成的测验或课堂考试。 这可以通过我们用来显示和保存的包来实现 问题信息,因为它为手动问题指定提供了文件格式[14]。4以前的工作Kumar等人[4]开发了一个名为Problets的系统,它可以生成与编程概念(例如循环,指针等)相关的练习。从语言独立的模板,从而支持多种编程语言。这些练习呈现一个程序,并要求用户识别生成输出的行,并确定程序执行期间的输出是什么。在练习中,用户需要识别语法或语义错误的代码行这些练习以连接到服务器的小应用程序的形式被递送,该服务器处理练习生成并存储与用户的表现相关的信息。这样做是为了分析向用户呈现什么样的练习当与Jeliot 3中的问题生成相比时,我们可以确定某些相似性和差异。这两个问题都与程序的执行有关。然而,Problets与程序代码有关,而Jeliot中的问题可能与程序代码和可视化有关。这可以在第3节中看到的问题类型中提供更多变化。Jeliot支持程序执行的动态方面,例如,用户可以向程序提供输入,并且相应地调整问题,因为它们是基于在解释过程中获得的信息。目前,Jeliot只支持Java。但是,如果将其他编程语言的解释器集成到其中,则问题生成是独立于语言的。Problets支持多种编程语言,因为语言独立的模板被翻译成所讨论的编程语言。Problets可用于学习和测试,类似于Jeliot 3中的自动问题生成。AnotherelatedsystemisJHAVE'[11]它结合了可视化工具和支持互动。 它提供了与虚拟化相关的文本材料、问题和其他练习,以及虚拟化的使用规范。JHAVE′仅支持程序的事后可视化,这意味着用户需要在程序或算法运行之前提供输入数据。这些问题需要手动定义到程序的源代码中。这些问题使得方法不同于Jeliot。48N. Myller/Electronic Notes in Theoretical Computer Science 178(2007)43WadeIn II[2]可视化了C语言中的表达式求值。 该系统由探索和知识评价两种模式组成。问题生成与知识评估模式有关,学生需要通过模拟来展示对表达式评估的理解。任务是模拟表达式的评估,而在Jeliot中,用户被要求预测在程序及其执行的给定上下文中接下来会发生什么。5结论和今后的工作我们提出了一种在程序可视化过程中自动生成预测问题的方法及其概念实现的证明。我们还提出了可以使用相同框架自动生成的不同类型的问题,以及确定何时应该提出这些问题的方法,以支持不同的学习和测试方式作为未来的工作,我们实现了所提出的问题类型,并测试了它们的可用性.我们还计划研究在个人以及编程概念和编程的协作学习期间使用问题回答。我们将改变参与程度,以分析其对学习和协作的影响。此外,我们可以测试不同类型的问题如何支持对程序和编程学习的理解。例如,这些问题是否与数据流或控制流相关,或者两者都相关。除此之外,我们计划在远程教育中使用该功能,作为总结性评估的一部分。引用[1] Ben-Bassat Levy , R. , M. Ben-Ari 和 P.A. Uronen , Jeliot 2000 程 序 动 画 系 统 , 计 算 机 教 育 40(2003),pp. 1-15。[2] Brusilovsky,P. and T. D. Loboda,WADEIn II:自适应解释性可视化的案例,在:第十一届计算机科学教育创新与技术年会论文集,博洛尼亚,意大利,2006年。[3] Byrne,M. D、R.卡特兰伯恩和J. T。Stasko,评估动画作为学生学习计算机算法的辅助工具,计算机教育33(1999),pp。253-278。[4] 丹奇克湾和A. Kumar,《反控制回路概念及其评估的导师》,载于:教育前沿会议论文集(FIE 2003),Boulder,CO,美国,2003年,第100页。T3C[5] 埃文斯角,澳-地和N. J.Gibbons,多媒体学习中的交互效应(2006),接受计算机教育。[6] 洪德豪森角D、S. A.道格拉斯和J. T. Stasko,算法可视化有效性的元研究,视觉语言和计算杂志13(2002),pp.259-290。[7] 林,T.,A. Moreno,N. Myller,Kinshuk和E. Sutinen,归纳推理和编程可视化,一个实验建议,在:第四届国际程序可视化研讨会,佛罗伦萨,意大利,2006年,页。83-88.[8] Moreno,A.,“http://cs.joensuu.fi/jeliot/files/AndresThe Design and Implementation of IntermediateCodes for Software Visualization”,硕士论文, 计算机科学系,约恩苏大学(2005 年),(www.example.com thesis.pdf)(查阅(2006年9月5日))。N. Myller/Electronic Notes in Theoretical Computer Science 178(2007)4349[9] Moreno,A.,N. Myller,E. Sutinen和M. Ben-Ari,Jeliot 3可视化程序,在:高级视觉界面国际工作会议论文集,AVI 2004,Gallipoli(Lecce),意大利,2004年,pp. 373-380。[10] Myller,N.,“http://cs.joensuu.fi/jeliot/files/nikoThe Fundamental Design Issues of Jeliot3 , ”Master'sthesis , DeclarationofComputerScience , UniversityofJoensuu(2004),(www.example.com thesis.pdf)(Accessed(5.9.2006)).[11] 不,T。 L., JHAVE′- A dd r es s i n g h e nee d to Sup p p o r t A l g o r i t h m V i suali za t i o n w i t h T o ol s for A c t i v e Engagement , IEEE Computer Graphics andApplications 25(2005),pp. 49比55[12] 不, T。 L., J. R.埃加湖 L.N orton, JHAVE′anen v ironmenttoactivelyget ugentsin Web-basedalgorithm visualizations,in:Proceedings of the thirty-first SIGCSE technical symposium on ComputerScience Education(2000),pp. 109比113[13] 午睡,T。 L., G. R?o?sling,V. 很抱歉,W。 丹河 Fleischerr,C. Hundhausen,A. Korhonen,L.我 是 米 , 米 。McNally ,S.RodgeranddJ.A'。Vel'azquez-Iturbide ,ExploringheRoleofisualizationandEngagement in Computer Science Education , in : Working GroupReports from ITiCSE on Innovation and Technology in Computer Science Education(2002),pp. 131-152.[14] R ?oilling , G.和 G.H a? uss ge , TowardsTool-IndepenndentInteractinSup pport , in : A.Korhonen,editor,第三届国际程序可视化研讨会论文集,Warwick,England,2004,pp. 110-117.
下载后可阅读完整内容,剩余1页未读,立即下载
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- GO婚礼设计创业计划:技术驱动的婚庆服务
- 微信行业发展现状及未来发展趋势分析
- 信息技术在教育中的融合与应用策略
- 微信小程序设计规范:友好、清晰的用户体验指南
- 联鼎医疗:三级甲等医院全面容灾备份方案设计
- 构建数据指标体系:电商、社区、金融APP案例分析
- 信息技术:六年级学生制作多媒体配乐古诗教程
- 六年级学生PowerPoint音乐动画实战:制作配乐古诗演示
- 信息技术教学设计:特点与策略
- Word中制作课程表:信息技术教学设计
- Word教学:制作课程表,掌握表格基础知识
- 信息技术教研活动年度总结与成果
- 香格里拉旅游网设计解读:机遇与挑战并存
- 助理电子商务师模拟试题:设计与技术详解
- 计算机网络技术专业教学资源库建设与深圳IT产业结合
- 微信小程序开发:网络与媒体API详解
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)