软件工程专业人才培养模式浅谈
摘要:针对“软件工程专业危机”问题,提出以项目为核心的软件工程专业人才培养模式。具体阐述该培养模式的4个核心特征,介绍该培养模式在具体应用中的实践探索,湖南师范大学软件工程专业的实践表明,该人才培养模式有效提升了专业吸引力、学生学习积极性和软件工程能力,促进了软件工程专业教学与科研的相互融合。
关键词:软件工程;工程教育认证;软件项目;专业人才培养模式
1概念提出
软件工程人才培养模式是一个复杂而多变的课题,其内涵会随着多种因素而变化。就目前专业发展的整体环境而言,以下3方面认识是学界和业界较为一致的观点,即软件工程人才培养应当关注实践能力培养,特别是团队合作所需要的软技能;注重校企合作,紧跟业界最新进展;具备扎实计算机基础,能迅速适应和融入不同行业。当然构建各类软件工程人才培养模式的目标是满足不同阶段的需求,其中:短期目标是以企业为主,培养高质量软件工程人才满足产业需要;中期目标是满足工程教育认证要求,提升专业水准;长期目标是培养软件工程能力,满足ผ新工科建设需要。以项目为核心的软件工程专业人才培养模式具有如下4方面核心特征。(1)理念坚实,即在培养体系设计时强调软件工程专业理念,传递准确而深刻的专业理念,并让其跟随学生的整个职业生涯。这与之前学界所强调的“宽基础、淡化专业”的理念不是背道而驰,而是互补关系。首先,专业理念教育强调专业能力培养,源于专业但不拘泥于专业,更强调学生基于专业能力迅速适应所从事的行业,一通百通;其次,技术更新速度加快,但专业理念相对稳定,更能适应长期的从业需求。(2)项目为核,即在培养体系中设计不同的项目贯穿整个培养阶段,依托项目培养项目能力。实际上,小到个人每日工作安排、大到探月工程,均可以项目为单位。项目是IT行业的常见的基本单元,或大或小或简单或复杂的项目将伴随着IT从业人员的整个职业生涯。毫无疑问,在工作中将项目做到优秀,将是对个人能力的极大肯定;同样,培养项目能力是最自然的人才培养要求,而通过项目本身来培养将是最为直接和有效的培养方式。(3)实践为体,即将实践环节提升到与理论教学同等重要的程度形成理论与教学相互支撑的平衡局面,恢复实践在软件工程学科中载体、实体和主体的地位。软件工程专业自身是从实践中发展而来的,实践是软件工程专业的核心与灵魂之一。实践是检验软件理论、方法和工具是否有效的途径,“最佳实践”这一名词是对软件工程实践性的简要而准确的概括。在培养计划设计中,需要考虑不同层次、不同目标、不同难度的实践,并考虑与相关理论课程进行融合。(4)本硕一体,即贯通本硕界限,构造“教学与科研一体、本科与研究生一体、理论与实践一体”的互动形态。高水平科研与高质量本科教学是相辅相成的,对于软件工程这一实践特性突出的学科而言更是如此。高效实用的软件工具、软件系统、软件方法既是研究的范畴,也自然能为本科教学所用。形成教学与科研、本科与研究生、理论与实践的有机融合是提出教学模式的核心和目的之一。
2实践探索
2.1构建多层次的专业理念教育体系,夯实专业核心理念
专业理念相关的教育,不只在软件工程专业极为缺乏,在许多其他专业均是如此。其原因是多方面的,包括对立看待“宽基础”和“精专业”二者之间的关系;不在低年级开设专业导论课程;对专业特点认识不足,将其与计算机专业混淆在一起;缺乏专业自主性,专业基础薄弱等。同时存在计算机和软件两个专业的高校中,上述问题相当普遍。为此,课题组从3个层面构建专业理念教育体系:①在时间上,建立从大一到大四贯彻始终的专业理念内容体系,保证在每个学年都有专门课程承载专业理念教育。②在内容上,根据专业理解程度对应的专业理念教育内容逐步深入。大一侧重理解软件工程自身内容;大二侧重理解软件工程对个体的要求;大三侧重软件工程对团队的要求;大四侧重软件工程对从业人员的要求。③在形式上,采用专家讲座、企业实习、专业课程等多种形式,让学生从更多的维度、不同的视角理解软件工程。
2.2构建多层次项目群,形成依托项目的软件工程能力培养模式
项目是该人才培养模式的核心,需要以项目为载体提升学生的工程能力,包括团队协作能力、软技能、独立解决问题的能力等。为了满足不同年级、不同水平的培养需要,需要多层次的项目群。①针对年级不同,项目侧重各不相同,大一项目以个体程序设计能力为主;大二项目以小规模软件设计实现能力为ข主;大三项目以具有一定规模和难度的软件系统设计实现为主;大四项目以具有实际项目背景的软件项目为主。②针对项目类型,建立了多种形态的软件项目以适应不同水平和需求的学生。比如在유大三年级可以设立具有一定复杂度的软件项目,如传统软件系统开发项目;具有实际需求的软件项目;结合算法研究类软件项目;基于开源代码标注与提升的软件项目。为了提升学生的沟通能力、表达能力、协调能力等软技能,要求学生组成项目团队共同完成具有一定难度的项目。项目团队必须分工明确、相互协作,在有限时间内完成具有一个质量要求的项目,在此过程中培养在课堂理论讲述中无法锻炼的软件工程能力。
2.3恢复实践主体地位、深化知识理解与应用
实践既可以是一种方式,也可以是一种能力。无论是工程教育认证,还是新工科建设,都高度重视实践环节。由于软件的特殊性,实践在软件工程中的重要性更为凸显;相比于其他工科专业,如何强调实践在软件工程中的重要性都不为过;很难想象不具备基本编码能力的人被称为软件工程人才。由于软件的抽象性和不可见性,类似于操作系统、编译原理、网络等课程中的基本原理,如果不通过实践是很难深刻理解和掌握的。因此,提出的人才培养模式特别强化在软件工程人才培养中,恢复实践的主体地位;更进一步,课题组将探索以实践为核心、理论为辅助的教学模式。为了恢复实践的主体地位,在培养计划中调整如下:①在覆盖度上,对所有专业课程均设置实践环节,按照两倍的理论课时安排实践内容。②在集中度上,以课程群方式组合相关课程,同一课程群可以共享同一个实践项目。③在重视程度上,在计算工作量时,将实践课时和理论课时同等对待,激发教师积极性;同时将实践分数占比提高到不低于50%,强化学生对实ฐ践的重视度。④在形式上,设计了分散实践、集中实践、企业实践等形式以适应不同阶段的实践需要。集中实践是在每个学年的学期末安排至少3周的实践时间,全部用于单独实践;调整教学计划,将大四一整年空出来安排学生到企业参与实践。
2.4打通本硕界限,形成教学与科研相互促进的氛围
对于软件工程专业而言,教学与科研是自然互通的,但相比于国外,目前国内软件工程的科研水准滞后于软件行业发展,难以为软件产业发展提供足够的支撑;这也在相当程度上影响了软件工程教育水准的提升。同时,国内目前软件工程专业的硕士研究生有一批是跨专业考生,或者调剂生,其基础距离软件工程研究有一定差距,需要尽快补足短板才能为研究提供基本能力支撑。在培养模式设计时考虑采取如下措施:①将科研课题以项目形式引入本科教学,以项目为载体将研究生和本科生搭配,增加项目的研究性。②要求跨专业研一学生参与本科的集中实践,与本科生组成项目组补足软件工程能力训练。③选拔部分优秀生进入单独组建的本科创新创业实验室,与研究生一起组队参与相关竞赛,以赛代练。④依托企业共建产学研究基地,派驻本科生和研究生进入企业完成相关项目。
3教学效果
基于本文提出的软件工程专业人才培养模式,项目组在湖南师范大学软件工程专业进行了实践验证。为此,项目组对软件工程专业2016级培养计划进行了全面修订,以保证人才培养模式的顺利实施。同时,课题组解决了诸多教学协调问题,在2016、2017、20183个年级同时实施了新的人才培养模式。2016级培养计划在课程方面进行的修订,不同学校可以根据各自特点进行有针对性的调整。需要指出的是,学校一般4年左右对培养计划做一次全面更新,以保证教学稳定性;但对于软件工程专业并不适合,其原因主要是软件技术更新速度很快,4年时间一般都更新了一代,容易导致学校所学技术已经被淘汰这类问题。通过培养计划等调整一系列教学调整重组,湖南师范大学软件工程专业在各个年级、分阶段实施了所提出的人才培养模式,并取得了预期成效,具体包括如下4个方面。(1)实现了从大一到大四全程贯彻软件工程专业理念教育。在培养计划中, ツ4个年级根据学生所处的不同阶段,设置对应的专业理念教育课程,让学生逐步明确软件工程专业的内涵和本质。其中:将软件项目管理/C++(12160157,48课时)拆分为两门课,即软件项目规划与实践(16课时,计划在第2学期开设)和IT项目管理(32课时,仍然在第6学期开设),分别对应大一和大三年级的专业理念教育的载体课程;大二学年第三学期开设计算机系统基础(二)(将原第七学期开始的云计算理论及应用课程调整而来)作为专业理念教育的载体课程;大四学年通过完整的企业实践落实专业理念教育。通过完整的专业理念教育让学生初步理解软件工程的基本概念、知识体系与学科范畴,理解软件工程技术与过程管理,以及软件工程专业的职业素养和要求,为从事软件行业相关工作打下坚实基础。(2)突破原先从属于理论的实践教学模式,切实加强实践教学的主体地位。在每个学期均选择一门或几门课程构成课程群(大三将软件工程、系统分析与设计、软件综合实践(二)3门课组合为课程群),集中一个月进行以项目为载体的软件工程实践教学。在内容上将关联课程组合为项目实践提供支持;在考核上将实践权重增加到不低于60%;在形式上,团队考核和个人考核相结合。根据培养计划安排,在第三学期和第五学期将专业课考试提前,分别为软件综合实践(一)和软件综合实践(二)预留4周时间进行集中工程实践,切实提高实践教学质量,为第七学期的企业实践训练提供支撑。(3)深度贯彻产学合作、协同育人思路,切实提高学生综合素养。调整培养计划,将大四学年全部用于企业合作,展开全面深入的产学合作协同育人行动。与国内知名软件企业合作,通过面试、笔试等环节让本科生和研究生直接参与企业的真实项目实践,在真实工作环境中提高综合素养,解决目前大四学年的课程教学质量差、教师教授热情不高、学生难以集中精力学习等实际问题。通过实际的企业实践,让学生提前熟悉职场、适应工作氛围,锻炼沟通、表达等软技能,解决理论与实践分离的问题,破解学生动手能力差、大四理论课程质量不高等问题。(4)建设以软件工程能力培养为目标的项目群。课题组建设了多层次的项目群,以适应不同年级、不同水平的学生。同时,以项目为核心和载体,让学生在项目进行过程中充分理解软件工程的专业理念、实践在软件工程中的核心地位以及团结协作能力,在组成项目团队完成项目的过程中全面提升软件工程能力。基于所提出的人才培养模式进行的初步实践取得了明显效果。2018年下半年全校性的专业互转中,软件工程专业首次成为所有信息类专业中申请转入人数最多、转出人数最少的专业(2018级新生60人,实际转入学生共计15人,湖南师范大学转专业公示名单);其中申请转入人数超过学校分配指标。这充分说明,所提出的人才培养模式和专业理念得到了学生的充分认可,专业吸引力明显增强。同时,在2016级软件工程专业贯彻该教改理念之后对学生进行的教学调研数据表,学生对教改的满意度、以项目为核心的团队形式的实践方式以及个人能力提升度等方面的评价有明显提高。
4结语
以项目为核心的软件工程人才培养模式的特点可以归纳为“理念坚实、项目为核、实践为体、本硕一体”,通过该模式在湖南师范大学软件工程专业的实施,初步实施并取得了较好的效果,得到了学生的认可和关注。在后续实施中,将着重从如下几方面着手:①进一步强化科研与教学的紧密度,探索更有深度的培养模式并融合科研因素;②加强项目的引领作用,考虑将IT项目管理课程覆盖到大一到大三,提高项目管理能力;③拓展校企合作,充分发挥大四一年企业实践的价值。