公务员期刊网 论文中心 正文

理工科C程序设计的CDIO教育模式

理工科C程序设计的CDIO教育模式

[摘要]“C程序设计”是培养理工科学生计算机应用能力的重要基础课程。通过分析该课程结合CDIO工程教育理念,从教学大纲、教学计划、教学模式和考核机制等方面进行改革的现状,提出CDIO教育模式能有效提高应用型本科院校理工科学生培养效果。

[关键词]CDIO;C程序设计;教学改革

随着“互联网+”概念的提出,计算机科学与其他学科之间的融合日益加深,高校理工科(非计算机专业)的学生必须要掌握计算机学科的基础专业知识。“C程序设计”以语言为载体,使学生了解程序和指令的关系,认识程序设计语言的功能,掌握程序设计语言数据表达和流程控制的方法,是培养理工科学生计算机应用能力的重要入门课程。通过学习“C程序设计”课程,学生能理解计算机的思维,掌握编程思想,具备基本的程序设计能力,为所学专业的计算机应用创造训练和应用的条件〔1〕。基于此,理工科的“C程序设计”教学过程应该有别于计算机专业〔2-3〕,如何进行该课程的教学改革是值得思考和探究的问题。

1教学现状和CDIO教育理念

1.1教学现状分析1.1.1重理论,轻实践目前理工科“C程序设计”大都存在“重理论,轻实践”的现象,教师花费大量的课堂教学时间用“满堂灌”的方法教授语言的语法和细节,只用少量的实验学时进行实践训练,学生上课的时候能听懂,下课后却不会编程。导致学生学习兴趣不高,教学效果不佳。1.1.2实验项目题目固定,不利于学生创新能力的培养以往实验项目的题目都是固定的,大部分是简单的验证性实验,老师已经把题目拟好、步骤做好,学生只需要照着指导书一步一步完成即可。这些实验题目数量偏少,题目均来源于教材例题或习题,缺少创新,更没有学生自主思维的时间,导致学生的创新能力和自主思维能力得不到培养,编程能力得不到提升。1.1.3由计算机专业的教师授课,与本专业的知识脱节计算机教师对其他理工科的人才培养体系了解甚少,一般都采用计算机专业的教学思路教学,无法满足这些专业对“C程序设计”的特殊要求,课程很难与这些专业的后继课程相结合。学生在学习的时候感觉与专业无关,不愿意学。1.1.4期末考核方式单一理工科“C程序设计”期末考试以闭卷考查理论为主,忽略对学生实践能力的考核。导致学生为了应付考试,只重视概念、原理和模式化的题型,而缺乏项目开发素养和编程技能。1.2CDIO教育理念CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),它是近年来国际工程教育改革提出的工程教育模式,它提出以产品研发到运行的生命周期为载体,让学生以主动的、实践的、课程之间有联系的方式学习工程的理论、技术和经验〔4〕。自2000年起,麻省理工学院(MIT)和瑞典皇家工学院等4所大学组成的跨国研究组织,经过4年的探索研究,创立了CDIO工程教育理念。CDIO教育理念更注重理论和实践相结合,实践重于理论,从做中学,以项目导向为主线,在项目实施的过程中,培养人才的合作与沟通、创新和决策的能力〔5〕。CDIO模式的大工程理念、强调对学生综合能力的培养、密切联系产业等特点,都对我国的工程教育有较好的启示和借鉴作用,并在我国工程教育界产生了很大的反响,汕头大学、清华大学、北京大学等率先进行了CDIO工程教育改革,并取得了较好的成效。目前,已有很多高校参与到CDIO工程教育改革之中〔6-7〕。针对理工科“C程序设计”的教学现状和存在的问题,探索以CDIO教育理念为指导,以“提高课堂教学质量和效果,加强学生的实践动手能力”作为突破口,让学生在做中学,目的是充分调动学生的学习热情,培养学生用计算机解决本专业问题的能力,提高和增强学生的实践能力和创新能力。

2课程的建设和改革

2.1教师队伍建设教师是教学活动的主要组成部分,CDIO模式要求教师具有较好的工程实践能力,认真负责的教育教学态度,不断更新专业知识和创新的精神。经过多年的教学实践,形成了由6名教师组成的“C程序设计”课程授课团队,其中副教授4人,讲师2人;2名博士研究生,4名硕士研究生。团队教师承担课程的课堂教学和实践教学,在保证各项教学工作顺利进行的过程中,各位教师表现出较强的团队精神和良好的敬业精神,按质按量完成了每年的教学任务,并形成了一个具有很强凝聚力的团结向上的集体。教学团队抓住北京大学信息学院对口帮扶支援的契机,积极向北京大学相关课程的教师请教教学经验和教学方法;在北京大学老师的指导下,结合本校理工科学生的生源、教学目标和教学资源的实际情况,融入CDIO工程教育理念,重新修订理工科的“C程序设计”课程的教学计划、理论教学大纲和实验教学大纲。团队教师还到北京大学参加培训和进修学习,体验北京大学CDIO教学理念的教学思想和教学过程,教师的水平得到提高,课程的建设和改革有了很好的借鉴平台。2.2理论教学改革在这样一个信息化和多元化的时代,学生掌握知识的渠道多种多样,学生的心理和学习习惯也各有各的特点,在“C程序设计”课程的教学中,采用自主学习和课堂教学相结合,注重激发学生的学习兴趣和学习主动性,积极探索基于项目导向的教学方法,调动学生的学习积极性,使用CDIO教育理念中“学习—指导—实践—反馈”的方法,使学生最大限度地参与到课堂教学中来,培养学生发现问题、解决问题的能力〔8〕。2.2.1自主学习和课堂教学相结合虽然现在中小学都在上信息技术课程,但是该课程只要求学生掌握基本的应用计算机的能力,学生对计算机的工作原理、程序和指令等基础知识几乎没什么认识,因此课程开课以前,教师先把北京大学MOOC课程(MassiveOpenOnlineCourse)“计算概论”中感性认识计算机的部分作为假期作业布置给学生,学生既可以看视频,也可以上网在华文MOOC网站上跟着老师学习,这种结合信息化时代的方式,充分调动了学生的学习主动性。团队教师积极探索讨论式学习和研究型学习的课堂教学方法,在上课以前先布置学生看视频,课堂上老师先做课堂测试,并记录课堂测试的结果。了解学生课下自主学习的效果,针对普遍难理解的知识点进行重点教学或者进行诱导性的讨论,活跃教学气氛,把课堂还给学生,体现了以学生为主体的课堂教学模式。2.2.2基于项目导向的教学方法在CDIO教育模式的指导下,在课堂教学中一改以往只重视教授语言的语法细节、老师“满堂灌”的教学方法,而是把语法的使用贯穿在项目当中,学生既了解了项目开发的过程,又掌握了编程思想,还培养了自主思维的能力。例如,在教授变量的定义、数据类型和3种基本结构之前,教师先把学生成绩分析系统设计这个项目的要求提出来,然后按照“构思—设计—实践—反馈—指导—运作”的流程带领学生完成。在构思阶段,就会涉及到变量的定义和数据类型的概念;在设计阶段,就会遇到3种控制结构的使用;而在实践中遇到的问题又会反馈到课堂教学中学习;通过教师的讲授和指导,最后完成了系统的设计。在这个过程中,学生参与了项目运作的过程,学会了如何把从书上学到的知识用于解决实际问题,培养了实践动手能力,充分体现了CDIO教育理念。2.3实践教学建设与改革2.3.1建立实验助手制度一名教师要完成指导50名左右学生的任务,通常的做法是教师布置好实验课题目就任由学生参考实验指导书自习。即使有几个提问的学生,教师往往也只能应付一二,不能完全解答;或者为了减少学生出现问题的几率,老师把题目讲解一遍,再把实现的过程一步一步地演示给大家,学生只需要按部就班地照着做就行了,这意味着老师占用了大半的实验课时间进行讲解和演示,学生的实践训练时间大打折扣,还限制了学生的思维,效果可想而知。如果学生在实验过程中遇到问题无法解决又没有得到及时有效的辅导,就会挫伤学习积极性,无法达到好的学习效果。为了解决实验课班额过大、辅导教师不够这个问题,建立了实验助手的实验辅导制度。在班上优选出学习能力强、学习积极性高的两到三名学生,教师对其进行全程辅导,让他们提前学习和完成实验内容,提示性地说出实验过程中会出现的问题要如何解答,最终让他们参与到实验课的指导中。这种实验助手的培养方式不仅解决了教师人手不够的问题,而且这些实验助手对知识的认知和理解会得到更大的提升。2.3.2引入自主学习开放性实验测试平台“C程序设计”是一门实践性非常强的课程,实践即技能,学生在掌握知识的过程中,重复的技能训练显得更加的重要〔9-10〕。教学团队引入了北京大学的开放性实验测试平台OpenJudge,教师可以在这个平台自主设计开放性实验。这些实验题目紧紧围绕学生的生活和专业展开,不会重复,完成后上传测试即可以看到结果。例如在进行基础编程练习的时候,针对生物医学工程专业,会设置类似细菌的战争这样的题目,而电气自动化专业的学生要完成的是错误探测等类似的练习。还可以和同学进行比赛,可以看到其他同学的完成情况。教师在平台上监测每个学生自主学习的情况和效果。经过一段课程的学习之后,要求学生进入这个实验平台进行开放性实验。学生对于这种开放性实验题目的完成热情很高,并且认识到如何用计算机解决本专业的问题。因此,通过引入这个开放性实验测试平台,使学生的编程技能得到有效的训练,培养了学生的创新思维,极大提升了学生的学习效率。2.3.3课程设计培养学生的团队协作和沟通能力是CDIO教育理念的一个方面〔5〕,因此在基础实验的后面增加了课程设计,全班学生被分成若干个项目小组,每组3~4人,项目组按要求进行构思并共同商讨设计思路,由小组长组织分工,同学之间互相学习,讨论沟通,协助完成。在整个课程设计过程中,学生在完成自己负责的模块的同时,还需要不断地参与讨论和设计其他同学的模块,通过这种方式使学生切身体会到团队协作的重要性,锻炼了沟通能力,体现了CDIO工程教育理念的核心内容。2.4课程考核方式改革以往“C程序设计”的考核方式是以期末闭卷理论考试为主,忽略实践能力,其中:期末考试成绩占70%,平时成绩占30%(考勤10%+作业10%+实验报告10%)。学习“C程序设计”的目的最终是编程实践能力的培养,因此修改了考核机制,提高了实践考核的比重,加入了自主学习的考核,加强过程性评价的比例,降低期末考试笔试的比重:期末总成绩=自主学习的效果(20%)+课堂表现(20%)+实验成绩(20%)+期末成绩(40%)。此考核方案在具体的执行过程中可以根据实际情况做出适当的调整,还可以加大对编程实践考核的力度,以达到培养学生编程能力、工程能力和创新能力的目的。

3建设与改革成效

在这个建设和改革的探索过程中,团队教师积极了解国内外专业教育的最新动态,在学习本学科最新研究成果和实践经验的基础上,充分利用丰富的教育资源大规模在线开放课程MOOC和现代化的教学手段和工具,不断更新和丰富课程教学内容和教学方法,最后在教学资源建设、教学方法和课程改革等多方面取得了很好的成绩。在教学资料库建设方面,团队教师完成了理工科“C程序设计”教学大纲、课件和实验指导的修订,并完成了习题库和试题库的建设;在教学改革与研究效果方面,团队教师近两年内在中文核心期刊公开发表了3篇有关教学改革和教学研究的论文;在申请教改项目方面,申请并获批了两项大理大学的教育教学改革项目,一项“C程序设计”双语教学项目;在教师获奖方面,一位教师的教学课件在学校的课件比赛中荣获特等奖,团队教师指导学生在蓝桥杯全国软件和信息技术专业人才大赛中荣获国家三等奖、全国计算机设计大赛获国家二等奖。学生的学习效果方面,以下表1是2016级6个班期末成绩平均分的对比。从表中可以看出,采用CDIO教育模式教学使学生的学习成绩得到提高,学习效果显著。前3个班的学生有48人次参加全国计算机等级(二级C)考试,有7人通过考试取得合格证。参考人数和过级人数比以往都有明显增加。2017年仅有计算机专业5个学生参加了蓝桥杯大赛,取得1个一等奖、1个二等奖和2个三等奖,经过教学改革后,2018年有计算机、统计学、信息与计算科学、数学与应用数学、统计学等不同专业的19个学生参加了比赛,并取得了1个一等奖、4个二等奖、7个三等奖的好成绩。综上,为了适应信息化时代对应用型人才和复合型人才的需求〔11〕,对理工科的“C程序设计”课程进行了建设和改革探索,在探索过程中,体现了把课堂还给学生、学生自主学习和课堂教学相融合的精神,引入CDIO工程教育理念,使理论和实践并重,加强学生实践能力的训练,以项目为导向,使学生在做中学,培养学生的团队协作精神和合作能力、创新能力。实践表明,这种教学方式能够激发学生的学习兴趣和热情,提高学生的学习主动性和积极性,开阔学生的创新视野,使其团队合作能力和综合素质等得到提高,同时也增强了自信心和责任感。

[参考文献]

〔1〕欧美英,葛浩,谷胜伟,等.应用型本科院校自动化专业C语言课程教学探讨〔J〕.考试周刊,2016(29):115-116.

〔2〕陈丽敏,齐红伟.自动化专业教学改革与实践:基于“工程应用型人才”培养模式〔J〕.当代教育理论与实践,2014,12(12):41-42.

〔3〕余庆英,陈传明,许建东.高校公共课C程序设计的专业化教学新模式〔J〕.计算机教育,2014,4(7):101-104.

〔4〕田海燕,张燕,田祥宏.基于CDIO模式的认知实习项目研究与实践〔J〕.实验室技术与管理,2012,29(1):140-145.

〔5〕刘会英,盖玉先,徐宁.探索适合我国国情的CDIO工程教育模式〔J〕.实验室研究与探索,2011,30(7):106-110.

〔6〕刘晓静,黄维通,王晓英.西部地区CDIO理念下的数据结构与算法课程建设〔J〕.计算机教育,2013(17):107-111.

〔7〕于延,周国辉,李红宇,等.CDIO模式下C语言程序设计实践教学改革〔J〕.计算机教育,2016(2):122-126.

〔8〕张毅智.基于CDIO模式推进数据结构课程实践教学改革〔J〕.辽宁工业大学学报(社会科学版),2017,19(3):107-108.

〔9〕石跃祥,朱东辉.非计算机专业理工科C语言程序设计教学方法探索〔J〕.计算机教育,2009,12(43):46-47.

〔10〕林艺真.CDIO高等工程教育模式探析〔J〕.哈尔滨学院学报,2008,4(29):137-140.

〔11〕张媛媛,王丽,冀燕丽.国内外高校非计算机专业计算机课程设置对比与研究〔J〕.课程教育研究,2014(12):40-41.

作者:张晓玲 赵榆琴 苏鹏 杨健 单位:大理大学数学与计算机学院