基于GitLab的计算机工程实践课程教学改革探索

2015-12-15 22:33陈丁
教育教学论坛 2015年52期
关键词:工程实践项目驱动

陈丁

摘要:当今工程教育越来越注重培养工科学生的工程实践能力,以项目为基础的教学方法得到越来越多的认同。本文通过分析和讨论计算机工程实践课程教学的现状及问题,结合GitLab项目管理平台的特点,分别从实践的体系结构、教学模式、过程考核管理、团队组织等方面入手,提出了利用Gitlab平台开展高校计算机工程实践课程教学的解决方案,最后分析这种模式的意义和影响。

关键词:Gitlab;开源软件;工程实践;项目驱动

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2015)52-0123-02

一、背景及现状

工程实践教学是地方高校培养应用型人才的重要环节,工程实践教学可以促进学生巩固知识,锻炼学生分析问题、解决问题的能力,其效果直接影响着课程的教学质量。在计算机工程实践教学中,以项目驱动的教学方法在越来越多的工科院校中运用,这种教学模式通过运用来自现实工程项目或模拟现实项目的案例,创造真实或接近真实的工程环境,以实现传授工程学科知识、锻炼学生工程技能的目标。在以项目驱动的工程实践教学过程中,首先教师布置多个项目题目,并对每个项目的背景和要求等做出说明,同学们根据自己的能力和爱好选择某个题目来完成,在同学们完成项目实践的过程中,教师对其进行相关指导,最后教师根据同学们的完成情况做出评价和打分。但在运用这种教学模式过程中也暴露出如下问题。

1.项目过程不透明,过程化考核管理难。过程化考核是现代教育改革发展趋势之一,但由于参加工程实践的同学多,教师没法做到一对一的教学管理和跟踪,一般只能根据平时的考勤和学生提问。由于无法进行过程化的考核和监督,会出现部分学生利用网上类似的代码来完成项目。

2.一人一题,无法提高团队协作。为避免出现抄袭和窝工的现象,在选题过程中我们尽量让学生独立完成一个题目,但是由于一个真实工程项目的工作量普遍偏大,因此学生没法在2~3周的时间内独立完成所有功能要求,而且做出来的东西也相对比较粗糙。但如果一个题目让多个学生去完成,又会出现一些能力差的同学窝工偷懒,无法真实锻炼和评价出每个学生的能力。

3.编码混乱,代码质量不高。虽然在选题前教师就给出了编码规范,但是由于项目工作量偏大以及考评要求,大部分学生都把精力集中到完成项目的功能要求上,而忽视了代码规范和质量。

4.项目代码保存度较差,后续应用价值不大。目前对学生完成的工程项目代码,只是上交给相关负责教师,在学院级别没有一个集中统一的管理,一些完成较好的项目作业没法作为案例分享给下一届学生,并且学生们完成的项目作业也没法二次开发并应用到现实场景中。

针对以上问题,我们提出了利用工业级的Gitlab代码管理平台对学生们完成的工程实践项目进行跟踪管理及评估,以适应现代工程教育不断发展的要求,培养出符合社会需求的应用型人才,提高计算机工程实践课程的教学效果。

二、基于Gitlab平台教学实施的可行性

GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释,可以管理团队对仓库的访问。它非常易于浏览提交过的版本并提供一个文件历史库,团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供了一个代码片段收集功能可以轻松实现代码复用,便于日后有需要时进行查找。

1.Gitlab的特点。①它是使用Git进行分布式的版本控制项目,具备代码审查、问题追踪、活动信息、维基和持续集成。②它能容纳25000+的用户群同时在一台服务器上,LDAP/AD组同步和日志审计。③它是一个开源软件,由社区驱动、700+贡献者检查完善代码,方便集成。④在业界内具有很多成功应用的案例,如开源中国代码托管平台等。

2.对学生能力的要求。除了要求学生熟练掌握使用Git对项目代码进行版本管理,项目的实施也可以是以团队小组为单位来展开,在碰到疑惑和问题时,除了向教师求教外,还应该通过自学或同学间的互相帮助,广泛开展交流、沟通与互相合作来解决问题。在合作过程中,还可以提高学生的人际交往和沟通表达能力。

3.对教师能力的要求。应用型大学的双师型教师不仅具有专业的理论知识,还要具有相当的工程项目经验,需要熟悉企业项目开发的工作流程和管理模式,具有作为系统分析员(系统架构师)的系统分析与设计能力,才能有效地组织工程实践内容,培养学生的理论知识与专业技能,以及职业素质及社会适应能力。

三、基于Gitlab平台教学的实施

通过Gitlab平台,把实践教学的学习和互动延伸到课外,教师无需到实验室就能掌握整个项目的进展情况,项目进行中可以及时对代码进行评审,保证代码质量,项目完成后可以对项目进行统计分析,对项目小组成员工作进行评价。

1.项目发布。教师首先在gitlab平台上建立好一个基本的项目结构框架,并邀请选题的学生成为该项目的开发人员,这时学生就可以使用Git工具将Gitlab上的代码克隆到本地代码仓库中。项目成员就可以根据任务分工,在自己的机器上完成其对应的项目功能。

2.项目过程跟踪管理。教师可以要求项目成员必须每天晚上10点前提交项目代码,每天提交的代码记录情况将作为过程化考核的依据。这样就可以实时发现团队成员中开放进度偏慢的学生,及时找出原因,避免窝工。

3.代码质量分析。教师可以根据编码规范,利用系统对提交的代码进行审核,对不符合代码规范和要求的系统可以拒绝其提交,同时也可以利用系统的质量分析功能,对已提交的代码进行质量评审。

4.项目贡献评价。当整个实践项目完成后,教师需要分别对项目团队成员的工作进行评价。通过gitlab的统计功能,教师可以依据其贡献率客观、公正的对项目成员进行打分。

四、遇到的问题和下一步的研究方向

目前我们对Gitlab在工程实践教学的应用探索还处在起步阶段,在应用中遇到了很多的问题,例如:由于gitlab是针对企业级的代码版本管理软件一些流程,并不一定适合我们的教学要求,因此界面可用性问题,工具比较独立,很难整合使用,项目在线部署功能还有待加强;个别工具的性能还有待优化;等等。针对这些问题,我们制订了下一阶段的研究计划。

1.代码相似度分析。为规避抄袭现象,需要对学生上传代码进行相似度分析,这是在Gitlab所没有实现的。

2.在线实时项目部署。根据学生上传的项目代码,可以在线对项目进行发布,及时跟踪检查项目的完成情况。

3.对代码活动进一步数据分析。这可以帮助教师全面掌握学生在学习中遇到的问题,针对教学资源和支持服务的质量反馈等数据,为下一步的决策提供有利的数据支持。

4.优化实时聊天功能,为学生支持服务提供有利的工具保证。

5.界面可用性优化。优化界面设计,使其更加符合中国人的使用习惯和审美观。

五、结论

通过采用业界流行Gitlab代码版本管理平台作为计算机工程实践项目的尝试,为在工程实践教学中的问题找到了一条新的解决途径,并且可以利用开源系统开放的特点在此基础上做二次开发,既能节省软件的开发和维护的使用成本,又能比较完全的满足各学校实际的需求,还能随着开源软件的升级而得到升级服务。

参考文献:

[1]刘海山,郭伟.工程管理专业实验实践课程教学的探索[J].实验室科学,2015,(01).

[2]宋冬生.Git——版本管理之利器[J].程序员,2007,(11).

猜你喜欢
工程实践项目驱动
项目驱动教学法在机械制造工程学课程教学中的应用
高分子材料与工程专业实习模式的探索与实践
基于“红色之旅”项目驱动的《调酒与咖啡》工作室制人才培养机制探讨
基于CDIO模式的机械电子工程专业教学体系改革
基于职业标准的三维数字建模技术课程改革