基于CDIO模式C#面向对象程序设计课程改革探索与实践

2015-05-30 19:04王春蕾苏保照
软件工程 2015年7期

王春蕾 苏保照

摘 要:分析C#面向对象程序设计课程教学的现状,基于CDIO教育模式,提出整合UML建模技术,以及构建三级项目体系教学方案,进行了CDIO教育模式进课程,进课堂的探索和实践,解决了项目教学中忽视学生设计思想培养,以及项目实施效果不明显的问题。

关键词:CDIO;C#;UML;三级项目

中图分类号:G642 文献标识码:A

1 引言(Introduction)

职业教育的任务是以职业为导向的应用型人才培养。CDIO工程教育模式按照产品生命周期构思(Conceive)、设计(Design)、实施(Implement)和运行(Operate)四个环节,以工程实践为载体,以行业需求为导向,以学生为中心,体现了职业教育的岗位本位,能力本位。近年来,基于CDIO模式的工程教育理念已被业界认可。

2 C#面向对象程序设计课程教学中存在的现实问

题(C # object oriented programming realistic

problems existing in the course teaching)

2.1 注重功能的实现,忽视设计思想的培养

该课程采用传统的项目教学法已经实施多年,但是在项目教学实施过程中仍然存在一些问题,教师关注较多的是学生的实施、运行能力,学生缺乏应用系统开发的分析、设计能力。学生在遇到具体问题时,受到面向过程程序设计思想的影响,首先进行算法的设计,然后把所有的方法放入一个类中,忽视类的设计,不熟悉面向对象的设计模式,不能够使用面向对象的思想分析和设计程序。与软件技术专业人才培养中学生分析、设计能力的培养目标不相符。

2.2 注重课程单元项目设计,忽视课程项目体系的设计

在项目教学实施过程中,教师重视单元项目的设计,能够针对一个课程单元的多个知识点设计项目。在实际教学中,该课程结束后还会安排20课时的实训课程,实训课程是一个综合性的C#窗体应用项目。由于两个课程之间是分离的,课程单元项目与实训项目之间没有关联,学生很难在20课时内完成一个完整的项目,项目教学实施效果不理想。

3 CDIO模式下的课程教学改革(CDIO mode of

teaching reform)

CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标[1]。

该课程的人才培养目标是基于.NET技术的软件工程师,课程改革首先要对该岗位所需能力和岗位开发产品(即软件项目)开发的过程进行基于CDIO的剖析,在此基础上,重新整合课程教学内容,构建三级项目体系。

3.1 课程整合UML建模技术,体现构思、设计

该课程的教学目标定位在培养学生的面向对象程序设计能力,不局限于一门编程语言的语法或API,写出地道的面向对象程序。由此,课程的教学内容需要引入UML和软件设计模式,并且贯穿于授课过程的始终,以辅助学生分析、设计程序,保证CDIO教学理念落地,让CDIO教学模式真正进入课堂。

统一建模语言UML是使用面向对象思想对软件系统进行可视化建模的一种语言,适用于软件开发周期的各个阶段[1]。在面向对象设计教学中,引入UML类图、UML顺序图、uml建模工具知识,可以直观地描述类之间的协作关系,锻炼学生用符号进行表达的抽象思维。

软件设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性[2]。设计模式总共有23种,不需要全部引入课堂学习,而是选择恰当的设计模式在教学过程中适时引入。在教学实践中有两种方式,一是发现.NET类库中的类所蕴含的设计模式思想;而是使用对比教学方法,启发学生思考引入设计模式后程序的优势和最终运行结果的差别。

3.2 构建三级项目体系

依据大连东软信息学院提出的TOPCARES-CDIO[3]能力指标体系,设置了该课程的三级项目体系,最终将全部教学内容贯穿起来,涵盖所有的知识点,真正实现一体化的培养方案,具体如图1所示。经过课堂实践,取得了较好的教学效果。

图1 课程三级项目结构图

Fig.1 Three-lever project structure

课程三级项目是课程设计项目,该项目贯穿课程所有单元和知识点,旨在培养学生综合运用专业知识设计软件系统的能力。该项目在课程的综合实训阶段完成,按照软件开发的工作流程,本课程选取的是学生成绩管理系统项目。

课程四级项目是单元组项目,该项目综合两个以上课程单元的知识点,在课程多个单元完成后的总结阶段进行,旨在提高学生运用所学知识解决实际问题的能力。本项目可以是课程三级项目的分解项目,也可以是设计的新项目。

课程五级项目是单元项目,该项目综合一个课程单元的知识点,在课程授课中进行,旨在提高学生对核心知识点的掌握能力。本项目可以是课程四级项目的分解项目,也可以是设计的新项目。

4 教学实施与评价考核(Teaching and evaluating)

教学过程中采用项目式教学方法,以培养学生八个方面的TOPCARES-CDIO能力指标为目标,分别是:软件开发知识,分析问题能力,概念化和抽象化能力,查询资料能力,实验性探索能力,行业应用技术,软件实施过程。课程每个单元以一个具体项目为导引,根据CDIO构思、设计、实施、运行的教学理念,从项目构思、项目分析、项目实施、知识点详解、项目完善五个部分展开,符合软件开发的实际工作过程。让学生明白是为了完成任务而需要掌握相关知识点,而不是为学习知识点而学习。

在教学过程的各个环节,从学生的出勤、日常表现、作业、测试、项目完成情况及完成质量、TOPCARES-CDIO三级能力目标的实现情况,对学生进行全方位的考核。

课程考核依据TOPCARES-CDIO三级能力指标点,考核过程贯穿于课堂实施的全过程,包括出勤、课堂表现、作业、项目完成情况及完成质量和期末考试,考核评价主体包括学生自评,组内同学互评,教师评价。

5 结论(Conclusion)

C#面向对象程序设计课程的教学现状在于传统的项目教学法不能完成软件专业人才培养中学生分析、设计能力目标。课程改革基于CDIO模式,整合课程教学内容,引入UML建模技术,构建三级项目体系,在教学实施过程中以项目为导向,引导学生在“做中学,学中做”,建立与CDIO模式相适应的评价考核方式,教学效果明显提高。

参考文献(References)

[1] 杨瑞龙.引入软件设计模式的面向对象程序设计教学方法[J]. 计算机教育,2012(10):97-99.

[2] 王翔.设计模式:基于C#的工程化实现及扩展[M].北京:电 子工业出版社,2009:5-8.

[3] 温涛.探索构建一体化TOPCARES-CDIO人才培养模式[J]. 中国高等教育,2011(7):41-43.

作者简介:

王春蕾(1982-),女,硕士,助教.研究领域:计算机软件与 理论.

苏保照(1980-),男,硕士,讲师.研究领域:机械.