基于Web的C语言交互式可视化教学平台的设计与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:wokaoyouyaozhuce
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
C语言程序设计课程作为计算机科学相关专业的入门课程对初学者来说十分重要,而C语言编程的学习是需要理论和实践相结合。目前在C语言教学中存在两个亟待解决的问题。第一,学生使用的编译环境多样而复杂,这给初学者带来了麻烦,而且初学者对计算机执行代码的过程并不了解,抽象的代码严重影响了他们对程序执行的理解。第二,在C语言课程中,一个简单的练习作业,学生们可能提交大量不同的解决方案。对于教师来说,这些存在多种差异的解决方案可能存在着很有价值的教学资源,例如一些典型的错误,了解这些差异并给学生们提供反馈对于C语言教学也具有重要意义。本文提出一种基于Web的C语言交互式教学平台来解决C语言课程教学中存在的以上问题。本文所做的主要工作包括三个方面:1.提出一种基于Web的交互式C语言在线集成开发环境。该集成开发环境实现了代码编辑、编译、运行以及调试等功能。通过该编译环境可以去除因开发环境差异导致的代码不兼容性,使学生更多关注语言本身而非采用的编程环境。同时在线开发环境无需下载和安装开发工具,直接通过浏览器联网访问即可进行编程学习,提高了教学环境的部署效率。2.本文提出了一种时间复杂度为O(n)的C语言代码分类算法,该算法首先根据函数调用关系的相似性进行初步分类,接着对代码进行格式化和变量重命名等操作,最后根据代码内容的相似性进行二次分类,从而完成对C语言代码的自动分类。通过该算法对代码分类,使得相似度较高的代码被归为一类,相似度差异较大的代码被归为不同类,分类后的代码使得教师批改作业时省去许多重复性的工作,也使教师从中提取出代码之间的相似性和差异性更方便。算法对代码进行了格式化和变量重命名等操作,统一了代码风格和变量命名规则,有效的提高了代码的可读性,同时减轻了教师对学生代码的阅读难度。采用实际的C语言课程教学数据对算法进行测试,该算法具有良好的分类效果且与人工分类结果具有较高的吻合度。3.本文结合C语言在线集成开发环境和C语言代码分类算法,提出了一种基于Web的C语言交互式可视化教学平台,并对该平台进行了设计与实现,经过实验发现该平台可以更好的发挥在线集成开发环境和C语言代码分类算法的作用,有利于C语言课程的学习与教学。本文提出的C语言在线教学平台有着广泛的应用前景,因为它不仅实现了在线编程的环境,去除了学生因为不同编译环境的差异导致的困惑,它还实现了代码分类算法,帮助教师批改作业与提取有用的教学资源,提高教学效率。
其他文献
<正>先天性巨结肠(HD)又称肠管无神经节细胞症(aganglionosis),结肠远端的肌间神经丛和黏膜下神经丛中缺乏神经节细胞。缺乏神经节细胞的直肠或结肠远端的肠管持续痉挛、狭窄
从梵文来说,有大小两部不同的经典同名为Sukhāvatīvyūha(极乐庄严);汉文语境中,大小两部经典的古代汉译本都曾以《无量寿经》和《阿弥陀经》之名流传于世,且大本《无量寿
知识经济时代,智力资本是企业获取持续竞争优势和提升绩效的关键,已被誉为继财务资本和劳动资本之后,推动企业发展的"第三资源"。本文利用Public模型针对电力行业企业智力资
随着市场经济的不断发展,企业竞争也越来越激烈,许多企业正面临着巨大的机遇与挑战。然而,企业间的竞争,归根结底是人才的竞争,人才是企业的血液,人力资源就是造血者、净血者、护血
前言建筑业是我国国民经济的支柱产业之一.建筑业生产的产品为国民经济的发展奠定了重要的物质基础。同时,建筑业也是一个危险性高、易发生事故的行业。是国家安全生产专项治理
由于市场经济的不断发展以及国家相关政策的变化,国有房地产开发企业的生存环境有了较大的变化。在市场经济的大背景下,它们自身的弊端不断暴露出来,在开发经营、管理运行等方面
混凝土是工程施工中很难解决的“多发病”,本文分析了混凝土结构裂缝产生的原因和机理,从各个环节提出了预防裂缝的综合措施,以确保混凝土质量,减少裂缝的发生。
乡村振兴背景下,通过发展乡村旅游引导传统农区实现就地城镇化是城乡协调发展的重要途径。利用社会调查方法,探究沂南县竹泉村就地城镇化的过程。研究发现,在乡村旅游的推动
超高层综合体因其强大的综合功能和创造财富的能力为各国青睐。本文首先介绍了超高层办公建筑综合体功能组成,而后对超高层办公建筑综合体的设计要点进行了分析讨论。
研究自然修复草被坡面的侵蚀产沙过程对认识生态修复措施的减水减沙作用和黄河水沙锐减原因具有重要意义。采取野外标准径流小区冲刷模拟试验的方法,研究不同立地类型下的坡