APP下载

CDIO模式下C语言与数据结构的教学改革实践

2014-10-21徐艳

新校园·上旬刊 2014年9期
关键词:数据结构C语言教学改革

徐艳

摘 要:本文在分析C语言与数据结构两门课程传统教学的弊端及其相互关系的基础之上,探索该两门课程基于CDIO的以项目驱动、以问题驱动和以实战为动力的教学方法,并将两门课程有机地结合起来进行教学改革实践。实践证明,两门课程配合教学有利于提高学生的学习兴趣,提高学习效率,培养学生程序设计能力、程序阅读的能力及应用和设计数据结构的能力,教学效果良好。

关键词:教学改革;CDIO;C语言;数据结构;项目实战教学

一、前言

CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),是以从产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程,CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面。目前,国内的大多数理工科高校在学生教育教学培养方面多受传统苏联模式的影响,学生理论基础相对扎实,但是缺少项目及团队工作的实践操作训练。

C语言和数据结构作为嵌入式专业的两门重要专业基础课,同时也是培养我系该专业学生软件开发基础能力的重要课程,C语言和数据结构掌握的程度直接关系着学生分析问题、解决问题的能力以及程序设计理念的形成。但目前教学中存在的以下问题制约了学生软件开发基础能力的培养。

(1)在目前的培养过程中,实践教学的验证性内容较多,但是综合性、设计性和创新性实验内容较少,学生探讨问题的积极性和实践创新能力得不到提高。

(2)教育体系中对理论课程的重视程度普遍高于实践课程,导致学生基本是在任课教师的安排下进行学习,缺乏学习的主动性和创新性。

(3)学生在解决问题的过程中常常采用纯程序设计的方法,不能很好地将理论的逻辑结构跟实际的存储结构和程序算法设计结合起来,对数据结构的理解在很大程度上具有片面性。

(4)教学中只单纯讲教材的书本知识或做实验,没有及时将一些前沿的、新颖的知识引入课堂;没有更加有效的方式激发学生的编程兴趣,使学生获得学习乐趣和成就感。

(5)学生能力的培养不明确也不明显。

由于传统的教学过程中存在着以上这些弊端,再加上学生自身存在的一些因素的影响,导致学生在学习过程中普遍反映C语言难学,而数据结构则更难学。

二、CDIO模式下C语言教学方法探索

以项目作为主线,以学生作为主体,以教师作为主导,把培养应用型创新人才当做最终目标,强调“学中做,做中学”的理念。

对于C语言知识点的教学,以项目教学为主线,将各知识点的教学融合在项目中,所有学生以四至六人为单位分成项目组,每组完成一个小型信息管理系统的开发。学生项目组的题目可以从教师指定的题目中选择,也可以自行选择题目。管理系统的开发分为四个版本,将C语言基础、简单C函数和C程序的三种基本结构的教学融入Version1.0;将一维数组、二维数组、字符数组、指针、复杂C函数的教学融入Version2.0;将结构体、结构体数组、文件的教学融入Version3.0;将链表的教学融入Version4.0。后两个版本属于C语言高级应用,随着项目开发版本的升级,学生对C语言课程知识的学习也越来越深入。将 C语言课程的教学目标设定为具有熟练编写C语言程序的能力,最基本的要求是面对实际问题能够编程解决,不追求理论知识的完整性,但求会熟练使用。教学中淡化语法细节,以项目开发为目标,以分专题研究与实践操作作为手段,把知识融入到课程体系中。

三、CDIO模式下数据结构教学方法探索

开展问题驱动的实践教学,以问题求解为主线索是实践内容的核心思路,体现分析能力和设计能力的培养。针对每个教学环节的重要知识点,选择难易适中、具有代表性的综合性典型算法,合理地设计教学“问题”,从而在面对实际问题时,使学生学会分析问题并能设计解决问题的方法,通过上机、编程、调试,在实验中掌握基于某种算法和数据结构的数据组织、加工和处理方法,从而使学生进一步理解程序算法的设计思想,锻炼程序编写和调试的能力,增强创新意识。

开展以实战为动力的实践教学,教师要讲解电子设计竞赛、ACM竞赛的典型例题,帮助学生提高比赛成绩,以此提高学生进行程序编写和开展实践的热情,使学习生动有趣。

鑒于电子设计竞赛和ACM竞赛试题本身的趣味性、实用性和价值,结合嵌入式C语言和数据结构创新型实验的要求,从电子设计竞赛试题和ACM竞赛试题中挑选相关题目,或将原有题目进行合理改造,形成与嵌入式C语言和数据结构实验要求相匹配的试题集。这样学生就可以在平时的学习和实验过程中逐步接触到电子设计竞赛试题和ACM试题,这对提高学生的编程能力和将来参加实际比赛都非常有利。

四、CDIO模式下C语言与数据结构课程整合方法实践

我系之前都是采用模块化教学,C语言和数据结构是分别在两个学期由不同的教师进行授课。由于课时安排的问题,C语言后面的章节讲不完,比如指针、结构体、文件、链表等知识点没时间讲;而数据结构课程教学内容多而且难,没有过多的时间回顾和补充讲解太多C语言的知识内容,使得这两门课不能进行良好衔接,学生觉得数据结构更加难学。

在教改实践过程中,可以将教学计划进行更改,构建嵌入式技术专业软件开发基础能力课程群。嵌入式技术专业软件开发基础能力课程群主要以C语言、C语言课程设计、数据结构三门课程为主构成。C语言在改革实施过程中调整为30节理论课,30节实践课,只学习顺序、选择和循环等基础编程知识,教学目标设定为具有熟练编写C程序的能力;C语言课程设计调整为45节实践课,鉴于嵌入式专业特点,其中只简单学习C语言课程的指针、结构体、链表等后续知识,重点在项目实战教学;数据结构调整为30节理论课,30节实践课。我系嵌入式专业对数据结构学习的要求主要在线性表、栈、队列、数组、二叉树、查找、排序部分,因此理论教学可按此要求压缩,其中教学重点在线性表和查找、排序。针对数据结构课程教学中验证性内容偏多,而综合性、设计性和创新探索性实践内容偏少的情况,增加实践教学30课时,仍然以项目实战教学方式实施。

教学以培养学生编程能力、软件过程的控制能力、项目管理能力、版本控制能力、需求管理能力、团队协作能力、人际沟通能力为目标,分三层由易到难激发学生学习动力。第一层,分团队,培养学生团队意识,使其了解编程过程,培养学习兴趣;第二层,规范软件开发流程,以虚拟项目培养学生CDIO能力;第三层,以实际项目或综合项目考查学生是否具备该专业软件开发的基础能力。

考核过程中重建以能力为主的考核方式,在C语言、C语言课程设计、数据结构课程群中试行理论知识考试占总成绩的30%,个人能力占总成绩的20%,人际团队能力占总成绩的20%,项目完成占总成绩的20%。学生必须按课程群体系中规定的能力培养层级依次完成。

五、结束语

我们应用CDIO教学模式进行C语言和数据结构课程的教学改革,经过一个学期的教学实践,达到了较为理想的教学效果。学生的学习兴趣显著提高,对项目的运作过程有了更多的实践机会,学生之间的团队合作意识和沟通交流能力都得到了培养,形成了比较良好的学习氛围。今后,我们还将不断地探索和完善相关课程的教学改革方案,推动教学改革的深入开展,进一步提高工程教育质量。

参考文献:

[1]钟金明,张慧文.基于CDIO理念的C语言教学改革实践[J].实验科学与技术,2014(1).

[2]卢冰.高校计算机专业“数据结构”课程教学改革的探索与实践[J].成人教育,2011(9).

[3]王静.高职院校C语言与数据结构教学方法探讨[J].科技信息,2009(34).

[4]韩雁,冯兴杰,梁志星,张婧.CDIO工程教育模式下的教学效果分析[J].中国民航大学学报,2012(4).

猜你喜欢

数据结构C语言教学改革
基于Visual Studio Code的C语言程序设计实践教学探索
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
基于人才培养的技工学校德育实效性研究
现代信息技术在高职数学教学改革中的应用研究
以职业技能竞赛为导向的高职单片机实践教学改革研究
微课时代高等数学教学改革的实践与探索
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨
论子函数在C语言数据格式输出中的应用