软件企业对软件人才的要求包括现代软件工程环境下赖以生存和成长的终生学习能力、团队合作与沟通能力和工程实践能力.而传统的软件教育模式重理论轻实践、重技术轻工程,不利于学生工程实践能力和团队协作精神的培养.CDIO 作为当前国际高等工程教育的一种创新模式,在培养学生的创新能力、动手实践能力、团队协作能力等方面具有显著效果并在其他工程学科得到验证.借鉴CDIO 工程教育理念和标准,盐城师范学院对软件工程专业实践教学体系进行重新构建,创新和完善课程体系,革新传统的教学观念、教学思路和教学模式,对培养高水平应用型、工程型软件人才具有重要意义.
1 CDIO 工程教育模式概述.
CDIO 是近年来国际工程教育改革的最新成果.
CDIO 代表构思 ( Conceive) 、设计 ( Design) 、实现( Implement) 和运作( Operate) .它以工程项目从研发到运行的生命周期为载体,通过项目设计将整个课程体系系统、有机地结合起来,学生以主动的、实践的方式参与课程的各个教学环节,强调课程学习要与项目设计相联系,以培养学生的工程实践能力[1].
CDIO 培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标[2].CDIO 注重实践性教学和实际动手能力,主张课程实验教学应该从具体实际出发,然后上升至理论,最后再回到实际操作中来,以创作最终产品为教学目标[3].
2 专业培养目标定位.
软件工程是一门建立在计算机科学和工程学基础之上,同时涉及数学、管理学、经济学和系统工程等学科理论与方法的学科及专业.软件工程教育兼具科学教育属性与工程教育属性,前者培养的是软件工程基础研究人才,后者培养的是软件工程技术、应用、管理和服务人才.我校作为一所普通本科院校,结合区域经济发展实际,将软件工程专业的培养目标定位为培养应用型、工程型软件人才.
即能够综合应用计算机科学、数学及管理科学等学科知识,以工程化的原则与方法为指导,胜任现代软件工程环境下高质量软件的开发、测试和维护等工作的软件工程技术、应用、管理和服务人才.该培养目标可进一步解读为以下三点: 扎实的专业基础、良好的工程学意识、较强的动手实践能力.
3 CDIO 模式下实践教学体系的构建.
软件工程是一门实践性很强的专业,应用型、工程型软件人才的培养定位更加强调学生动手实践能力的培养和工程方法学的训练,因此,实践教学的体系建设和教学效果对学生的培养质量起着至关重要的作用.借鉴和吸收 CDIO 工程教育理念和标准,我们从教学内容和教学方法两方面对软件工程专业实践教学体系进行了重新构建和实践.课程实验、课程设计、综合实训、毕业设计四个层次循序渐进、由浅入深、环环相扣; 在教学方法的构建上,我们从工程教育的角度出发,形成了“案例牵引、项目驱动、团队合作、引导互动”的教学模式.
3. 1 教学内容的构建.
在教学内容的构建上,我们按照“以 CDIO 培养大纲为指南、以项目设计为导向、以工程能力培养为目标”的原则,将软件工程专业的实践教学体系分为以下四层次.
3. 1. 1 课程实验.
课程实验是单门专业课程教学中的实践环节,也是整个实践教学体系的基础,对学生基础专业技能的培养具有重要作用.为了加强实践教学,我们在绝大部分专业课和专业基础课中都设置了课程实验,根据教学目标的不同,课程实验设计为验证性、设计性和综合性等不同的层次.对于实践性很强的专业课程,如程序设计基础、面向对象程序设计等,采用完全实验教学的方式,通过一个完整的项目将课程知识结构串联起来,并通过“分而治之”的形式来学习各个知识点,将教师讲解与演示、学生实地操作有机融合起来,最后完成整个项目,以培养学生的动手实践能力和专业兴趣; 对于理论性较强的专业课程,如数据结构、操作系统等,采用理论讲解与上机实践并举的方式,加强学生对专业基础理论知识的理解与应用.
3. 1. 2 课程设计.
课程设计是实践教学体系的第二层次,是在课程实验的基础上,选择一些实践性强且具有代表性的课程作为单独课程开设综合性课程设计.例如,Java 程序设计课程设计、软件工程课程设计等.与课程实验相比,课程设计具有综合性和实用性的特点,学生在教师的指导下综合运用相关课程的知识和技术完成一个完整的设计或实现.通过课程设计的训练,培养学生运用专业知识分析问题和解决问题的能力,使学生的专业技能得到进一步的提升和拓展.
3. 1. 3 综合实训.
综合实训是以课程设计为基础,综合运用多门相关课程知识完成一个工程项目的实战训练.综合实训以项目为载体构建知识结构,将学科知识、专业技能与工程实践有效结合,体现软件工程领域中的工程学和方法学的实施,实施技术与管理能力训练和职业综合素质综合的培养[4].
根据方向不同,我们在软件工程专业开设了两门综合实训课程: ( 1) 软件开发综合实训.以软件生命周期为主线,综合运用程序设计、数据库应用、软件工程、软件项目管理等学科知识,严格按照软件开发的流程与规范,完成一个软件项目的开发,最后提交软件产品和相关技术文档.( 2) 软件测试综合实训.要求学生以软件开发综合实训所完成的软件产品为被测对象,综合运行软件测试与质量保证、软件测试流程与方法、测试框架与自动化测试等学科知识,使用软件测试的方法与技术,设计测试用例和测试脚本,完成被测软件的功能测试与性能测试,生成测试报告,并对测试结果进行分析.
3. 1. 4 毕业设计毕业设计是实现人才培养目标的重要手段,是实践教学体系中最后一个综合性、创造性的实践环节; 是对学生基础理论、专业知识与实践成果的全面总结,是学生综合素质与工程实践能力的全面检验[5].为了提高毕业设计的质量,我们从以下三方面层层把关.( 1) 在课题选题上,强调选题的可行性和实用性,忌空忌大,选题最好能与指导教师的科研方向或学生的实习工作相关联; ( 2) 在过程控制上,实行师生定期交流与汇报制度,确保毕业设计按计划保质保量完成; ( 3) 在毕业设计报告及相关材料的撰写上,从规范性和科学性两方面严格要求,确保质量.
3. 2 教学方法的构建.
3. 2. 1 案例牵引.
案例教学是实践教学中的常用手段,具有直观性高、互动性强的特点.按照 CDIO 大纲能力培养的层次要求,结合各实践课程的教学目标,我们在实践教学中精心规划和设置了不同层次、不同复杂度的教学案例,以案例实现过程为驱动来安排教学内容和方法.在教学过程中,以一个具体的案例为线索,把教学内容巧妙地融合在案例之中,学生以完成案例任务为目标,在老师的指引下对目标问题进行分析与分解,并通过动手实践解决问题,真正做到“做中学”和“学中做”.在完成任务的过程中,不仅使学生的动手实践能力得以提高,也培养了学生的创新意识、创新能力以及分析问题、解决问题的能力.
3. 2. 2 项目驱动.
工程实践能力是专业技能的进一步升华和提高,是从整体上对工程项目的一种实做能力,是工程类毕业生必备的核心素质.根据 CDIO“做中学”
和“基于项目的教育和学习”的思想,我们在实践教学中广泛采用项目驱动的教学模式.强调以一个产品或系统从构思、设计、实现到运作的完整的构建过程来培养学生的工程实践能力.以软件开发综合实训课程为例,在课程中引入“项目驱动”的教学理念,以软件生命周期为主线,以项目为载体、任务为驱动开展实践教学.通过一个软件产品从项目启动到需求分析、设计、实现、测试、运行维护的整个生产过程的实战,培养学生的工程能力和综合素质.
3. 2. 3 分组教学.
团队能力是 CDIO 大纲要求工程毕业生必备的一种能力.在实际教学过程中,我们模拟企业的真实环境,将所有学生分为若干项目小组,每组由一名组长和若干名组员构成.根据任务分工不同,每名学生都被赋予一定的角色,组员在组长的指挥协调下通力合作,共同完成实验项目.实践表明,分组教学模式能较好地激发学生的学习热情,组员之间分工协作、互学互助,学生的沟通能力、协作精神和团队意识大为提升.
3. 2. 4 革新考核方式.
考核是对学生学习成果的认定和评价,良好的考核机制能对学生的学习过程和学习动机产生正确的指引作用,促进教学质量的提高.在实践课程的考核上,以能力培养为导向,采取多元的考核方式.引导学生在平时项目实训过程中加强专业技能的训练、工程能力的培养以及综合素质的提高.
( 1) 对基础性的课程实验,重点考核学生专业知识与技能的掌握情况,采取平时实验成绩与期末上机考试成绩相结合的方式.( 2) 对课程设计和综合实训类课程,重点考核学生的工程实践能力和团队协作能力.采取以作品演示、项目答辩为主的考核方式,同时规范化的文档资料也是重要的考评指标.
( 3) 对于毕业设计,重点考核学生的创新能力.科研能力以及分析解决问题的能力,考核方式同综合实训.总之,以能力培养为导向,注重能力考评.
3. 2. 5 校企合作.
校企合作是培养学生的综合素质和实践能力的重要途径.为了增强人才培养的针对性和毕业生与工作岗位的无缝对接,我们同中创、中远等知名软件公司开展校企合作联合办学.充分利用学校和社会两种教育环境和教育资源,联合构建工程型实践教学队伍与教学平台.一方面,学校聘请企业一线的工程师作为兼职教师来校授课,不仅充实了实践教学队伍,更带来了企业的最新技术和行业资讯;另一方面,选派优秀教师到企业学习锻炼,参与企业项目,提升师资队伍的水平.此外,通过在企业建立校外实训、实习基地,使学生尽早感受企业文化和接触到真实的企业项目,也为学生就业积累了丰富的工程实践经验.
4 结束语.
为了满足社会和市场对软件工程人才的需求,借鉴和吸收国际先进的 CDIO 工程教育理念和标准,结合我校软件工程专业建设实际和人才培养定位,构建了“以 CDIO 培养大纲为指南、以项目设计为导向、以工程能力培养为目标”的实践教学体系,并在教学过程中尝试“案例牵引、项目驱动、团队合作、引导互动”的教学模式.实践表明,新的教学体系和教学模式能较好地激发学生学习热情和学习兴趣,显著提高学生的的工程实践能力和团队协作能力,有利于培养具有市场竞争力的工程型、应用型高层次软件人才.
参 考 文 献:
[1] 郭威 . CDIO 模式在“软件体系结构”课程中的探究与实践[J]. 中国电力教育,2010( 24) : 121 -122.
[2] 王硕旺,洪成文 . CDIO: 美国麻省理工学院工程教育的经典模式---基于对 CDIO 课程大纲的解读[J]. 理工高教研究,2009,28( 4) : 116 -119.
[3] 王志强,蔡平,杜文峰 . 基于 CDIO 理念的多媒体应用基础课程实践教学改革[J]. 计算机教育,2009( 12) : 137 -138,143.
[4] 贺平 . 软件类专业的工程教育研究与实践---以软件测试专业为例[J]. 计算机教育,2010( 11) : 82 -89.
[5] 蔡长安. 师范院校本科计算机专业实践教学体系的构建[J]. 实验室研究与探索,2009,28( 8) : 12 -15,47.