“软件工程”专业课程教学与人才培养模式研究

2015-02-22 03:42曹步清肖小聪
当代教育理论与实践 2015年11期
关键词:软件工程课程教学就业

曹步清,肖小聪

(湖南科技大学计算机科学与工程学院,湖南湘潭411201)



“软件工程”专业课程教学与人才培养模式研究

曹步清,肖小聪

(湖南科技大学计算机科学与工程学院,湖南湘潭411201)

摘 要:软件工程增设为一级学科,标志着它进入了一个规范发展的崭新阶段。针对目前软件工程系列课程教学中存在的问题,引入MOOC进行教学改革,形成“以学生为中心”的教学理念,设计“传统知识与新理论及新技术”相结合的教学内容,发展“以案例为驱动”的理论及实践教学方法,采用“引导和激励”的课程考核方式。结合国内外8家主流软件企业软件工程人才的知识需求及技术要求,构建以“就业”为导向的软件工程人才培养新模式。

关键词:软件工程;课程教学;MOOC;人才培养;就业

在2011年,国务院学位办印发了《学位授予和人才培养学科目录(2011年)》,确定增设软件工程学科为一级学科(080835),这标志着软件工程学科进入了一个规范发展的崭新阶段。然而,软件工程学科的交叉性、复杂性的特点,使其教学与人才培养过程中必然会面对更多的机遇与挑战[1]。课程教学与人才培养是高等学校教育的核心与重心所在,既是把教育思想、观念、知识与技能付诸于实践应用的纽带,也是为经济建设、社会发展以及其他诸多方面做出重要贡献的途径[2]。目前,我国将软件工程学科确立为一级学科,突显出软件工程在高等教育中的重要地位。新闻杂志周刊《美国新闻与世界报道》日前推出2015年最热门科技工作榜单显示,软件开发工程师居首[3]。在此背景下,研究和探索适合地方院校的软件工程教学与人才培养模式,不仅将切实提高教师的软件工程教学水平和学生的软件开发能力,更能为社会培养高质量的软件工程方面的设计与开发人才。

1 软件工程系列课程教学中存在的问题

1.1教学理念

传统软件工程教学比较注重理论教学、教师讲授为中心的教学理念。在课程教学中,教师往往会花费大量时间与精力把统一、规范的软件设计与开发理论、方法及技术教授给学生,力求让学生形成良好的软件设计与开发思想与习惯。在此情况下,学生可能对整个软件设计及开发流程有了“理性”认识,但却缺乏真实软件系统实践开发的“感性”认识。实际上,理论指导下的具体的软件系统开发案例及经验介绍更为重要[4]。

1.2教学内容

国内一些学校的软件工程教学仍然是以传统的软件工程理论及技术作为重点,教学中讲解的内容以“需求分析—总体设计—详细设计—编码及实现—测试维护”这种从顶向下、逐步细化的思路为教学线索。在实践中,主要以开发图书馆管理系统、人事管理系统等MIS系统作为课程的实践内容。实际

上,软件设计及开发技术发展迅猛,特别是近年来的云计算、移动互联网及大数据等新技术不断涌现,必然要求在软件工程教学中注入新的知识元素。教师必须对教学内容及时更新与补充,否则学生所学知识将严重滞后于技术的发展[5]。

1.3教学方法

软件工程课程的理论性与综合性强,必须具备许多的先导课程知识(如程序设计语言、数据结构与算法等),一般是在大学四年级才开设。在教学中,如果只采用单一教学方法或者过于注重理论教学而轻视实践教学,时间一长,学生(尤其是大四学生)很容易产生厌倦的情绪,影响教学效果[6]。此外,该课程的授课对象为即将毕业的大四学生,如能运用一些实际的软件开发系统或启发式案例进行教学,讲透系统中的一些重要知识点、核心算法以及关键技术,不仅能够充分发挥多种教学方法的交叉优势,更能够对学生毕业设计以及就业产生积极影响。

1.4课程考核

目前,一些学校的软件工程课程采用的是传统的笔试加平时成绩的考核方式[7]。笔试主要考核学生对软件工程基本理论及知识点的掌握程度,比如瀑布模型、数据流图、耦合与内聚、详细设计工具(程序流程图、N-S图、PAD图)以及CMM等。这种考核方式能够增进学生对软件工程概念性与原理性知识的记忆,却不能促进学生软件设计与开发能力的提高。

2 引入MOOC的软件工程系列课程教学改革

MOOC(Massive Open Online Courses),即大规模在线开放课程。2012年以来,美国一些顶尖高校陆续开发了网络学习平台,如哈佛大学与麻省理工联合发起的edX、斯坦福大学创立的Udacity和Coursera,以及可汗学院(Khan Academy)。这些MOOC学习平台能够提供免费网络课程,教学效果明显,热遍全球。我国的北大与清华于2013年5月加入了edX,并上线了多门课程;北大、上海交大与复旦加盟了Coursera。我国一些重点大学也正在利用MOOC方式进行教学方法改革[8]。MOOC中很多课程始于计算机专业,MOOC对计算机及软件工程专业的影响也是最大的。在现行的各个MOOC平台中,计算机与软件工程课程的比例是最大的。例如,Coursera平台上现有计算机类课程94门(其中软件工程课程为55门);edX平台上现有计算机类课程21门(其中软件工程课程为10门);Udacity平台现有计算机类课程23门(其中软件工程课程为18门)[8]。因此,在传统软件工程系列课程教学中引入MOOC进行教学改革,势在必行。

2.1形成“以学生为中心”的教学理念

在软件工程教学中,可将MOOC作为课堂教学的强化与补充,形成混合式课程,采取传统教师课堂讲授与学生MOOC在线学习相结合的混合教学模式。同时,应改变注重理论教学、教师讲授为中心的传统教学理念,变换教师与学生角色,切实形成以学生为中心的新的教学理念。MOOC将充分体现以学生为中心的教学理念,可以重新构造软件工程个性化学习轨迹,实现师生及学生之间的互动讨论与协作、即时的系统测试以及学习反馈与评价。

2.2设计“传统知识与新理论及新技术”相结合的教学内容

在教学过程中,在传统课本知识基础上,需要引入一些新的软件设计、开发模型及技术。一方面,建议同学们参考新版书籍或MOOC上的电子资料;另一方面,及时补充当下流行的软件设计与开发方法及热门技术。例如,在云计算SaaS模式中,以Blog,SNS,RSS等为特征的Web2.0服务方式造就了数量众多的服务资源,包括Web Services、Web API等,使得没有或较少编程专业知识的终端用户能够实现面向服务的软件设计与开发工作。像类似于SOA架构,Web Services发布与组合,RSS技术,企业Mashup技术等内容需要补充到课堂内容教学中。

2.3发展“以案例为驱动”的理论及实践教学方法

教师将MOOC作为软件工程教学线上环节,提供以案例为驱动的理论及实践教学微视频,让学生提前自主预习课程知识。教师在课堂上重点讲解具体案例,梳理各个理论知识点以及核心的算法及关键技术。其中,案例的选择非常重要,可以选择教师自己科研工作中实际开发的软件服务系统或者开源的软件系统,制作成微视频,结合自己的切身实践经验,把宏观的理论知识以及微观的具体技术细节教

授给学生。

2.4采用“引导和激励”的课程考核方式

MOOC支撑下的软件工程课程考核,应以软件设计与开发能力为目标,将课程考核分成平时考核、期中考核与期末考核3种方式。借助MOOC,根据学生的在线学习轨迹,汇总学生的在线学习情况,加大平时成绩考核力度。在课堂教学中期,引入具体项目设计与开发任务,以项目开发的完成情况作为期中考核标准。期末考核采用课程论文形式,对给出项目要求书写需求文档、总体设计与详细设计方案,以及数据库设计说明。

3 构建以“就业”为导向的软件工程人才培养新模式

笔者调研了2015年国内外主流软件企业软件工程人才的知识需求及技术要求,如表1、表2所示。

表1 国际知名软件企业软件工程人才的知识需求及技术要求

表2 国内知名软件企业软件工程人才的知识需求及技术要求

从表1和表2可以总结出这些主流软件企业软件工程人才的知识需求重点及所侧重的技术要求:1)国际知名IT企业尤其注重扎实的数据结构、算法和代码以及软件设计能力;良好的英文读写以及听说能力。2)8家IT企业都要求熟练掌握一门或以上的程序设计语言,C\C++\JAVA仍然是主流的软件开发语言,而像python、.NET、PB、VS2008等也受欢迎。3)8家IT企业基本上都要求熟悉数据库理论及技术,尤其是MySQL、SQL Server以及Oracle数据库。4)一些流行新模型及新技术,比如Hadoop云模型、Android应用开发系列技术,也是目前企业所急需的。

根据以上的总结,在软件工程人才培养的过程中,应以“就业”为导向,以培养符合市场需求、受欢迎的软件工程人才为目标,具体建议如下:1)必须加大与软件工程相关性非常强的先导课程的教学与实践能力培养。尤其需要投入大量时间与精力到数据结构、算法设计以及数据库理论与技术这3门课程的教学中,使学生具备扎实的软件设计与开发基础能力。2)务必培养学生精通至少1门程序设计语言,熟练使用至少1种开发工具,并在此前提下,以开发出一个在一定代码量(万级)以上的自己的“软件作品”为大学四年的实践目标。3)教师要及时引导学生了解并掌握一些软件新理论、新模型与新技术,鼓励学生参与学术活动,并邀请公司技术主管或教师以及高年级学生中的技术达人定期举行技术讲座。

4 结语

软件工程增设为一级学科,突显了它在整个计算机学科中的重要地位,其教学与人才培养也将面临更多的机遇与挑战。本文分析了目前软件工程中教学所存在的问题,并探索引入MOOC的软件工程系列课程教学改革措施。同时,调研了2015年国内外8家主流软件企业软件工程人才的知识需求及其技术要求,并给出了具体的人才培养建议。

参考文献:

[1]教育部高等学校软件工程专业教学指导分委员会.高等学校软件工程专业规范[M].北京:高等教育出版社,2011.

[2]花春叶.软件工程专业本科课程体系建设研究[D].天津:天津大学,2012.

[3]2015十大最热门科技工作:软件开发工程师居首[EB/OL].(2015-01-15)[2015-03-15].http://code.csdn.net/news/2823562.

[4]闫俊伢.软件工程课程理论与实践教学方法[J].计算机教育,2010(21):115-117.

[5]佟玉军,周军,陈文实,等.软件工程专业教学改革研究[J].计算机工程与科学,2011,33(A1):49-54.

[6]李秀芳,邹海林.软件工程课程教学研究与实践[J].计算机教育,2010(22):112-115.

[7]张震.高校计算机教学中软件工程课程改革[J].佳木斯教育学院学报,2011(4):100.

[8]徐晓飞.抓住MOOC之机遇-促进计算机与软件工程专业教学改革[J].中国大学教学,2010(1):29-34.

(责任校对 朱正余)

作者简介:曹步清(1979-),男,湖南湘乡人,副教授,博士,主要从事软件工程研究。

基金项目:湖南科技大学教学研究与改革资助项目(G31390);湖南科技大学教学研究与改革项目(G31210);湖南省普通高等学校教学改革研究项目(湘教通[2014]247-262)

收稿日期:20150513

doi:10.13582/j.cnki.1674-5884.2015.11.010

中图分类号:G64

文献标志码:A

文章编号:1674-5884(2015)11-0029-04

猜你喜欢
软件工程课程教学就业
依托工作室的软件工程实践教学研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
会计专业课程教学国际化的探索性研究
高职物流专业“物流费用结算实务”课程开发研究
高职院校医学检验技术专业提高课程教学质量的探讨
关于如何创新和完善计算机软件工程管理的探讨
技工院校以就业为导向市场营销专业人才培养的思考
浅谈高校辅导员的就业指导力
如何指导大学生提高面试技能
内蒙古自治区高校毕业生就业指导服务体系建设及对策研究