浅谈面向软件工程的课程群建设探究
2016-08-10谢晓兰程小辉谷晓峰
谢晓兰+程小辉+谷晓峰
摘 要:本文通过分析目前高校软件工程专业课程的建设现状,对其所存在的一系列弊病做了阐述,最终提出了面向软件工程的课程群建设的建议。依据目前软件行业的人才需求特点,有针对性地将软件工程专业分为三个层面,并分别对不同层面的课程群建设的思路与方法进行了论述,对软件工程课程群的建设具有一定的研究价值。
关键词:软件工程;课程群;人才需求;三个层面
中图分类号:TP311.523 文献标识码:A
一、引言
软件工程作为一门综合的交叉性新兴工程学科,在目前社会中应用于多个层面,例如,各种各样的操作系统、游戏开发、嵌入式系统、数据库,还有风靡全球的电子商务,等等。而计算机软件的应用也同样深入到各个行业当中,促进了经济和社会的发展,也提高了工作效率和生活效率,可以说与我们的生活息息相关。
对于软件工程专业来说,其课程设置基本上涵盖了软件需求工程、设计、编程、测试和维护的全部内容。随着高等教育规模的不断扩大,毕业生的就业面临困境。同时,IT行业也难以招收到适应企业发展的人才。所以,通过课程群建设对软件工程专业的人才培养模式进行改革,从而培养出适应社会需要的高素质、实用型且具有竞争能力的软件工程高级应用型人才,可行且有必要。
二、软件工程课程建设现状
目前,软件行业正处于一个高速成长期,技术与管理都日趋成熟。而软件工程专业伴随着行业的发展也一直在不断地调整。虽然软件工程专业的开设也有一定的年头了,但目前我国高校软件工程专业课程体系建设仍存在一系列问题。如课程融合不够紧密,即使教学大纲已经针对专业特点进行了相应的课程安排,如在教材选择、实验内容方面均有突破,但是仍没有突出专业的特点,没有将整个专业进行整合编排,大部分都是停留在单一化的课程模式,没有形成一条通顺的知识链,要么内容重复,要么出现断层现象。而在实验教学方面,重心偏离,教学课时不足,对于教材所匹配的例子所办也过于单一,并不能使学生在做实验的同时对相关理论知识有较全面的认知。
前年的美国IT xpo峰会和去年的IT互联网人才招聘趋势论坛上,与会人士对软件行业人才需求都做了讨论,编码能力、实践理念、团队精神、英语读写能力,这些都是必须具备并且要达到一定水准的。然而,目前我国大部分普通高校的软件工程专业对软件人才的培养并没有跟上其发展的进度。如课程内容明显与行业现状脱节,学生的理论学习效果不明显,更别说实际操作能力了。因此,软件工程教学需要对目前软件行业人才需求做出的响应,理论和实践必须双管齐下。
目前软件行业陷入企业招人难和毕业生找工作难的双重困境,其主要原因是学生不能满足软件企业不断地对软件人才提出新的、更高的软件工程能力要求。针对上述高校软件工程专业课程建设中存在的一系列弊病,我们在这里提出面向软件工程的课程群建设教学改革,通过一些方法来解决问题。
三、建设思路与方法
从三个层面上划分软件工程可分为程序级、系统级、管理级。针对不同层面的不同侧重点,教学改革与课程群的建设也同样要有针对性。
1.程序级
一项工程首要任务就是打好基础,而程序级作为软件工程的基础级,对学生编程能力、调试能力、维护能力的培养是高校软件工程专业课程群建设的重点。
目前高校开设的软件工程的专业基础课有C语言程序设计、Java语言程序设计、面向对象程序设计、计算机电路、数据结构、工程数学、离散数学、数据库系统概论、软件集成开发环境、计算机组成原理与实验、操作系统、计算机网络、软件工程、编译原理、系统分析与设计和软件质量保证与测试等课程。作为刚接触软件工程的大学生,专业基础课尤为重要。只有基础好,根基牢,才能完成上层建筑的构造。所以整个软件工程的课程群建设首要任务是完成程序级的基础课程群建设。
针对此层面的课程群建设,可以编程能力、调试能力、维护能力三大能力为核心展开,形成知识点—知识链—知识面—知识网络体的360度全方位课程群,打破独立性,去除单一化,避免课程与课程之间的内容重复或前后脱节,在有限学时打好牢固基础。
2.系统级
作为软件工程的第二个层面,系统级主要是理解掌握一个完整的软件开发过程、系统分析和设计的主要方法,这是在以程序级的专业基础课程群建设上进行的实践性升级,换句话说,就是系统级是以实践与实用为核心的课程群建设。
首先,提出理论与实验平衡发展穿插教学的方式。目前很多高校多半还是以理论教学为主,实践教学为辅,且多是先集中授课后安排实验,致使学生总有一种实验跟不上理论、理论融不入实验的无力感。教师对单一课程的实验内容安排要进行减与加的整合,减去过于简单的小实验,加入其他课程的实验内容,让学生在做实验的时候能有一个整体性的感知,而不是出现断层。在项目实践过程中,学生对软件开发和软件测试技术的整个过程都会有一个更全面和清晰的认识,当结合理论知识来学习时,更容易让学生加深记忆和理解。对于团队合作,项目管理方面也能让学生提前有所认识和熟悉,为将来的职业发展做好铺垫。
然后,我们提出以学科竞赛起带头作用的实践与理论的结合。实践是检验真理的唯一标准,作为软件工程专业的大学生,参加相关的学科竞赛是对理论与实践结合的完整体验。例如,“中国软件杯”全国大学生软件设计大赛、“蓝桥杯”全国软件和信息技术专业人才大赛、“英特尔杯”全国大学生软件创新大赛、微软“创新杯”全球大学生竞赛、全国高校移动互联网应用开发创新大赛、Android全国大学生移动互联网创业挑战赛、“发现杯”全国大学生互联网软件设计大奖赛等,这些都是今年具有一定影响力和权威性的比赛。在整个比赛期间,学校针对某项竞赛做新的实验教学内容编排、课时调整、课程授课先后调整,使学生对软件开发的整个过程的认知有一个质的飞跃。
3.管理级
所谓管理级,就是通过项目管理课程,了解工程中质量、成本、进度的管理情况,具有风险意识。这里我们可以引进校外企业进行合作,邀请校外优秀软件企业进校园不定期地宣讲相关知识,让同学们提前对软件行业项目管理方面有所认识和了解,让学生能够理论联系实际,更好地学习,同时,也可让学生提前做好职业定位与确定目标。
软件产品在我们生活中无处不在,而软件行业的不断壮大,必然使得我们要时刻跟上其前进的步伐。针对高校的软件工程专业的教学改革是必然要走的路,而课程群的建设是目前软件工程专业教育的发展方向。本文对目前软件工程专业课程建设中存在的一系列问题,按照目前软件行业对人才需求特点,将软件工程从三个层面进行了划分,即程序级、系统级和管理级。针对每一个不同的层面我们提出了不同的课程群建设思路,从而形成切实有效的软件工程课程群建设办法,希望能够在专业课程建设上有所建树,从而提高软件工程专业教学质量,提高软件工程人才的培养水平。
参考文献:
[1]吕会庆,张 巍.软件工程专业课程群建设教学实践[J].计算机教育,2012,(14):27-29.
[2]彭佳红,曹晓兰,程 妍.软件工程专业课程体系与课程群研究[J].高等农业教育,2013,(2):74-76.