基于GitHub平台问题驱动式编程实验教学方法.docVIP

基于GitHub平台问题驱动式编程实验教学方法.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于GitHub平台问题驱动式编程实验教学方法

基于GitHub平台问题驱动式编程实验教学方法   摘 要:针对编程实验教学过程中,存在教师分配任务和学习提交实验代码过于耗费时间、教师评测实验代码和汇总成绩完全依赖手工等问题,分析使用云服务和开源协同开发平台功能以辅助编程实验教学的方法与过程,提出一种基于GitHub平台的问题驱动式编程实验教学方法,具体阐述在两个学期Android、Web等编程课程实验教学中对可行性和有效性的验证。   关键词:教学方法;GitHub;交互式学习;编程语言   0 引 言   GitHub是一个开源协同开发平台,支持代码库(repository)、问题跟踪(issue)、项目分支(fork)、代码提交(commit)、代码合并请求(pull request)等功能,可用于支持大规模开源和商业软件项目的开发,其最吸引人关注的研究点有GitHub开源贡献模式[1-2]、基于GitHub的商业软件开发[3-4]、社交编码[5-6]、社交行为模式[7-8]、协同工作流[9-10]、在线分布式软件开发[11]、共同创作平台[12]、推荐算法[13]及教育应用[14]。   最近,GitHub官方还推出一个面向教育的课堂工具[15],与其他用于教育的开源技术类似[16-17],GitHub也可以作为一种教学工具,用于支持软件工程专业的协同学习模式[14]。之前的研究表明,使用GitHub替代传统教学资源与教学方法,可以改进教学过程[18-19];同时,GitHub所提供的版本控制功能也可以集成到本科计算机科学课堂中[20]。一些教学工作者使用GitHub的服务优化教学过程,如专门为软件开发教学在GitHub上创建的UEC软件库[21]、在课堂中使用Github版本控制功能[22]以及使用GitHub的开源协同工作流支持课堂教学[23]。有研究案例表明,GitHub的协同开发特性可以很好地支持计算机科学和软件工程等专业学生的学习活动[24]。实际上,学生在学习过程上可以使用GitHub开展协同学习实验[25]。此外,使用GitHub布置编程课堂作业,也是一种很常见的辅助教学方法。然而,想要在GitHub上顺利执行完整的教学过程,只是将GitHub作为一种辅助教学工具使用是远远不够的。基于GitHub平台的问题驱动式编程实验教学方法,可用于支持开放协同的编程教学实验。   1 相关工作   GitHub可以看做一种特殊形式的云服务,而云技术在教学中的应用由来已久。虽然GitHub的互联网托管服务相对更适合软件工程等计算机专业教育,但是一直以来都有其他形式的云技术应用于教学过程[26]。在教学中使用云计算技术具有很多的优势[27-28],如有专门为信息技术教学创建的教育云平台[29],也有专门为材料科学基础课程创建的一种高度交互的云课堂技术[30]。此外,国内外许多高校都使用云技术创建虚拟化计算实验室[31]。实际上,云计算方法本身就非常适合用来支持实验教学过程[32],然而相对于一般的云技术,GitHub所提供的开源项目开发特性更加适合计算机编程教学,如协同开发模型、社交编码[33]、版本控制、免费代码库等。   基于GitHub平台的教学应用可以分成3类:第1类是课堂工具,其中包括前面提到的GitHub官方推出的课堂工具,但是这些工具是一种适用于教学资料管理和教学活动管理的通用技术,而不是?C耪攵员喑探萄У墓ぞ撸坏?2类是将GitHub作为一种内容托管服务,通常只是利用GitHub开源源代码库所支持的无限空间存储和分发教学资料,如布置作业;最后1类应用相对更复杂一些,它们将协同开发模型融合到教学过程中。通常,师生都会使用GitHub的社交编码特性,如提交代码、请求合并、评论等。我们也曾经提出过一种基于GitHub平台的协同式实验教学方法[34],但是编程是一种解决问题的过程,教学中应培养学生使用代码解决问题的能力,而不仅仅是教授编程技能。   实际上,无论是开源项目或是商业项目,都在使用GitHub的问题跟踪功能跟踪和管理软件缺陷(Bug)。在GitHub上修复一个开源项目缺陷的基本过程如下。   在这个过程中,用户、开发者和核心开发者一起协作,使用GitHub提供的代码库、分支、代码提交、评论、标签、合并请求等功能修复一个问题。经过恰当的调整,这个过程就可以用来支持编程教学活动,实现一种问题驱动式教学方法,从而更高效地锻炼和培养学生解决问题的能力。   2 问题驱动式编程教学方法   根据编程实验教学的特点,如果按照前面的GitHub解决问题过程开展编程实验教学活动,就必须对解决问题过程的角色进行调整,才能最终设计出符合实验教学要求的过程。   2.1 设计教学过程   在GitHub跟踪和修复问题的过程中,如果结合实验教

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档