APP下载

基于GitHub平台的高校软件类课程教学方法研究

2019-03-15任维李伟袁海娣

电脑知识与技术 2019年2期
关键词:协同工作教学方法

任维 李伟 袁海娣

摘要:目前传统的软件类课程基本都是采用项目教学法,教师提出项目需求,学生分组完成项目,该模式下学生团队之间的协同工作很难开展,本文提出一种基于GitHub平台的软件类课程教学方法,可以有效地提高高校软件设计类课程的教学效果,并很好地解决了分组教学中的团队协作问题。

关键词:GitHub;协同工作;教学方法

中图分类号:TP311        文献标识码:A        文章编号:1009-3044(2019)02-0081-02

1 引言

目前高校软件设计类课程基本都采用分组+项目教学的方法,引入实际的项目案例来推动教学过程,然而分组教学中组员内部的分工协作一直困扰很多教师,根据以往的经验基本都是由一个同学完成整个小组的任务,教师很难了解小组内部的分工情况,最终只能通过项目本身来验证小组的工作情况[1]。其次就是沟通问题如何解决,教师如何与学生沟通,学生之间如何沟通,这个问题不解决分组协同工作也不能做好,所以说目前传统的教学方法还是存在一定的问题,如何解决分组内部成员之间的协同工作,甚至是分组之间的相互沟通,就摆在的很多高校教师的面前,本文结合企业开发流程,提出一种基于GitHub平台的软件类课程教学方法,能够很好地解决上面提出的问题。通过几个学期的实际教学,发现该教学方法能够很好地解决分组+项目教学方法中的协同工作问题。

2 GitHub簡介

Git是目前非常流行的分布式版本控制系统,基于Linux内核设计和开发。与传统的版本控制系统如VSS,CVS,SVN等相比较,Git采用分布式的管理方式,不依赖于集中式服务器,具有更好的灵活性,同时Git支持代码合并与跟踪,对于大型项目来说管理和维护代码更加方便,目前很多企业和个人都在使用Git进行源代码管理[2]。

GitHub是基于Git系统的项目托管平台,由于主要基于Git技术所以取名GitHub。2008年GitHub正式投入使用,除了基本的项目托管、源代码管理外还提供在线编辑、项目订阅、项目讨论、代码分享、数据报表等功能。国内外很多企业和个人都将项目托管在GitHub上,其中包括了很多知名项目如jQuery、Python等[3]。

3 基于GitHub平台的教学方法

通过上面介绍可以了解到GitHub平台的基本功能,也可以看出GitHub平台能够有效地解决多人协作开发的问题,但是如何与实际教学相结合还是需要根据学生的实际情况来制定教学方案。结合引言中的介绍,引入GitHub平台重点是需要解决三个问题,一解决分组成员之间的沟通问题,二解决协作开发的问题,三解决项目开发进度控制的问题。下面我们就这三个问题具体分析一下。

3.1如何解决成员沟通问题

传统方式下小组成员一般都是通过QQ来进行沟通,而QQ仅仅是一款聊天软件,根本无法满足专业软件开发过程中的沟通要求,GitHub平台作为一款专门面向软件开发企业和个人的平台,不仅仅适应基本的开发要求,还是一款社交沟通平台[4]。目前软件设计类课程基本都采用项目教学,教师首先提出项目需求,学生开展分组讨论,开发过程中学生也需要相互交流。GitHub平台提供Issues功能,教师和学生可以非常方便地在Issues实现沟通和交流,同时教师也可以了解学生交流的情况,教师在学生项目开发过程中的控制和管理更加的方便,测评也有了合理的依据。教师通过Issues功能向每个项目小组分发项目需求,学生通过Issues讨论项目需求中的问题,教师再通过Issues了解学生讨论情况,实时反馈给学生相关需求。既充分调动了学生学习的积极性、也方便教师在整个教学过程中的管理。GitHub平台中Issues功能如图1所示:

3.2如何解决协同开发问题

协同开发是GitHub平台的基本功能,传统方式下协同开发基本都是代码的拷贝,很多学生相互之间拷贝代码,等到提交项目时才发现很多代码都是旧的,或者根本搞不清哪个版本的代码是最新的。GitHub提供一套完善的协同开发流程,当然教师也需要根据具体的情况来制定合适的流程,如下图所示:

首先教师在GitHub上创建实验项目,本项目作为整个小组的主代码库,保存小组最新代码,同时也是最终提交给教师的代码。为确保主代码库的正确性,主代码库由教师和小组组长负责维护,同时也可以将项目相关文档传送到主代码库,方便小组成员之间共享资料,如下图所示:

其次小组成员通过Fork方式获取主代码库信息,并建立本地代码库,小组成员维护个人的本地代码库,当某个小组成员完成本人任务后,通过合并方式将本地代码库中的代码合并到主代码库,当然教师或小组组长负责审核合并代码是否符合要求[5]。

最后组长将组员所有代码合并到主代码库,开展功能测试和集成测试,并对产生的BUG进行修改,最终按照需求内容将主代码库中的代码提交给教师。教师可以通过需求核对学生完成的情况,并作为最后评价的指标[6]。

3.3如何解决进度控制问题

进度控制不仅仅是教学过程中存在的问题,也是企业开发面临的一个重要问题。传统方式下,教师需要定时与学生沟通,虽然也能解决一些问题,但是对于学生进度无法达到实时控制的目的。如何才能确保学生按时按量完成任务,需要依赖GitHub代码审查与质量管理功能,教师即使不见面也可以通过代码审查了解到学生开发中进度情况,并根据学生进度情况即使提醒学生,并对有疑问的学生即使进行回复,提高学生项目开发的进度。

4 基于GitHub平台的教学评价

由于之前很多的工作已经在GitHub上完成,教学评价也变得非常容易,大量的数据作为支持,教师可以非常方便地完成教学评价。当然不同的高校具体的评价标准可以不同,可以通过学生代码提交量、讨论情况、BUG修改、代码质量等确定评价分值。同时,教师也可以通过GitHub提供的图表功能,直观地了解到学生的具体情况以及存在的问题。

5 结束语

基于GitHub平台高校软件类课程教学方法不仅可以满足教师对学生管理的需求,也鞥能让学生进一步了解企业软件开发流程,为学生更好地适应企业开发提供平台。通过几个学期的教学,也可以看出该教学方法适合高校软件开发类课程,具有一定的教学意义。

参考文献

[1] 曾少宁,李慧,袁秀莲.基于GitHub平台的问题驱动式编程实验教学方法[J].计算机教育,2017(09):158-163.

[2] 曾少宁. 基于GitHub平台的协同式实验教学方法[J]. 计算机教育, 2016(12): 144-148.

[3] 杨红.基于GitHub的开发人员提交评论情感分析[J].现代计算机(专业版),2018(08):39-43.

[4] 柯其寿. 基于改进DEA模型的GitHub开发者效率评估[D].武汉工程大学,2017.

[5] 字凤芹. 基于Git的协作小组学习资源库的建设与研究[D].云南大学,2016.

[6] 张智,郑卉,蒋依伶,袁欢欢,等.使用Github实现高效的团队协作开发[J].电脑知识与技术,2015,11(07):206-208.

猜你喜欢

协同工作教学方法
教学方法与知识类型的适宜
EVA业绩评价模式下业财融合协同工作模式对企业价值管理的重要性
实用型中医人才培养中慕课教学方法的探讨
文言文教学方法实践初探
地理信息系统与勘探开发协同工作平台建设方案
第二届“BIM技术在设计、施工及房地产企业协同工作中的应用”国际技术交流会在北京成功举办
BMD 发布 DaVinci Resolve 8.1
我的教学方法