您好, 访客   登录/注册

CDIO模式下“C语言程序设计”课程教学方法研究与改革

来源:用户上传      作者:

  摘   要:文章针对目前C语言教学中的弊端,提出了在CDIO教学理念下的“C语言程序设计”课程理论教学方法和实践教学方法改革,旨在培养学生良好的编程思维、工程能力、团队协作和交流能力,介绍了支撑教学方法改革的C语言在线代码演示和代码仿写系统。
  关键词:C语言;CDIO;教学改革;代码仿写
  “C语言程序设计”课程是计算机类专业学生接触的第一门计算机编程语言课,对培养学生编程思维具有关键性的作用。计算机专业类学生不仅要有良好的编程思维,还要具备出色的工程能力,以符合我国在“卓越工程师教育培养计划”提出的培养目标:培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才[1] 。构思、设计、实现、运作(Conceive-Design-Implement-Operate,CDIO)工程教育模式[2]是近年来国际工程教育改革的最新成果,让学生以主动的、实践的、课程之间有机联系的方式学习工程。在“C语言程序设计”课程中引入CDIO工程教学模式,对理论和实践教学进行改革,培养学生编程思维的同时,让学生获得初步的工程能力,培养团队合作和交流能力,为后续的工程实践课程和编程语言课打下牢固基础。
  1    目前C语言教学存在的弊端
  “C语言程序设计”课程既具有很强的理论性和实践性,牵涉的概念也比较复杂,语法规范繁多。目前绝大部分C语言类教材按基本语法知识为逻辑安排教材内容,很多教师往往也是按教材的思维组织教学内容,先讲基本概念,再讲语法格式,最后举例说明,线性的教学模式无法激发学生对C语言的兴趣,更不利于促进学生思考,很难锻炼学生的逻辑思维和解决实际问题的能力。课堂演示的例题知识点往往是独立应用,例题功能之间没有相关联系。实践课程中的练习题也是功能缺乏实际联系,每个学生完成实验指导书上的题目,而且题目基本是验证性题目,这种实践教学方法导致学生会做作业,但是在工程中应用该知识解决问题时,却无法完成,不利于培养学生的实际解决问题能力、工程能力和团队协助与交流能力。
  2    CDIO理念下的理论教学方法改革
  2.1  CDIO理念指导理论教学方案
  CDIO作为一种新的工程教育理念,在教学过程中贯彻项目开发的思路,旨在重点培养学生熟练运用专业基础知识的能力、工程分析和解决问题的能力、团队协作和交流的能力。
  CDIO模式提出了具有可操作性的能力培养大纲、全面实施以及检测评测的12条标准,有利于指导教学方法改革。
  依據培养大纲,在该课程理论教学中完成以下两个培养目标:(1)培养学生“C语言程序设计”基础科学知识。(2)培养学生对产品“构思—设计—实施—运行”的概念理解,具备初步工程能力以及团队协作和交流能力。
  2.2  CDIO理念下的理论教学方案实施
  在理论教学中,依据CDIO工程教育理念,教师将C语言所有语法知识散射到一个完整工程项目中。项目为“图书馆管理系统”,学生对该项目功能和业务流程较熟悉,教师可将精力放在对项目“构思—设计—实施—运行”的讲解上。在第一次开课时,给学生讲解项目的整体功能,让学生对该项目有整体的认识,有利于学生在后期学习中理解分解功能,否则会造成“只见树木,不见森林”的局部意识,不利于工程概念的培养。
  在整个教学中,依据知识点增加项目子功能的难度和任务量,不仅能应用当前知识点解决实际问题,还能应用前期学过的知识,形成知识的密集性连接,从而牢固掌握C语言的基础知识。
  项目分解中采用了模块化程序设计思想,那么在设计和实施过程中就要应用函数知识点。教师教学采用函数模块化教学方法[3],项目分解的子功能都在自定义函数中实现,每讲完一章内容,就将子函数集成起来,形成一个小项目。指针是C语言的重点和难点知识,函数模块化教学方法和指针过程化教学方法结合[4],可以将指针很好地应用在工程教学中。整个C语言学习过程中,学生滚动学习C语言中的两大难点知识:函数和指针。整个C语言学完后,学生对函数和指针概念理解透彻,并能有效地利用指针设计简洁、紧凑和高效的程序和解决实际问题。
  3    CDIO理念下的实践教学方法改革
  培养学生编码能力和工程能力,实践课是非常关键的,实践课为学生提供系统构思、设计、实施和运行环境。
  (1)增量项目实践教学。借鉴软件开发过程模型中的增量模型开发思想[5],实践教学中,学生每学完一章内容,就要构思、设计、实施和运行“小学生数学计算练习软件”项目,该项目随着学生知识点的增加,功能不断完善。因为有函数模块化教学的支撑,学生增加功能时非常方便,主要以函数为单位增加项目代码。指导该项目时,教师为辅,学生为主。因为在理论课堂上学生对工程有较好的认识,在实施过程中教师要把项目的构思、设计和实施交给学生,不要过多讲解,主要以回答学生问题为主。在每一次项目功能增量中,学生都会对该项目进行构思、设计、实施和运行。在整个C语言知识学完后,学生会完成功能较齐全的“小学生数学计算练习软件”,而且对工程软件开发的全过程有了深度认识。
  (2)小组学习模式。在CDIO教育模式下更有利于培养学生团队精神和交流表述能力。在实践教学中,将班内一个宿舍内的同学划分为学习小组(一般为6人),方便学生交流和讨论。为了对工程有全面认识,每个同学要单独完成实践课项目,学生增量开发项目时,只整合自己的程序功能模块,会导致学生合作和交流仅限于对存在问题的交流,而对企业中团队开发一个项目的合作模式体会不到,而且这种交流方式不适合社交能力较弱的同学,他们缺乏交流的积极性,难以主动和小组内的同学交流。为了解决上述问题,小组组长收集每位同学开发的一个子功能并将其整合起来,形成一个小组项目包。在每次实践课上小组每位成员讲解已开发的项目功能,教师带领全班同学进入讨论和交流阶段,引导学生对该项目存在的问题积极发言,不仅培养了学生的表述能力,还培养了学生实际的团队合作和交流能力。
转载注明来源:https://www.xzbu.com/8/view-15150898.htm