以能力培养为导向的软件工程专业核心课程群建设研究与实践
2018-09-10邹红王健苏丹
邹红 王健 苏丹
摘 要:文章针对软件人才培养的现状,分析了核心课课程群设置的必要性,按照企业需求和应用型人才培养目标,对软件工程专业核心课进行了课程群的划分,并以软件工程类课程群为例,探索课程群建设思路,阐述了教學内容、授课方式和考核模式的改革方法,力争以能力培养为目标,为企业输送适合的软件人才。
关键词:软件人才;能力培养;课程群建设
中图分类号:C961 文献标志码:A 文章编号:2096-000X(2018)12-0046-03
Abstract: This article is about the current situation of software talents training, analyzes the necessity of setting up the core curriculum group, and divides the core curriculum of the software engineering specialty into the curriculum group according to the enterprise's needs and the training objectives of applied talents, and takes the software engineering curriculum group as examples, and it also includesexploring ideas for the construction of curriculum groups, elaborating on the reform methods of teaching content, teaching methods, and assessment models, and striving to cultivate suitable software talents with the goal of capacity development.
Keywords: software talent; ability training; course group construction
引言
作为信息产业的核心,软件产业是国民经济信息化的基础,涉及国家发展和百姓生活的方方面面。为了更好地适应和服务国民经济的快速发展,国家提出重点发展软件产业,要求高校结合市场需求加大软件人才的培养力度,培养能够满足国家各个行业发展需要的应用型软件开发人才[1]。
随着云计算、物联网等新兴产业的发展,软件人才在数量和结构上存在重大缺口。据信息产业部预测,软件人才需求的增长率将保持在每年10%以上,人才的结构比例呈现为“橄榄型”,“高端人才”(系统分析师、项目经理等)和“低端人才”(软件编程人员)严重短缺[2],具有较强综合能力、应用能力的软件工程师严重不足,未来5~10年将缺少更大数量的软件开发人才。而目前的现状是很多计算机、软件工程专业毕业生由于缺乏系统的软件设计开发能力,不能很好地满足企业岗位需求,核心问题在于高校培养的计算机软件人才与岗位需求不对接。因此如何培养复合社会需求的软件开发人才,成为软件工程专业发展面临的一个问题。
目前许多高校都开设了软件工程专业,但课程体系的设置大都千篇一律,往往缺乏系统性和科学性,致使软件开发系列课程知识点重复,实践环节的配合出现偏差,普遍现象是学生学习没兴趣,上课无激情;学生有较好的应试能力,而实际解决问题的能力却很差;学生毕业后的开发能力不能满足企业的需求,有的甚至需要二次培训才能适应岗位工作。因此,软件工程课程体系的优化与改革,对于培养高素质的IT应用人才意义重大。
一、课程群设置的意义
高校人才培养的关键是课程设置,合理的课程体系是培养学生能力的基础。课程是大学整个教学活动的基础和核心,高校的改革和转型,最终的落脚点应该是课程的建设和改革,而课程建设是一个十分复杂的系统工程。课程建设与改革是高等学校提高教学质量的核心和关键,是高校教学改革的重点内容。以往的课程建设是单门课程的独立建设,而学生的能力培养不是一两门课程能解决的,往往是一系列课程共同支撑一个培养目标,所以一门课程建设得再精,不能带动学生的学习热情,不能完成学生能力培养的目标,因此我们改变单一课程建设,将培养某一能力的相关课程划成课程群,按课程群进行课程建设。
课程群建设是近年高校课程改革的热点,它是高等院校课程建设实践中出现的一项新的课程开发思路,是推动高校专业课程优化整合,深化课程改革、教材建设、师资队伍建设以及各种教学资源优化配置的重要手段。课程群建设弱化了课程的独立性,强化了课程间的联系,突出课程为共同专业培养目标的服务特征,课程群在形式上弱化课程个性概念,强化课程内容之间的融合、交叉和关联,围绕课程群的培养目标强调每门课程教学内容的取舍,以提高教学效率和教学质量。课程群建设改变了过去课程改革中一门课程单打独斗的传统模式,强调课程建设的系统特性和规模效应。
课程群建设作为课程建设改革的一个发展趋势,打破了课程内容的归属性,从培养目标层次把握课程内容的分配与实施。通过完善课程群建设,能够最大限度地加强课程之间的联系,优化课程内容和结构[3]。课程群建设是专业培养目标实现的有效保障,是提高教学质量的一条新的途径。
二、课程群的划分
借鉴国内外先进的软件人才培养理念,着眼于软件工程专业的发展前沿,面向地方社会经济发展需求,结合我校生源情况,确定软件工程专业的培养目标为培养学生具有软件分析与设计能力、软件实现能力、软件测试能力、软件项目管理能力、大数据分析与处理能力;具有综合运用相关学科知识、技术,分析解决软件工程领域实际应用问题的能力。为此应以能力培养为导向设置课程体系,将培养某种能力的相关课程归为一个课程群,按照课程的先修后续,整合课程的教学内容,去掉重复环节,增加实践锻炼内容,用一个完整的项目贯穿课程群内几门课程,使学生通过课程群的学习,具备相应的开发能力。
具体的做法是:制定出软件工程专业的若干个专业核心课群,每个群都有明确的培养目标,让教师和学生明确知道“教与学”目标是什么,将应用人才的培养目标缩小到课程群的能力培养目标,让教师和学生都好参照,实现了小口径的规劃。这样小口径规划,对于计算机应用变化快的特点,易于修改、制定相对灵活、节省教师大范围更新知识结构的投入。
课程群划分的原则是:依据能力规格,准确划分软件工程专业中的课程群,将所有课程纳入课程群建设中,本着关联性、整合性和科学性原则[4],构建一套突出应用能力培养的软件工程课程群课程体系。
为了适应转型发展需要,2015年我们就对软件工程人才培养目标和培养规格进行了调整,2017年又对大庆、哈尔滨、北京、苏州等地十多家IT企业进行了人才需求调研,根据企业需求确定了人才培养目标,依据软件工程人才培养目标和培养规格重新构建了课程体系,如图1 所示:
按照课程与能力培养的对应关系,将软件工程核心课程群划分如图2所示:
各课程群所含课程如下:
基础类:数学类课程群:高等数学、线性代数、概率论与数理统计;
基础理论课程群:数字逻辑、计算机组成与结构、计算机网络;
软件基础课程群:离散数学、数据结构、操作系统、数据库原理;
程序设计类:面向对象程序设计基础及高级应用、Web程序设计、Web开发框架;
软件工程类:软件工程导论、软件需求分析、软件建模技术、软件项目管理、软件质量保证与测试;
前端开发类:多媒体技术、人机交互界面设计、Web前端开发基础、Web前端开发高级技术;
大数据处理类:大数据基础、数据分析与挖掘、内存计算框架、大数据可视化技术。
三、课程群的建设
课程群建设的目的是将课程群相关课程进一步整合,对课程的教学内容、实验内容进行优化,实现课程内容的融合与分解,促进课程内容的更新与重组,注重素质教育和创新能力的培养,同时对课程实践环节的实施做出规范。对于课程群的建设,我们着重从以下几方面进行改革:
(一)教学团队建设
课程群划分后,我们首先针对软件基础、程序设计、软件工程和前端开发四个课程群建立四个教学团队,每个团队设置一个负责人。每个教学团队老中青结合,年龄、学历和职称形成梯队,每位教师对课程群内每门课程都能胜任,建立一支高素质高水平的课程群师资队伍。
(二)教学改革
课程群教学团队负责人带领课程群内几门课程的任课老师一起进行课程改革,以行业需求为导向,合理确定知识结构,制定整体建设计划,明确其中每一门课的建设目标和要求,研讨教学内容的整合,重新修订教学大纲,选择合适的教材和参考资料,探讨教学方法,共同制定实验项目,根据培养目标统筹设计开发项目和课程设计,确定考核内容和考核方式等。
以软件工程课程群为例,率先通过教学改革立项进行团队建设和课程群建设。该课程群的几门课程理论性较强,主要教授学生如何用工程化的方法对软件项目进行分析、建模、规划、管理及测试。以往教学注重理论讲解,知识点离散,学习枯燥,学生学完不知如何应用。为了改变传统的教学模式,专业负责人、课程组老师与企业开发工程师共同商讨,按照企业对开发人员的能力要求,确定培养目标,根据培养目标设置系列课程,有效整合课程内容并做好衔接,将理论和实践结合起来,以项目驱动的方法,用一个完整的开发项目,引导启发学生如何做项目的需求分析、建模、开发管理和测试,结合同期开设的程序设计类课程,学生可以边学习边开发实现项目。
从讲授《软件工程导论》开始,学生申报题目、开题,教学中融入了大量项目分析和讨论的内容,学生从被动地听,变成主动参与,边分析边做,边总结边修改,不断递进。《软件需求分析》课帮助学生做项目分析;《软件建模技术》课带领学生建立软件模型;附以前端界面开发和后台数据库设计,结合程序设计语言,修完大二和大三的课程,只要学生认真跟着老师的思路学好各门课程,完全可以开发出一个小型项目,既学会了理论知识,也积累了开发经验,再经过大四的专业实习锻炼,即可满足企业的岗位需求。
(三)强化实践教学
引入知名企业,与企业深度合作。一方面请企业开发工程师参与教学过程,指导学生实践,或与相应团队教师共同确定培养目标及设计教学项目案例;另一方面送学生到企业见习、实习、实训,提高学生就业综合竞争力,实现学生高层次、高质量就业。
(四)考试方式改革
教学的改革必然导致考核方式的改革,纸质考试不能完全考量学生的开发设计能力,我们更注重过程考核,制定详细的考核方案和评审细则,将分析类课程的考核改为答辩的方式,将设计类课程的考核方式改为机试做设计,更多地考量学生的应用设计能力。
四、结束语
本文以软件工程专业为例,结合学校的办学定位、专业的转型发展和企业需求,对课程群建设进行了一些探索,给出了课程群建设的一些思路。经过2014级的试验,目前正在2015、2016级采用课程群设计的教学方法,不仅改变了授课方式,而且改革了考试形式,变单纯的纸质考试为过程性考核加答辩或设计,避免了学生死记硬背知识点、高分低能的弊端。下一步我们准备为各课程群建设教学网站,方便学生学习以及与教师沟通,实现资源共享,把课程群建设的重点放在优秀课程和精品资源共享课程建设上,为应用型软件人才的培养打下基础。
参考文献:
[1]陶维安,范会联.应用型软件开发人才培养模式研究[J].教育与职业,2012,20:105-106.
[2]赵玉娟,张浩军,王晓松.卓越背景下能力导向型软件工程课程群建设方案研究[J].计算机教育,2015,12:74-77.
[3]李向军.西安文理学院计算机专业课程与课程群建设探究[J].西安文理学院学报(社会科学版),2013,12:114-117.
[4]黄曙荣,花锋,安晶.以能力培养为导向的计算机专业Java课程群建设研究[J].电脑知识与技术,2016,01:140-142.
[5]刘永彬,欧阳纯萍,阳小华.基于工程教育认证的应用型软件人才培养模式探索[J].高教学刊,2016(15):63-64.
[6]王文发,武忠远,许淳.校企合作培养面向工程应用型软件人才的探索与实践——以延安大学为例[J].高教学刊,2015(06):13-14+17.
[7]张同庄,胡明,郭健鹏.以能力为导向的单片机卓越工程师培养[J].高教学刊,2016(21):92-93.