周晶平,覃俊,曾广平
(中南民族大学计算机学院,武汉430074)
2017年2月18日,教育部在复旦大学召开综合性高校会议,达成“复旦共识”[1],教育部高教司发布《关于开展新工科研究与实践的通知》[2],4月8日教育部在天津大学召开工科优势高校会议,发布了“新工科”建设行动计划(天大行动[3]),为新工科建设指明了方向。相对于传统工科教育,新工科对学生的实践能力的培养提出了更高的要求,更加强调学生工程实践能力和创新能力的培养。课程设计是软件工程专业实践能力培养体系的一个重要组成部分,但是在课程设计教学中还存在一些不足,如教学方法落后、课程建设孤立、课程群意识薄弱,不能形成以工程能力为主线的训练体系。在新工科背景下,提出将软件工程专业实践教学环节中的课程设计类课程组成课程群,开展以工程技术为主线、以提高学生工程实践能力和创新能力为目标的课程群建设,构建一个“个体编程能力+团队编程能力+项目开发能力”的课程设计实践教学体系。并以中南民族大学软件工程专业为例,构建了课程群建设方案,为新工科背景下的实践教学改革提供一种思路和方法。
课程群建设是高校改革的重要举措之一,它倡导课程整体优化和交叉整合,根据统筹安排、突出重点的课程建设理念,对高校课程教学改革,教学资源优化配置、师资队伍建设都具有一定的指导作用[4]。课程群的组成一般具有以下几个特点:①课程群是由三门以上单门课程组成的有机系统;②课程同属于某一学科,课程的内容密切相关,具有互补性;③课程群建设是为了使各门课程相互配合、协调发展,完成共同的教学目标。
课程设计是软件工程专业实践能力培养体系的一个重要组成部分,课程设计作为一门独立的课程,一般安排在实践教学周,时间为两个星期,以个人独立完成或团队分工合作等方式完成课程设计。课程设计不仅强调培养学生具有综合运用所学的多门课程知识解决实际问题的能力,也注重系统分析、设计和集成能力的培养[5]。课程设计对提高学生的工程实践能力和创新能力具有重要作用,为此,将软件工程专业课程设计类课程组成课程群,引入CDIO工程教育理念作为课程设计教学的理论指导,从知识体系设计入手,一体化设计教学方案,分阶段实施,构建一个“个人编程能力+团队编程能力+项目开发能力”的课程设计实践教学体系,以提高课程设计的教学质量。
中南民族大学计算机学院软件工程专业根据相应的理论课程开设了《程序设计语言课程设计》、《面向对象程序设计语言课程设计》、《数据结构课程设计》、《数据库课程设计》、《软件工程导论课程设计》等5门课程设计课程。课程群建设从整体出发,按照培养个体编程能力、团队编程能力、工程实践能力的思路及相应理论课程的教学时间,课程设计的安排如表1所示。
表1 课程群课程规划表
为了发挥课程设计课程群的整体效益,提高教学质量,课程群中各课程需要相互协调、协同作用。因此,课程群中课程设计除完成本课程的教学任务外,还需要根据课程群的建设目标,课程在课程群中所承担的任务对教学内容进行调整。《程序设计语言课程设计》和《面向对象程序设计语言课程设计》教学内容安排应侧重个体编程能力的培养,《数据结构课程设计》和《数据库课程设计》教学内容应侧重团队编程能力的培养,《软件工程导论课程设计》教学内容则侧重项目开发能力的培养,在教学项目的选择上,教师提出的项目应该是企业的实际项目或来源于工程实践。
CDIO工程教育模式是近年来国际工程教育改革的最新成果,是教育部大力倡导的先进工程教育模式,CDIO 代表构思(Conceive)、设计(Design)、实施(Imple⁃ment)和运作(Operate),CDIO强调以产品从研发到运行的完整生命周期为载体,让学生在其中以主动的、实践的课程之间有机联系的方式学习工程理论知识,积累工程实践经验和提升各种工程能力[6],根据新工科建设要体现工程教育新理念的要求,软件工程专业课程设计课程群中的所有课程均采用CDIO工程教育模式。
课程设计课程群中的所有课程设计课程均采用CDIO工程教育模式,为方便教学管理和教师指导,将课程设计的教学过程均划分为立项、设计、实施和运作四个管理环节,分别对应构思、设计、实现、运作四个阶段,如图1所示。
图1 课程设计的过程
(1)立项:立项阶段的主要任务是组织团队(团队项目),确定任务(选题)和制定项目计划,要求学生对选题进行充分的调研与分析,形成自己的构思方案。
(2)设计:设计阶段要求学生根据项目计划,收集资料、分析资料,完成软件系统的需求分析和设计,使学生掌握相关课程的基本原理、方法、工具,并能够实际应用。
(3)实现:实现阶段要求学生根据设计结果完成编码、测试及相关的文档,注重培养学生的动手能力、务实精神和团队协作能力。
(4)运作:该阶段包括两部分,项目评价与成果交流,主要考察项目完成情况及成绩评定。项目评价分为三个子阶段,系统演示、系统交付演讲和项目评分。
根据课程群建设的要求,《程序设计语言课程设计》和《面向对象程序设计语言课程设计》,由个人独立完成;《数据结构课程设计》和《数据库课程设计》由团队合作完成;《软件工程导论课程设计》由项目小组合作完成。由于高校教育的特点,课程设计指导教师可能并不了解学生的实践能力,对于需要分组的课程设计,最好与班级管理人员配合对全班学生进行分组,保证每个小组成员结构合理,课程设计能够顺利进行,使所有学生都能得到良好锻炼。整个课程设计期间,指导教师应全程跟踪指导,采用定期检查任务进度、召开团队会议、讨论问题等形式关注并检查学生的学习情况,督促项目按计划进行。
科学合理的实验课程考核方法可以激发教师、学生的教学热情,引导学生改变学习方式,积极、自主地学习。因此,要改变课程设计根据实验报告定成绩的方法,根据整个项目过程进行评分。评分标准如下:
(1)构思,占 20%
(2)设计,占 20%
(3)实现,占 20%
(4)运作,占 10%
(5)文档,占 20%
(6)答辩与交流,占10%
课程群教学平台是完成教学过程、提升教学效果的一个重要手段。教学平台分为两部分,一是教学平台,以课程为中心集成网络教学的环境。教师可以管理教学,可以将教学计划、教案、多媒体课件、学习资料等资源放在网上,可以在平台上备课、答疑、批改作业和组织在线考试等。学生可以在平台上选课、学习、提交作业、讨论交流等,网络教学平台将成为师生教与学的桥梁。二是管理平台,对教师、学生课程进行管理。教师可以在平台上交流讨论,可以查看学生各门课程的成绩、开发的软件、文档等,有针对性地教学指导。学生也可以查看自己所开发的系统、文档等。平台将按课程群建设的目标对课程群的教学构成一个比较完整的网上教学支撑环境。
课程设计课程群包含的课程多,时间跨度长,建设一个结构合理、人员稳定、教学水平高、教学效果好的教学团队是保证课程群得以实施、取得良好教学效果的关键。在教学团队建设中需要解决好2个问题:一是课程内容的衔接,课程群中的5门课程既有各自的特色与任务,课程之间也有相互的联系,必须从课程群建设的目标出发解决好课程之间的衔接关系,才能将这些课程的教师凝成一个有效的团队。二是教学方式的创新,教学团队要根据实践教学的特点创新教学方式,引入先进的CDIO工程教育模式,并不断改进教学内容、考核方法,在教学实践中,形成一支稳定的、具有较高水平的教学团队。
在新工科背景下,针对软件工程专业实践教学存在的不足,提出将软件工程专业实践教学环节中的课程设计类课程组成课程群,开展以工程技术为主线、以提高学生工程实践能力和创新能力为目标的课程群建设,构建一个“个体编程能力+团队编程能力+项目开发能力”的课程设计实践教学体系。为了达到课程群建设的目标,在课程群建设实施过程中要注意以下几点:
第一,要注意教学团队的建设,课程群包含的课程多,时间跨度长,建设一个结构合理、人员稳定、教学水平高、教学效果好的教学团队是保证课程群得以实施、取得良好教育效果的关键。第二,要注意教学平台的建设,课程群教学平台是教师与教师、教师与学生、学生与学生的沟通平台,是完成教学过程、提升教学效果的重要保证。第三,要创新教学方式,采用CDIO工程教育模式,并改进教学内容和教学方法。