计算机类专业软件开发能力培养模式探索与实践

    李金忠 夏洁武

    

    

    摘 要:针对地方高校计算机类专业软件开发能力现状,围绕培养学生软件开发能力这一目标,从软件类课程体系建设、课程教学改革、软件创新实验室和科研训练室、学科竞赛和科研项目、产教融合校企合作、实习与实训六大方面,探索了“一体两翼、六轮驱动”的计算机类专业软件开发能力培养模式,以扎实推进强化工程实践应用能力的软件开发类人才培养模式改革。

    关键词:软件开发;实践创新;计算机专业人才培养

    DOI:10. 11907/rjdk. 201888??????????????????????????????????????????????????????????????????????????????????????????????????????? 開放科学(资源服务)标识码(OSID):

    中图分类号:G434 ?? 文献标识码:A?????????????????????????????? 文章编号:1672-7800(2020)011-0241-04

    Exploration and Practice of the Training Mode of Software Development Ability for Computer Major and the Related Majors

    LI Jin-zhong, XIA Jie-wu

    (College of Electronic and Information Engineering, Jinggangshan University, Ji'an 343009, China)

    Abstract: In view of the current situation of software development ability of computer major?and?the?related?majors in local colleges and universities, centering on the subject of cultivating students software development ability, the training mode of software development ability of “One Body with Two Wings, Driven by Six Wheels” for?computer?majors?and?the?related?majors is explored from the six major aspects which include the construction of software curriculum system, curriculum teaching reform, software innovation laboratory and scientific research training room, discipline competitions and scientific research projects, industry-education integration and university-enterprise cooperation, practice and training, so as to solidly promote the reform of software development talents training mode to strengthen students engineering practice and application ability.

    Key Words: software development; practical innovation; talent training of computer majors

    0 引言

    软件产业是信息行业的核心朝阳产业,是国民经济信息化的基础。为了更好地适应与服务国民经济的快速发展,国家提出重点发展软件产业,要求高校结合行业市场需求,加大软件人才培养力度,培养能够满足国家各行业发展需要的应用型软件开发人才[1]。

    对于高校计算机类专业的学生而言,软件开发能力是必备的能力之一。因此,如何提升学生的软件开发能力是相关专业软件类课程教师需要不断探索与研究的课题。本文以井冈山大学电子与信息工程学院为例,探讨计算机类专业学生软件开发能力培养模式,以期为计算机类专业人才培养提供参考借鉴。

    1 现状与问题分析

    随着信息技术和软件产业的迅猛发展,企业对软件人才的需求也十分旺盛。我国软件开发类岗位薪资待遇相对较高,但很多企业都招不到合适的软件开发人员。导致这一反差的根本原因是很多计算机专业毕业生的软件开发能力较弱,而大多数企业需要的是入职后无需培训就能直接上岗工作的员工,因此直接导致了很多应用能力欠佳的学生毕业即失业[2]。

    计算机软件技术集理论性、应用性、实践性与工程性于一体,由于软件知识更新速度很快,要求师生具有较强的自主学习能力。然而,由于大部分教师未能跟上计算机软件技术的发展速度,导致目前很多地方高校计算机类专业的人才培养存在以下两大主要问题:

    (1)软件类课程的知识体系和教育教学理念相对落后,教学方法和手段陈旧,考核方式单一,未能突出对学生软件开发能力的培养。

    (2)软件开发课外实践教学不足,忽视了对学生软件开发创新与综合应用能力的培养,导致学生的软件开发工程实践能力欠缺,人才培养与企业对软件开发人才的需求脱节,难以满足社会需求。

    随着软件技术的不断发展,市场对软件人才的需求也在不断变化与更新。为了适应该状况,合理地对计算机类专业的软件人才培养模式进行改革,已成为培养高素质软件开发人才的一项重要而紧迫的任务。为此,研究一套可有效提高学生软件开发能力的人才培养模式是必要且具有积极意义的。

    2 相关研究工作

    针对软件人才培养现状及存在的问题,众多教育者从不同维度对培养学生软件开发能力进行了研究与探索。如陈志泊等[3]从人才培养理念、课程体系、实践教学体系等方面研究了以程序设计与软件开发能力培养为主的计算机专业应用型人才培养模式;李青山等[4]从学科竞赛体系、创新创业教育体系、多元联合培养模式、联合培养基地和人才培养长效机制5个方面探索人才需求导向的软件工程专业实践能力培养体系;Wang等[5]从外国留学生源、国际人才培养计划、国际师资队伍建设和多元文化活动等方面探索国际化的软件工程人才培养模式;曹金璇等[6]从专业培养方案制定、教学过程组织和教学实践环节安排等方面进行改革与探索,以期提高学生的软件开发能力;郭理等[7]提出“螺旋渐进式”的软件设计能力培养新模式,从课程体系、实践教学体系和教学方法与手段等方面研究如何提升学生的软件设计能力;巩永旺等[8]对校企合作的实践性较强的课程采用项目驱动教学模式,以培养学生的软件开发能力和工程应用能力;Asif [9]通过实证研究了具有自适应软件开发能力的人才所具备的特征;黄承宁等[10]从产教融合的角度探索软件人才培养模式,以期解决软件人才培养过程中人才供给与人才需求侧不匹配的痛点;袁国武等[11]通过计算机软件能力认证(CCF CSP)标准检验学生实际编程能力,以培养计算机专业学生的程序设计能力;王玉国等[12]研究了利用本科生导师制培养学生的软件开发能力;刘华明等[13]研究了通过案例过程再现的方式培养学生的软件开发能力;吴际等[14]对复杂软件能力的内涵进行梳理,并提出一种大小周期相结合的实践教学方法,其中大周期强调实践作业间的迭代,小周期强调一次作业中的过程控制,并对应用效果进行了初步分析。

    然而,上述研究僅从少数几个维度甚至单方面探讨如何培养、提升学生的软件开发能力,难以形成同频共振、联动协同效应。不同于上述研究,本文从更多维度出发,通过创新课程“教”与“学”模式和多维创新实践活动等进行探索与实践,提出“一体两翼、六轮驱动”的计算机类专业软件开发能力培养模式。该培养模式有效融合了线上、线下相结合和课内课外相结合的软件开发能力培养模式,有助于培养学生编程思维,提升学生的软件开发能力以及解决实际工程应用问题的能力,为今后无缝对接软件开发类工作岗位打下坚实基础。

    3 “一体两翼、六轮驱动”的计算机类专业软件开发能力培养模式

    以“教师主导、学生中心”为宗旨,围绕培养学生软件开发能力这一目标,“教师”和“学生”两翼联动,从软件类课程体系建设、课程教学改革、软件创新实验室和科研训练室、学科竞赛和科研项目、产教融合校企合作、实习与实训6个方面出发,经过数年的探索与实践,形成了适合地方高校的“一体两翼、六轮驱动”的计算机类专业软件开发能力培养模式,以扎实推进强化工程实践应用能力的软件开发类人才培养模式改革。

    3.1 理论教学改革

    以软件类课程群为抓手,完善软件类课程体系建设,推进课程改革与教学改革,更新教学理念,形成具有软件类课程特色的教学模式和考核机制。通过改革软件类课程“教”与“学”模式,解决两大主要问题中的问题(1)。

    (1)明确“计算机导论—高级语言程序设计—数据结构—面向对象程序设计—数据库—软件工程”的软件类核心课程群,不断完善计算机类专业培养方案,构建基于软件工程课程群的虚拟学习社区。

    (2)围绕提升学生的程序设计开发能力,倡导以教师为主导、以学生为中心的教学模式。以CDIO工程教育理念为指导,以翻转课堂教学模式为框架,以案例/项目驱动和小组讨论教学法为手段,以多元化学业评价机制为考核标准,提出融合CDIO与翻转课堂的Java程序设计课程教学改革总体思路,给出了该思路的具体实施过程,如图1所示[15]。同时,提出一种融合问题驱动与思维导图的教学模式,并运用于Java程序设计教学中,如图2所示[16]。该模式通过问题驱动教学,并引入思维导图辅助教学,不仅能将分散的知识点串联起来,形象、清晰地展示出知识点之间的内在联系,而且有利于培养学生的发散思维与编程思维能力,从而提高教学质量。相关思路和做法还可推广至其它软件开发类课程教学改革中,以进一步提高学生的软件开发能力。

    (3)围绕培养学生的软件工程实践能力,结合新一代信息技术手段,加强课内外实践教学环节,改革课程实验教学内容和方式,提出生态学视角下的“学案”式教学模式[17],并进一步推广至实验教学,构建基于计算思维的“学案”式实验教学模式。

    (4)逐步完善软件类课程考核方式,建立多元化的课程成绩评价机制[15],其中部分课程加大了综合作业和报告的考核比重;开发了基于SSM框架的题库及试卷管理系统[18],以改革课程考试方式等。

    3.2 实践教学改革

    通过强化软件开发类的多维创新实践活动,提升学生的软件开发能力,解决两大主要问题中的问题(2)。

    (1)以软件创新实验室和科研训练室为载体,吸引志趣相投的优秀学生进入实验室或训练室,组建软件开发创新团队。采用指导教师或高年级学生传帮带的方式,培养学生的软件开发能力,形成“以老带新,团队协作,任务驱动,定期检查,滚动淘汰”的管理模式。同时,软件创新实验室和科研训练室承接社会上的一些软件开发项目,让学生参与到真实的软件项目开发中,熟悉软件开发整体流程,培养团队协作精神与软件行业职业素养,使其积累一定的软件开发经验。

    (2)以学科竞赛和科研项目为途径,激发学生兴趣,锻炼学生的软件开发与创新能力。积极鼓励、组织与引导学生参与学科竞赛,让学生能与省内外双一流高校学生同台竞技,从而开拓视野、激发潜能。积极吸纳优秀学生参与教师科研项目,辅助教师进行系统开发,以解决生活中的实际问题。

    (3)通过产教融合、校企合作,强化实践应用能力培养。2016年井冈山大学正式获批“教育部—中兴通讯ICT产教融合创新基地”,依托该平台,计算机科学与技术专业课和职业素养等课程由企业方负责教授。在制定专业培养方案时,专业负责人邀请企业方、学生与教研室成员等共同参与,并在培养方案中突显对学生专业实践应用能力的培养。同时,聘请企业工程师/讲师进行软件开发类课程设计,要求其以开发一个完整软件项目的方式对课程进行讲解及现场实操,带领学生编码实现整个软件系统,并布置课程设计任务,要求学生2~3人组队,并从由校方指导教师和企业方工程师/讲师共同根据社会需求拟定的一些真实软件项目中,自主选择并完成一个选题的系统开发及文档撰写。

    (4)以实习与实训为契机,加强与软件开发类企业的合作,改革实习与实训方式。采取顶岗实习和岗前培训等方式,带领学生入驻企业进行软件开发,同时所开发的软件项目可作为学生毕业设计选题,教师与企业导师共同指导学生的毕业设计,并允许学生在企业进行毕业设计答辩。在解决学生实习问题的同时,可有效提升学生的就业竞争力。

    综上,经过多年探索与实践的“一体两翼、六轮驱动”的计算机类专业软件开发能力培养模式,其优势体现在:①富有软件特色的“教”与“学”模式。以新工科、人工智能为背景,探索地方高校软件类课程教学模式与考核方式,着力培养学生的软件开发能力;②多维驱动的课外实践活动,提升学生的软件开发、创新与应用能力。研究探索具有地方高校特色的多维驱动课外实践创新模式,通过激发学生兴趣,同时辅以软件开发任务倒逼的方式促进课外实践活动的开展,并将学生课外实践创新成果反哺于教学与管理模式改革。

    4 初步成效

    井冈山大学计算机类专业通过多年探索与实践,“一体两翼、六轮驱动”的计算机类专业软件开发能力培养模式取得了初步成效:

    (1)教学理念发生了可喜变化,教学改革深入人心。2016年至今,软件类课程体系在实践中不断探索与完善,教学理念也不断更新,学院近几年有计算机科学与技术、软件工程、网络工程等专业的多届毕业生输出社会,教学改革取得了较好效果。

    (2)学生广泛参与实践,提高了软件开发创新能力。近年来,学生的软件开发能力显著提升,学院创新实验室和科研实训室每年约有上百人参与。实验室开发了大量优秀、实用的软件,如“签锁”课堂纪律辅助管理系统、基于SSM框架的题库管理与组卷系统、基于安卓手机的作物病害检测APP、智能空中战争游戏软件、基于SpringBoot与Vue的智能组卷系统、一种基于PC端的智慧校园点歌管理系统等。

    (3)人才培养成效显著,为学校赢得了良好声誉。以面向对象程序设计开发为例,近年来学生使用Java程序语言进行应用软件开发的能力有了大幅提高,获得了较多软件著作权,很多人还取得了计算机技术与软件专业技术资格(水平)证书、IBM高级软件工程师证书和新华三认证证书。在中国大学生服务外包创新创业大赛、蓝桥杯全国软件和信息技术专业人才大赛等国赛中,以及江西省大学生电脑软件设计大赛、江西省手机软件设计大赛等竞赛中,我院也获得了较多奖项。

    通过对计算机类专业学生毕业设计选题的分析可知,毕业生在应用软件开发方面的选题比例逐年上升(2020届毕业设计选题超过95%以上属于软件开发类),运用Java语言进行应用软件开发所占比例也越来越高。通过对学生就业数据的分析可知,毕业生在软件开发岗,特别是Java方向就业的学生数量和比例不断增加,就业层次和质量也不断提高。以2020届毕业生为例,已有部分学生入职京东、阿里云、字节跳动和中通等大型知名IT企业,且从事软件开发岗,还有一名2017级计算机科学与技术专业的学生在2020年暑期即作为实习生入职腾讯公司从事软件前端开发工作,取得了学院就业历史上的突破。这对于实力不足且排名靠后的地方高校而言,取得以上成绩是非常难能可贵的。

    5 结语

    为有效解决地方高校在软件开发类人才培养方面存在的问题,本文提出“一体两翼、六轮驱动”的計算机类专业软件开发能力培养模式。通过改革软件类课程“教”与“学”的模式,强化多维创新实践教学,以提升学生的软件开发创新能力,对培养符合社会需求的新工科软件开发工程人才具有积极意义,期望这一模式能为转型中的地方院校计算机类专业软件人才培养改革提供参考借鉴。

    参考文献:

    [1] 陶维安,范会联. 应用型软件开发人才培养模式研究[J]. 教育与职业,2012(20):105-106.

    [2] 周树森,邹海林. 基于MOOC的翻转课堂在软件开发类课程教学中的应用[J]. 计算机教育,2015(14):83-85.

    [3] 陈志泊,张海燕,王春玲,等. 以程序设计与软件开发能力为主的计算机专业应用型人才培养模式的研究与实践[J]. 计算机教育,2015(7):94-98.

    [4] 李青山,李瑞,宋胜利. 人才需求导向的软件工程专业实践能力培养体系建设与实践[J]. 软件导刊,2020,19(1):7-10.

    [5] WANG J. Exploration and practice of training international software engineering talents[C].? Proceedings of the 4th International Conference on Humanities and Social Science Research(ICHSSR 2018), 2018:665-668.

    [6] 曹金璇,郭红涛,解易. 网络安全与执法专业学生软件开发能力培养的实践与思考[J]. 中国人民公安大学学报(自然科学版),2016,22(1):83-88.

    [7] 郭理,高攀,郑瑶. 计算机类专业软件设计能力培养模式的研究与实践[J]. 兵团教育学院学报,2019,29(2):59-62.

    [8] 巩永旺,刘其明,周刚. 计算机类专业校企合作嵌入式人才培养模式研究[J]. 软件导刊,2020,19(3):272-275.

    [9] ASIF Q G. Hybrid adaptive software development capability: an empirical study[J].? Journal of Software, 2014, 9(10):2614-2621.

    [10] 黄承宁,李双梅,李程. 产教融合软件人才培养模式探索与实践[J]. 软件导刊,2020,19(4):281-284.

    [11] 袁国武,杨旭涛,岳昆,等. 计算机科学与技术卓越人才培养体系构建及实践[J]. 软件导刊, 2020, 19(2):160-163.

    [12] 王玉国,沈慧娟.? 本科生导师制在培养学生软件开发能力中的作用[J]. 通化师范学院学报,2017,38(8):73-76.

    [13] 刘华明,毕学慧,王秀友,等. 基于案例过程再现的软件开发能力培养研究——以通讯录管理系统为例[J]. 韶关学院学报,2018,39(12):23-27.

    [14] 吴际,孙青,荣文戈,等. 能力培养目标驱动的软件开发类课程实践教学方法研究[J]. 中国大学教学,2018(10):37-43.

    [15] 李金忠,黄雪梅,夏洁武. 新工科背景下融合CDIO和翻转课堂的Java程序设计课程教学改革[J]. 计算机教育,2019(11):58-63.

    [16] 李金忠,黄雪梅. 问题驱动和思维导图在Java程序设计教学中的应用研究[J]. 台州学院学报,2018,40(3):51-55.

    [17] 夏洁武,吴兰英,李金忠,等. 生态学视角下的“学案导学”教学模式[J]. 计算机教育,2013(4):84-87.

    [18] 杨德石,李金忠,叶晓鑫,等. 基于SSM框架的题库和试卷管理系统的设计与实现[J]. 井冈山大学学报(自然科学版),2018,39(4):49-59.

    (責任编辑:黄 健)