学习工程,CDIO标准体系的教育目标与软件工程专业人才培养目标是一致的。哈尔滨理工大学软件学院在构建课程体系时,以CDIO高等工程教育理念为指导,以培养应用型软件工程人才为目标,突出体现复合型、多层次和国际化特点,遵循先进性、科学性、系统性和灵活性的原则,强化基础、注重实践,着重培养学生解决工程问题的综合能力。以软件产业或行业的实际需求为导向,从技术知识、个人、团队交流和系统制造4个层面,建立并优化课程体系,具体方法是:①面向软件产业对人才知识、能力和素质的要求,确定能力培养目标,定义能力等级,使工程能力的培养遵循一个有序的能力增长过程。②以能力等级为线索,形成层次化、系列化、模块化的课程体系和“两段式”工程实践教学体系。③课程体系包含相互支持的课程,通过课程之间的有机结合,实现工程实践能力、创新能力、团队协作精神的培养。④课程体系实现专业规范与软件产业或行业需求的高度统一。以软件工程专业规范为基础,合理选择知识点和知识单元,以覆盖软件工程核心知识体系,强调软件工程的根本性和永久性原则保持稳定,以适应学科的发展;结合软件产业或行业的领域需求,设置若干个有应用背景的专业方向,以适应企业需求。⑤“两段式”工程实践教学体系,内容与要求突出循序渐进、渐次推进。在校内实验教学基地,培养学生的基础工程能力;在校外工程实践基地,培养学生综合运用专业知识解决工程问题的能力和工业化素质。
3、构建基于CDIO的软件工程专业课程体系
3.1 定义能力培养目标
软件工程专业的学生主要学习软件工程的基本原理和基本技能,先进的软件开发方法和工具,全面掌握软件系统知识和必要的硬件系统知识。毕业生应获得以下几方面的知识与能力:①知识结构要求:掌握自然科学、人文社会科学、工程学、专业技术基础及专业知识,掌握软件产业经营管理的基本知识,了解产业和市场发展规律,了解社会科学、计算机法律法规。②能力结构要求:具备软件工程师从事工程实践所需的工程实践能力、科技创新能力等专业能力,具有终身学习获取知识、适应学科发展的能力。③素质结构要求:热爱祖国,拥护中国共产党的领导;具有责任心和社会责任感;具有法律意识;注重职业道德修养;具有诚信意识和团队协作精神;具有创新精神和创业意识;具备良好的工程素养;具有严谨的科学态度;具有较好的身体素质和心理素质。
因此,定义能力培养目标,如表l所示。
3.2 理论课程体系设计
本着体现CDIO工程教育理念的原则,将能力划分为基本个人能力、人际能力、过程与系统的构建能力等3方面,设计了9个课程系列,每种能力对应的课程系列为:基本个人能力含数学,计算机基础理论,软件工程理论等3个系列,人际能力含人文素质,外语等2个系列,过程与系统的构建能力含软件开发工具,软件工程技术,软件工程管理,软件开发应用等4个系列。
(1)人文素质系列开设思想道德与法律,军事理论,马克思主义理论,中国近代史纲要,毛、中、特概论,企业管理基础等课程,通过人文素质系列课程培养学生的思想道德素质、文化素质和身心素质,使学生热爱祖国,拥护中国共产党的领导,树立科学的世界观、人生观和价值观,具有责任心和社会责任感,具有法律意识,自觉遵纪守法,热爱软件工程专业,注重职业道德修养,并具有诚信意识和团队精神,具有较好的身体素质和身心素质。
(2)在外语系列中开设两门课程,通过加强外语知识的学习,以及阅读、写作和听说强化,增强学生运用外语进行沟通的能力和文档的阅读与写作能力。提高国际竞争能力。
(3)数学系列开设高等数学、线性代数、概率论与数理统计、离散数学等课程,使学生掌握扎实的数理知识,具有科学的思维方法、一定的建模能力,以及应用数学方法研究、处理事物现象的意识。
(4)软件开发工具,软件工程技术,软件工程管理等3个系列覆盖了软件工程知识体系SEEK的十大领域知识,突出专业知识的集成性,能够满足专业知识、专业能力和素质的培养要求,使学生掌握软件需求、软件建模与分析、软件设计与构造、人机交互、软件测试、软件过程、软件进化、软件质量和项目管理等专业知识,具有软件分析、设计、构造和实施能力和良好的工程素养。在计算机基础理论系列开设模拟电子技术、数字电路及逻辑、片上计算机系统、数据结构与算法、操作系统、编译原理、计算机网络等课程;软件工程理论系列开设软件工程过程、系统分析与设计、软件体系结构等课程;软件开发工具系列开设结构化程序设计语言、面向对象程序设计语言等课程;软件工程技术系列开设数据库、统一建模语言等课程;软件工程管理系列开设软件项目管理、质量保证与测试技术等课程。
(5)为满足学生的能力、个性、兴趣和爱好的多样化需求,使学生在某一专业方向上具备从事工程实践的能力,结合主流软件技术和应用领域,在软件开发应用课程系列中设置软件开发J2EE技术方向、软件开发.NET技术方向、嵌入式方向、物联网方向、移动计算方向和金融保险方向等多个专业方向,每个专业方向形成一个课程模块。每个课程模块均设置了必修课和选修课。软件开发J2EE技术方向的必修课包括JSP程序设计,ERP原理及设计,轻量级J2EE框架spring,基于MVC的Web开发,软件开发.NET技术方向的必修课包括C#.NET程序设计,ERP原理及设计,ASP.NET程序设计,NET客户端框架结构,嵌入式方向的必修课包括嵌入式微处理器结构及应用,嵌入式操作系统,数字系统设计,嵌入式软件开发技术及应用,物联网方向的必修课包括单片机与嵌入式系统,中间件技术原理及应用,通信与传感器,射频识别技术,移动计算方向的必修课包括移动通信与无线网络,移动云计算导论,移动云计算的移动增值服务概论,Andriod平台移动云计算开发,金融保险方向的必修课包括金融学,保险精算,JAVA高级编程,保险理论与实务。
3.3 实践教学体系设计
软件工程人才的工程实践能力是至关重要的,CDIO强调学生的工程能力不是单纯的理论知识或直观的技能,而是二者的综合经验。因此工程实践能力的培养不能只靠理论课程实现,而是更加强调“案例牵引、项目驱动、团队合作”的模式,强化实践教学,学院积极与国内著名的IT企业建立了长期合作关系,建立了校内实践教学基地和校外工程实践基地,形成了特色鲜明的“两段式”工程实践教学体系,循序渐进地培养工程实践能力、创新能力、团队协作精神,积累项目经验。“两段式”工程实践教学体系以“流水线”方式渐次推进,内容与要求渐次深入、提高,其结构如图1所示。
(1)校内实践教学基地:通过课程实验——课程设计——学年综合设计三位一体的校内实践教学系统,培养学生的基础工程实践能力。
课程实验:完善课程实验的教学规范与技能要求,保证单元实验之间的连贯性和对知识的综合运用,增强学生对实验的设计、分析和总结能力。
课程设计:使课程设计内容具有真实项目成分,涵盖课程核心知识点的综合运用,提高学生工程设计与实践能力。
学年综合设计:根据每学年所学课程,设计横跨多门课程的综合设计性实践活动,以实际项目为依托,要充分贯彻软件工程的思想,提高学生的分析设计能力,工程实施能力、团队协作能力。
(2)校外工程实践基地:通过生产实习和毕业设计等多环节的校外工程实践体系,培养学生综合运用专业知识分析和解决实际工程项目问题的能力,以及工业化素质。
生产实习:以真实项目内容和环境为背景,并根据软件企业所需要的开发工具不同、软件架构不同、操作系统不同、应用领域不同和就业岗位不同,使用项目案例进行项目实训,有效地解决学生的工程经验、实用技能和职业素质问题。
毕业设计:学生在软件企业进行毕业设计,参与实际项目的研发工作,提高学生的实践能力,团队协作能力和工业化素质,使毕业生了解企业文化,满足企业对人才能力和素质的要求。
4、结语
基于CDIO的软件工程专业课程体系具有以下特色:
(1)课程体系的构建以软件产业或行业需求为导向,以培养应用型软件工程人才为目标,以培养实践能力和创新能力为主线,将实践作为整个课程体系的核心,将理论和技术作为实践的背景,突出强调基础知识在专业课程中不断地反复应用和加强,强调在实践中构建自己的经验体系。
(2)层次化、模块化、系列化的课程体系突出了课程之间的关联性,一方面通过课程之间知识性的联系,实现了知识集成,保持了知识的系统性、完整性与连贯性,另一方面避免了不必要的内容重复。
(3)“两段式”工程实践教学体系,规范地将学生的学校教育与工作实践结合在一起,在人才培养的全过程中,通过循序渐进的能力提升过程,全面不间断地培养学生的工程实践能力、创新能力和工业化素质。