在线客服

软件工程专业能力培养研究

引论:我们为您整理了1篇软件工程专业能力培养研究范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。

软件工程专业能力培养研究

软件工程专业能力培养研究:软件工程专业学生创新能力培养的探索与实践

摘 要:我国的高级软件人才缺口较大,各高校在培养软件工程专业学生中存在一系列困难,而学生的创新能力培养是最为重要的难题。该文提出基于三个环节的差异型教学模式,在充分调研的基础上,构建大学生创新能力培养网站,为更新创新知识、共享创新资讯及教学成果提供网络平台。

关键词:软件工程专业 差异型教学模式 创新能力

近日,工业和信息化部运行监测协调局的数据显示,2014年1-5月,我国软件和信息技术服务业实现软件业务收入13254亿元,同比增长20.9%。在如此庞大的业务数据下,我国却面临软件工程师缺口较大,尤其是高级软件工程师更是稀缺的现状。教育部于2009年也提出实行“工程师教育培养计划”,意在培养、造就一批创新能力强,适应经济、社会发展需要的各类工程技术人才。而创新能力培养在软件工程专业与工程师教育中的地位重要,对软件工程专业学生创新能力的培养进行深入探讨、实践和研究是有意义的。

然而当前高校在软件工程专业学生培养存在以下问题:知识结构单一;忽视了实践能力培养;忽视了自主创新[1]。特别是在创新能力培养方面,缺乏完善的平台建设与激励机制。结合人才培养工作的四要素 [2],按照学生在学校学习不同阶段:课堂环节、实践环节、课外环节,结合专业课程,建立基于三个环节的差异型教学模式。该文对此教学模式和相关培养进行了一系列探索与实践,取得了一定的教学成果。

1 创新型人才差异型教学模式

1.1 课堂环节中的创新能力培养

课堂教学环节中创新能力的培养,应体现在新知识的引入,新应用的介绍,新发展的前瞻,重点开拓学生的思路。因此在软件工程专业开设的Java程序设计的课堂教学环节,引入5~8 min左右的业内新闻介绍,介绍3至5条本周IT界的重要新闻,启发学生的探讨和思索,如近期的云技术、可穿戴式计算、google无人驾驶汽车,北斗导航系统等。课堂的教学内容也相应的进行调整,避免大量对基础知识的讲解,以学生比较感兴趣的基于文字的简单RPG游戏作为贯穿Java主要知识内容的作业,分阶段扩展和实现游戏系统,鼓励学生尽可能多地考虑该游戏的功能,在答疑课中对有创新点的作业由学生进行演示,同时点评,激发学生进行自我提高取得更好成绩的意识。建议学生多进行相关知识的自学,尤其是要求阅读和参考开源代码,指导学生合理使用软件工具,利用SVN进行项目版本管理。鼓励学生在google code上公开项目,并将自己的作业和心得以CSDN技术博客的形式进行总结和展现。在作业点评后,允许学生再次提交一次更好的版本来弥补之前的不足。在课堂教学活动中,体现对不同学生的差异性要求,实现较大范围学生创新能力的提高。

1.2 实践环节中的创新能力培养

在实践教学环节,如上机实验中,加强实验考核力度,结合学生兴趣爱好及专业发展设计、修改和完善实验内容。每次布置上机任务时,分别提出基本要求,提高要求,按照完成情况不同给出不同的评分等级。在答疑课程中,按照ABCD(A代表,完成提高要求或有创新点;B代表良好,实现了基本要求或提高要求部分实现;C代表中,只完成基本要求;D代表抄袭或雷同)等级对上机作业进行逐一点评。在课程设计中,与软件工程课程设计联合,完成3周的综合训练。实行项目小组管理制,给出各阶段的考核指标,全程评测,组织答辩演示,综合阶段评测成绩与演示效果、报告成绩给出最终成绩。

1.3 课外环节中的创新能力培养

重视学科竞赛等课外环节中学生创新能力的培养。按照学生自身的特点,发现和培养有创新能力的学生,组织和培训不同类型的学生参加适合自身的各类专业学科竞赛。工信部组织的蓝桥杯大赛主要体现对学生个人算法设计能力的考核,中软杯侧重于组织团队学生解决企业生产中的实际问题,以及更体现科研能力的挑战杯竞赛。大学生创新创业实验则可为学生创业与创新活动提供不同级别的平台。

2 提高教师的自身创新能力和工程实践能力

“产学研”合作是西方高等教育改革和发展的重要趋势之一,因此在要将教师科研、生产与教学紧密结合。[3]根据教师的研究方向和特长完善类导师制,对导师提出明确的管理和考核目标,吸引学生进入导师科研项目组中,促进导师的科研进展,实现教研相长。同时,选派一些青年教师进入企业实习,了解项目开发的实际流程,提高工程实践能力。组织教师积极申报各类科研项目,并以科研团队完成相关任务。软件工程系与西安高新区某软件企业合作,初步构建了产学研基地,结合学校地矿特色,探索产学研实践。

3 构建较为完善的创新能力培养网络平台

围绕软件工程专业,在“学以致用,用以促学”理念指导下,基于学生能力水平、专业类别、兴趣爱好三个维度上对大学生创新能力培养网络平台建设工作进行整体规划和设计。并从三个层面上搭建网站,包括课堂创新教育,实践创新教育及课外创新教育。实现信息资源共享,师生交流互动,学科前沿探索,以便更好地培养具有创新能力的学生。促使教师在此平台上更多地交流课堂创新,学生更多学习实践创新,师生共享更丰富的课外竞赛信息,校企实习信息,学科及科研前沿成果。从根本解决以往创新培养的局部化,信息共享时延性的问题,在全院中推广创新培养,让所有的学生都能从此受益。

4 结语

创新人才培养是一个国家和民族教育的核心,创新能力的培养根本在教育创新,需要在已经建立的教学体系的基础上进行不断的探索与实践,寻找和发现有利于教育创新的新的方法、新的理论,积累经验,及时总结教学成果,并将这些用于培养学生的创新能力中。

软件工程专业能力培养研究:软件工程专业能力与课程体系研究

摘要:培养满足市场需要的软件工程专业应用型人才,需要厘清专业能力的构成、课程体系与专业能力培养之间的关系,不断进行教学改革,在人才培养方案中专业核心课程设置“双线分向”教学,高度重视实践教学在人才培养中的作用,专项实践课程贯穿整个教学过程。

关键词:软件工程;专业能力;课程体系;教学改革

一、引言

近年来,中国软件产业总体保持平稳较快发展,企业数量稳步增加,产业规模持续扩大,2012年中国软件产业共实现软件业务收入2.5万亿元,同比增长32.7%。“十二五”时期,我国软件业发展前景广阔。按照工信部的《软件和信息技术服务业“十二五”发展规划》,“十二五”期间,我国软件业将着重发展基础软件、工业软件及行业解决方案等八大重点领域,并实施包括龙头企业培育在内的十大重点工程。从2013到2015年,中国软件行业收入将年均增长25%以上。预计到2015年,我国软件业业务收入将达到4万亿元,占信息产业的比重将达到25%,软件出口额达到600亿美元。

随着东莞经济的高速发展和“双转型”的需要,对高素质应用型人才的需求变得尤为迫切。东莞市政府出台的《关于加快发展东莞市现代信息服务业的实施意见》支持发展信息服务业。东莞市现代信息服务业主要包括信息传输服务业、计算机服务业以及软件业三大类,将东莞打造为继深圳、广州后的又一个现代信息服务业基地。东莞的信息产业规划届时将以新显示、新能源、新一代宽带无线移动通信和软件产业“四新一软”发展战略为重点,力挺软件产业,同时大力开展人才培育工程,以产学研相结合的方式,支持各高校开展人才定制培训、综合培训、认证培训、专业课程培训等各项培训,大力培养适合企业发展需要的实用技术型和创新型人才。东莞市政府在《东莞市促进软件产业发展的若干规定》中明确指出:要大力培养符合软件产业要求和掌握规范性开发能力的大批软件技术开发人员。

二、软件工程专业发展概况

随着网络的普及和应用,信息技术不断深入社会生活的方方面面,软件的应用越来越广,软件产业不断扩大,社会需要大量的软件技术人才,系统、规范地培养软件工程人才已受到国内外高等学校、科研院所和企业界的普遍重视。由ACM和IEEE/CS联合工作组组织制定的软件工程知识体SWEBOK、计算教程软件工程卷CCSE2004于2004年5月正式。软件工程专业将根据广东和东莞人才市场需求,以软件领域人才需求调查结果为基本依据,以提高学生的综合职业能力为宗旨,培养具有从事应用软件系统分析、设计、开发、应用、管理与维护的能力,立足东莞、服务广东、面向全国的高素质应用型技术人才。

三、专业能力构成

1.软件工程专业能力。根据2006年教育部计算机课程教学指导委员会的《软件工程本科专业规范》能力结构要求,掌握软件工程的知识与技能,具备软件工程师从事工程实践所需的专业能力。主要分为:①获取知识能力:终身学习能力、信息获取能力、适应学科发展的能力等。②应用知识能力:需求分析和建模的能力、软件设计和实现的能力、软件评审与测试的能力、软件过程改进与项目管理的能力、设计人机交互界面的能力、使用软件开发工具的能力等。③创新能力:在基础研发、工程设计和实践等方面具有一定的创新意识和能力。

2.软件行业岗位能力。根据人才培养目标和用人单位对软件工程专业人才的能力需求以及软件开发生命周期各环节技术要求,我们将软件工程专业能力归纳为系统分析、软件设计、软件开发、数据库开发与管理、软件测试、软件技术支持与系统维护等六个方面。①系统分析与管理能力。精通计算机行业的前沿理论,精通代表主流开发思想的程序开发语言,精通建设信息系统所要求的各种具体技术,熟悉应用领域的业务,能分析用户的需求和约束条件,写出信息系统需求规格说明书,制定项目开发计划,协调信息系统开发与运行所涉及的各类人员,能指导制定企业的战略数据规划,组织开发信息系统,能评估和选用适宜的开发方法和工具,能按照标准规范写系统分析、设计文档,能对开发过程进行质量控制与进度控制,能具体指导项目开发。②软件设计能力。针对客户的需要和软件开发项目管理及软件工程的要求,根据设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档;具有理解需求分析与整体设计能力;模块级详细设计能力及数据库设计能力。③软件开发能力。根据软件产品的需求、理解和分析系统概要设计,进行模块级详细设计,按照规范编写代码,进行单元测试,修改缺陷,提交代码,编写整理技术文档。要求具有较强的逻辑思维能力,理解面向对象思想;掌握主流开发工具,精通一至两种程序语言,按照规范编写代码;具有数据库开发能力;掌握单元测试、集成测试的方法与技术;编写、整理技术文档的能力。④数据库开发与管理能力。根据需求进行数据库分析和设计,创建符合规范的数据库,满足系统运行的需要;完成数据库日常维护、备份及恢复,能对数据库性能进行优化。掌握数据库基本原理;熟练掌握一种以上大型数据库系统的应用;具有数据库设计与开发能力;具有数据库备份、恢复及日常维护的能力;具有对数据库性能优化的能力。⑤软件测试能力。根据需求分析和设计规范,对软件进行测试和检验,发现软件的错误或缺陷,对软件产品质量进行客观评价。掌握单元测试和集成测试、功能测试和性能测试的基本方法和步骤;熟悉软件开发过程,掌握软件测试流程和技术;具有编制测试大纲、计划、方案及设计测试用例的能力;熟悉使用常用测试工具;具有测试执行、缺陷跟踪的能力;具有测试管理能力;能够编写测试技术文档的能力。

四、课程体系设计

在课程体系设置时,围绕软件工程专业六种能力的培养,我们如图1所示的课程体系,该课程体系由基础必修课、专业必修课、专业组选课(分方向开设)、专业任选课和专项实践课所组成。为了适应社会需求,我们根据软件工程专业所需要的知识结构和能力结构,经过我们对多家企业的招聘信息、学生就业跟踪、以及与多家企业进行了实地接触和深入访谈,比较地掌握了企业用人需求,目前Java和.NET技术为主流技术市场,因此我们在软件工程专业设置了“.NET技术方向”和“JAVA技术方向”,采用“双线分向”教学改革,学生可根据自身能力和职业规划,自主选择其中一个方向作为主修方向,另一个方向以专业选修的方式拓展,学生所学技能更加适应市场的需求。

专业项实践课是为了使学生加深对所学原理的理解和掌握,培养学生综合运用所学知识解决实际问题的能力和创新能力。专项实践课是在每学期的期末进行整周(每周24课时)实训,用来完成1个或几个项目(任务)。主要包括C语言课程设计、数据结构课程设计、计算机网络实验、数据库课程设计微机原理及汇编语言实验、C#课程设计/JAVA课程设计、ORACLE课程设计、课程设计/JSP课程设计、UML统一建模课程设计、Linux综合实验、.NET综合开发/J2EE综合开发、软件开发综合应用。不断增加综合性、设计性实验的比例,提高学生的综合职业能力。另外积极鼓励学生参加各级各类的软件设计竞赛,拓展学生的视野,例如,全国软件设计大赛、大学生电子设计竞赛、软件杯作品大赛和科研项目等。

总之,我们根据学校的师资力量、实验条件和学生的具体情况,合理地设置专业方向是软件工程专业适应社会发展的一种体现。科学合理的课程体系是人才培养目标实现的重要保障,是培养学生软件工程专业能力的基础,将有利于学生未来的职业发展。

软件工程专业能力培养研究:软件工程专业教学过程中如何提高学生的编程能力

摘 要: 本文阐述了如何提高软件工程专业学生编程能力,即从培养学生学习编程的习惯、主动学习编程的态度、通过阅读代码找到程序的精髓、学生编写程序的思维和算法和通过实践应用锻炼编写程序的能力五个方面提高学生的编程能力。

关键词: 软件工程专业 编程能力 计算机运用能力

软件工程教育是一种能力教育,是一种以学生为导向的教育,除了注重学生综合能力的培养外,更注重学生专业能力和专业拓展能力的培养。学生的计算机运用能力和编程能力是软件工程专业教学质量的两个重要评判依据。我结合自己多年来的软件开发经验和软件工程专业的教学经历从日常、学习、读书、思考、课后练习和实践操作六个方面探讨如何提升软件工程专业学生的编程能力。

一、培养学生的学习编程的习惯

行为决定习惯,习惯决定性格,性格决定民运。要提升自己的编程能力,就必须养成良好的习惯,每天都要完成一定规模的编程任务,持之以恒。必须严格要求学生,每天给学生树立24小时的小目标并且一定完成它。比如说今天要求弄懂C语言的基本数据类型有哪一些。基本类型就可以到书籍教材上或者到网上学习C语言的基本数据类型有两种:一是整形类型,包括int ,short int,long int,long long int(C99),char,bool;二是浮点类型,包括float ,double,双精度浮点型(float_complex,double_complex,long long_comples)。然后再找题目巩固,做出一道题来就很会有成就感,久而久之学生对编程的兴趣就会越来越浓,从最简单的知识部分做起,循序渐进,逐步提升学生的编程能力。

所谓练就是练习,把所学的知识应用于实际,练习课本后的习题及书本上经典的例题、经典的算法、具有代表性的程序。在练习的过程中多思考多理解多提问。首先运行这段程序看看是什么效果,然后删除掉一些代码,再运行程序看看与不删除之前的效果有什么区别,从而知道删除的这些代码是实现什么功能的。然后再仔细体会这段代码,例如有很多循环例子,是否可以实现for循环和while循环相互转化,当通过自己的实际转换后才体会到原来每个循环有各自的特点。练习其实是一个循序渐进的过程,刚开始先做简单的练习,后面随着自己的能力不断提高再增加难度先练习语法规则和编程规则。

二、培养学生主动学习编程的态度

学,顾名思义是指学习,然而学习也是很有讲究的,学习包括提前预习、课后复习和课中认真学习。所以要提升学生的编程能力,就必须一步一个脚印地按着这三个步骤走:上课之前认真预习,把将要上课所要讲的知识,要求学生提前预习,做好充分的准备,这样能够保障在课堂听课感觉更得心应手。自学能力是以后工作生活中很重要的一种能力。课中认真听讲,要求学生紧跟着老师的思路,教师在讲台上演示时候要求学生跟着老师同步进行代码编程,不懂的难点知识点及时标记下来,课堂或课后进行辅导。课后要求学生进行温习,通过做练习把老师讲的知识理解。另外,还要不断地学习新的和先进的开发工具;只有理论基础扎实,编程才能游刃有余,才能写出高水平的代码,才能编写出高质量的程序,自然而然编程的能力机会得到增加。

三、培养学生通过阅读代码找到程序的精髓

除了课堂教学之外,学会阅读代码对软件工程专业的学生来说尤其重要。看经典的算法程序,然后总结起来,反复读,直到自己理解消化自己能够得心应手地运用,从而发展自己的编程思维。细细地品读别人写的代码,不能效仿别人的代码,要求学生读懂代码的思想和逻辑。读完后思考自己和编写这一段代码的人的差距。读懂代码的思想和精髓,没有思想这段代码只不过是一段杂乱的英文字母。再将别人的算法思想和自己的思想进行对比,反复琢磨,就会懂得很多有用的东西。此外,阅读完后应和老师多多交流,和同学沟通,树立“三人行必有我师焉”的思想。可能在不经意的交谈间产生灵感写出更好的代码,最终学习别人的精髓编程,以提升自己的编程能力。

四、培养学生编写程序的思维和算法

面对一个问题,思考这个问题的可行性,思考这个问题为什么值得思考,思考这个问题该怎么解决,包括编写这个程序所需要的知识,所以完成一个代码任务之前要再三思考。及时,思考这个问题的可行性,用课堂上学的知识能否解决这个问题,如果这个问题本身就是一个悖论,用编写一段代码实现它要求的功能,编写程序肯定陷入无限的死循环,这个问题终究还是无法解决。第二,思考解决这个问题有没有更好的解决办法。这样可以大大减少完成任务的时间开销。比如:编写一个程序要求要有主页,登入页面和注册页面,让学生使用以前编写的代码,然后通过修改达到老师的要求,这样既温故了所学知识,又应用了新的知识,还节约了编码的时间。

五、通过实践应用锻炼编写程序的能力

所谓实践就是做出实际的东西出来,“百说不如一练”,学得再好做不出实际的东西出来也是白学。在每个学期的课程设计或实训时期要求学生以企业实际的工程项目为案例进行开发设计,在实践中不断地锻炼自己的编程能力。以团队方式供完成。这样不仅可以培养学生实际能力,还可以养成团队合作的精神。在合作的过程中找出问题,然后解决问题,不断提高逻辑能力、思维能力和创新能力。

总之,要提升学生的编程能力,就要养成良好的习惯,培养编写程序的思维,不断地积累编程经验,阅读、借鉴,然后把所学的东西付诸实践,持之以恒。

软件工程专业能力培养研究:软件工程专业实践能力培养体系设计探讨

摘要:随着社会的快速发展,信息技术的快速发展,人们对于软件工程这一专业的要求也越来越高。软件工程作为一门高强度实践性的专业,其主要目的就是为社会培养出更多的高素质专业软件工程师。笔者结合自身的工作经验,就如何促进软件工程这一专业的实践能力提出相关的意见和建议。

关键词:软件工程;实践能力;培养体系

一、软件工程教学的现状

随着教育改革的不断深入,这些年来我国在软件工程的教学方面取得了一定的进步,学生们掌握了扎实的理论基础,但是其实践能力依旧不够强,以至于在毕业之后,不能够立马被企业所采用。

目前,软件工程教学所存在的主要问题有以下几点:

及时,局限于理论知识,缺乏有效的实践训练。现在很多高校在进行软件工程专业的课程设置时,只重视专业的理论知识,忽视了学生实践能力的培养,没有较强的针对性来应对产业在实际应用过程中所出现的各种问题;

第二,课程设置不合理。高校在对这一专业的课程进行设置时,往往只注重课程的学术性和系统性,忽略了各个产业对解决能力的需求;

第三,课程设置太过独立,不能进行有效的知识连接。学生在学习的时候,往往只局限于一门课程的学习,多门课程之间不能实现有限的沟通和联系,以至于当出现一些综合性的问题时,不能够进行有效的解决,在面对实际的工程类型的项目时,更不知道从何下手;

第四,教师队伍的质量不高。现在很多高校的教师自身都有着扎实的理论基础,但是缺乏足够的实践经验和能力,很多教师缺乏时代性,不能够紧跟时代的发展潮流,没有继续学习,导致出现了新的技术和新知识时,他们并没有去有效的掌握。教师的教学质量直接影响着学生的学习质量,教师的综合素质不高,导致学生的专业能力也提不上去。

就以上几点问题,我们可以看出,现在高校的教育方式存在着一定的问题,重视理论忽视实践,只在乎成绩不注重教学过程中等,这些问题使得学生的综合素质得不到提高,在毕业之后不能够被企业所采用。

二、软件工程专业实践能力培养体系设计探讨

如果想要成为一个合格的毕业生,满足软件工程相关企业对于人才的需求,那么高校学生必须具备高实践能力、扎实的理论基础、自主学习能力、组织能力、团结精神、沟通能力、的外语交流能力、合作精神等要素。

现在,我国很多高校都纷纷和企业合作,创设了校企合作的人才培养模式,其目的就是为了能够让他们更好的进行技术训练和实践,提高学生的专业能力和知识储备,为以后能够顺利进入企业工作打下坚实的基础。

在高校的及时学期到第五学期期间,学生主要是学习课本知识,打下牢固的理论基础。

到了第六个学期,学校要着重培养学生的学习技能,借助校企合作的教学模式,让学生进行科研项目的实践、软件的实训等内容的学习,培养高校学生的基本项目能力。

到了第七个学期和第八个学期的学习阶段,学校就要加强对学生工程和职业素养的培养。有效的开展实习计划,让学生到相关的企业进行训练和学习,并布置相应的毕业作品,让学生来完成。在这一阶段中,主要是锻炼学生的实践精神,让学生深入到企业日常中,了解企业的内涵和运作情况,从而锻炼自身的工程素质。

培养学生的创新能力,这一点十分重要。现在不论是各行各业,都需要创新型的人才,有创新精神,才能够为企业提供源源不断的新鲜活力,让企业永葆“青春”,促进企业市场竞争力的提高。学校要培养学生的创新精神,要从创设良好的学习环境入手,多开展软件工程方面的科技活动,在高校内建立以学生为主体的创新工作室,并建立相应的创新基金,对有创新精神,有创新能力的学生进行一定的鼓励和表彰,这种环境,能够有效的激发学生的竞争意识,加强学生的创新能力。

培养学生的职业素养。每一个行业都需要工作人员有职业素养,这是对其职业和社会的基本尊重。高校可以专门增加有效的职业素养的课程,让教师在课堂上对学生进行授课和指导,明白职业素养的真正目的和内涵。还可以通过校企合作的教学模式,让学生到企业的工作间里亲身体验,了解工作环境和流程,亲身体会工作的技能和内容,提高自身的职业素养。

三、科学的评价机制

笔者认为,对学生的考核评价和专业评估是最为重要的评价内容。教师在实际的授课过程中,要保障学生理论知识的学习,让学生拥有丰富的知识库存,在此基础上,还要加强学生的专业技能。在对学生进行考核时,不能够一味的只看学生的理论学习成绩,还要从学生的实践能力进行考核,培养发展的高素质人才,只有这样,才能够为企业为社会贡献出更多的工程师。

软件工程专业能力培养研究:软件工程专业本科生实践能力培养的研究

摘要:本文针对当前我国高等工科院校培养出的软件人才实践能力较差,与企业需求存在差距的现状,结合学校实际情况,从深化校企合作、优化实践教学体系、改革教学模式、改革考核方式等方面进行探讨,总结软件学院在发展建设中取得的经验及成果,阐述了面向产业培养学生实践能力的基本思路。

关键词:实践教学;校企合作;教学模式;人才培养

软件产业是国家战略性新兴产业,在我国国民经济中占据着重要地位。国务院曾分别于2000年、2010年颁布了《鼓励软件产业和集成电路产业发展的若干政策》以及《进一步鼓励软件产业和集成电路产业发展若干政策》的通知,通过政策引导、激励措施,大力发展软件产业。经过十几年的发展,高校向社会输送了大量的软件人才,很大程度上填补了软件人才的缺口,促进了我国软件产业的发展。但是近几年来,高校及软件产业又面临着一个困境:高校的软件人才供给逐年增加,应该能够满足软件企业的用人需求,但实际上,企业却苦于招不到满意的人才,软件人才的供给予需求处于错位状态。究其原因,主要是高校培养的人才模式较为单一,学生实践动手能力较差,不能满足企业的需要。如何培养一批实践创新能力强、适应经济社会发展需要的高质量软件工程人才,是高等院校亟待解决的问题。本文结合哈尔滨工程大学软件学院成立以来的办学经验及教学实践,以面向产业为视角,通过完善的实践教学体系,对如何提高软件工程专业学生工程实践能力做了研究,希望对培养符合软件产业需求的人才有借鉴意义。

一、深化校企合作

工程人才实践能力的培养是一个长期的、动态的过程。这个过程离不开高校、产业、社会等多个主体,每一主体都在工程人才实践能力形成的不同阶段发挥着重要作用。高校在人才培养方面的优势在于能够为学生提供一个比较完整的本专业的知识体系,在理论研究方面占有优势,但是实际项目经验方面在一定程度上落后于企业;而企业能够将实际的项目应用于教学,改变高校“高高在上”的教育模式,将人才培养落到实处。作为高校培养出的人才的接收者,企业也更加清楚自己需要的是哪方面的人才,或者说,更加清楚高校培养出的人才,在哪些方面有所欠缺,不能够满足自身的需求。为保障工程教育质量,促进我国工程教育的国际互认及工程师资格国际互认,我国自2006年开展高等工程教育专业认证试点,于2013年被正式接纳为《华盛顿协议》预备会员,迄今为止已开展将近十年的时间,对构建我国高等工程教育质量监控体系、推动高等工程教育改革、密切工程教育与工业界的联系、促进工程教育国际化、提高工程教育教学质量方面起到了重要作用。专业认证委员会规定,现场考查专家组应包括教育界学术专家和企业界工程技术专家,其中企业界工程技术专家至少有1人,由此可见,企业在人才培养过程中具有学校不可替代的作用,这一点已经被教育界认同,并将企业纳入到教学主体中去。因此,只有高校和企业有效的结合起来,打造一套理论与实践相结合的课程体系,才更有利于培养学生的工程实践能力,保障工程人才培养的质量。这就要求高校积极的与跨国公司、外资企业、服务外包企业开展多种形式的合作,并且在人才培养方案的制订、课程实施、实习实训、直至最终的毕业设计等环节,都要有企业的参与。

二、确定完善的实践教学体系

我校软件工程专业的人才培养目标是:培养德、智、体、美发展,掌握自然科学和人文社科基础知识、计算科学基础理论、软件工程专业的基础知识及应用知识,具有软件开发能力以及软件开发实践经验和项目组织的基本能力,具有创新、创业意识,具有竞争和团队精神,能从事软件工程技术研究、设计、开发、管理、服务等工作的高素质软件工程专门人才。课程设置是否科学合理,将直接影响到人才培养目标的达到,影响毕业生的工程实践能力。在实际教学中,存在着教学大纲彼此独立,担任不同课程的教师授课也彼此独立,造成知识点重复或遗漏的现象,甚至不同的课程对同一个知识点的标准不同的混乱现象,不利于学生对专业知识系统化的掌握。学生学完一门课程,只是为了应付考试,考完试就抛之脑后,几年下来,对软件工程这一学科没有一个整体的认识,不能系统的用所学的知识解决实际问题,专业实践能力更无从谈起。针对这个问题,我校软件工程专业引入课程群的概念,将软件工程专业课程分为专业基础类课程群,软件设计开发及应用类课程群、专业实践课程群以及选修课程群。将每个课程群当作一个大的课程,而每门具体的课程当作大课的一个部分,任课教师集中备课,资源共享,并将企业真实案例贯穿课程始终,这在一定程度上避免了知识点混乱的现象。同时重视实践学时与理论学时的合理配置,改变以往理论与实验脱节及不同步的问题,确定“实践―理论―实践”的教学形式,使得学生能够从实践中发现问题,带着问题学习基础理论,应用理论去分析问题、解决问题,加深对知识的理解。这对教师的专业素养及自身的工程实践能力都提出了更高的要求。教师不仅要熟练的掌握自己所教授科目的知识,还要对课程群内的其他课程内容熟知。针对这个问题,学院有计划的开展师资队伍建设。一方面,通过引培并举,不断优化师资队伍结构。加大人才引进力度,同时通过外语培训、技术培训、学位进修、参与企业项目、企业培训等方式,逐渐形成一支学历层次高、专业知识扎实、学历结构多元化、具有工程经历的师资队伍,有计划的派出教师出国或到企业参加培训,加强教师的学术水平以及实际项目经历。另一方面,聘请有实践、精管理、懂理论的企业专家来校讲座、授课或指导实验。这类专家能够将实际项目经验、企业文化及工业界近期消息传递给学生,能够拓宽学生视野,加深其对企业界的认识。学院现已建成外聘专家库,基本涵盖了软件工程领域的各个方向,共计30余人次。除与理论教学环节相对应的实践教学环节外,学院根据学生学习知识不同时期的不同特点安排了三次集中实训:专业认识实训、专业技能实训及综合项目实训。三个实训阶段循序渐进的培养学生的实践能力。及时阶段安排在专业基础课基本完成之后,组织学生到企业进行为期2周的认识实训,一方面,使学生更多地了解企业文化和经营管理模式;另一方面,开发一些小型程序,学生自主分析问题,建立模型,数据抽象,编程及运行,整个过程巩固了前期学习成果。第二阶段安排在专业核心课程基本完成之后,聘请企业专家来校,进行为期2周的“专业技能实训”,利用一个中型的实际项目将专业核心课程连接起来。第三阶段“综合项目实训”安排在所有课程结束、毕业设计之前,为期7周,在企业参与实际项目开发,使学生完成从学校人到职业人的转变。

三、改革教学模式

传统教学模式课堂的主要任务是“教”,教师在课堂上按照课程大纲滔滔不绝的讲授理论知识,学生或认真或不认真的坐在下边听讲。这种“满堂灌”、“填鸭式”的教学使得学生在课堂上十分被动,缺乏主动思考、独立思考的过程。而教师在课堂上也很少进行启发式教学,更多的是自问自答,“代替”学生进行思考。教师按照这样的思路设计出的教学环节,仅仅是将书本知识进行简单的归纳总结,在课堂上重新演绎了一遍,对于珍贵的课上时间来说,是一种浪费。学院充分利用专业优势,建设一批核心的、高水平的“慕课”示范课程,在日常教学过程中推行“翻转课堂”,改革“填鸭式”教育,进行探讨式启发式教育、团队学习模式、案例式以及情景教学,将因材施教落到实处,利用“互联网+”,解决当前学习内容繁重、培养质量不高与教学方式、理论学时减少的矛盾,培养学生自学能力、发现问题和解决问题的能力。

四、改革考核方式

传统的考核方式存在的弊端已经显而易见。多年来,我国高校的课程考核大都是“期末一张卷定成败”,学生平时不努力,考试期间临时抱佛脚,死记硬背教师重点强调的知识点,辛苦一两周最终也能够拿到高分。这显然不能考核出学生对知识的真实掌握程度,不利于学生综合素质的培养,而且这种重理论、轻实践,重记忆、轻应用的考核方式,也限制了学生实践能力的提高。高校也逐渐意识到这一点,逐步进行考核方式改革,尝试推行全过程的、的课程考核改革。即将平时成绩、各个时期的实践考核成绩及答辩成绩、最终大作业或者成果物等多个成绩综合起来进行考核,并引入软件能力认证(Certified Software Professional,CSP)、计算机软件水平考试、中国电子学会的嵌入式助理工程师认证、工信部嵌入式系统开发工程师认证等一系列专业、职业评价批准,结合各类部级、省级等科创竞赛,建立辅助的课程考核体系。

综上所述,通过与企业深度合作、建立完善的实践教学体系、改革教学模式、改革考核方式等一系列行之有效的措施,哈尔滨工程大学软件学院学生实践能力得到了切实的加强与提高。与其他工科类相似专业毕业生相比,近年来学生就业率在95%以上,企业对我校软件工程专业学生满意度较高。