朱彦廷
(广西现代职业技术学院计算机系,广西 河池 547000)
《数据结构》是计算机专业的一门重要的专业基础课,采用传统的教学方法难以取得好的效果,本人认为这门课的教学应当尽量采用案例教学法。所谓案例教学法是指教师根据教学目的和教学内容的需要,运用典型案例,创设情景,让学生进入角色,积极思考,主动探索,以提高他们分析、解决问题的能力。它是一种很有发展潜力的教学方法,十分适合高职学生。对高职学生来讲,单纯的理论讲述难以引起他们的注意,如果采用案例的方式,把一些枯燥的理论融入其中,效果将大不相同。
现行教材大多是在本科教材的基础上进行修改编成的,偏重理论,缺乏生动有趣、通俗易懂的案例,教师应该选择相对较适合的教材,另外平时留心,收集材料,备课时精心选择案例,好的案例应该是:① 包含学生将要学习和已经学习的知识。② 难易得当。③ 接近社会、生活,体现时代性。
如在讲栈时,可用玻璃杯和兵乓球作为案例,引入栈的概念及特点。杯口直径比乒乓球直径稍大,向空玻璃杯中放入多个乒乓球,如果要取出乒乓球,最先取出的是最上面(最后放入)的乒乓球,最后取出的是最下面(最先放入)的乒乓球,这里的玻璃杯就相当于栈,乒乓球相当于栈中元素,这样学生很容易理解栈是操作受限的线性表、进栈、出栈操作以及后进先出的特点;在讲队列时,可用去食堂打饭时排队作为案例,引入队列的概念及特点;在讲树时,可用家谱作为案例,引入树的概念及特点。
在介绍栈时,可用进制转换作为案例,设置以下问题:① 如何将1个十进制数转换成二进制数?②如何将1个十进制整数转换成二进制整数?③ 余数产生的顺序与输出的顺序的关系,与栈有什么联系?④ 简述用栈实现进制转换程序的过程。⑤ 栈是一种特殊的线性表,参照已学过的线性表,栈的存储结构如何设计?⑥ 栈的基本操作(如入栈和出栈)如何实现?⑦ 程序可分为几个模块?要定义哪些结构体和函数?
教师应逐步提出这些问题,让学生思考、讨论,注意引导、启发、提示,使学生得出正确的答案,这有助于培养学生的思维能力。虽然学生基本理解学习内容了,但是实践起来往往还会遇到一些困难,因此重要的案例要让学生完成全部编码并调试成功,这样才能切实理解学习内容。当一个案例在计算机上实现时,能让学生清楚地看到理论的用途,将增大学习的兴趣,又能给他们很大的成就感,将增强学习的信心。
案例的具体实现往往很复杂,要编写很多代码,应根据程序的规模、难度,把学生分成几个小组,分别完成整个程序的编码及调试。通过分工,每个学生负责一部分工作,降低了难度,缩短了时间(课时有限,我校是每周4课时),事实上学得较好的学生将分到较难的任务,可以忽略简单的内容,学得较差的学生将分到较易的任务,可以忽略复杂的内容,两者都能得到提高,巧妙地实现了分级教学(很多老师注意到现在学生的水平差异过大,试图进行分级教学,但对于专业课而言,往往学生人数少,分级则更少,将大大增加教学成本,难以实现),还能使学生对封装以及软件工程等内容有深刻的理解。
通过对案例的讨论和实现,不仅能使学生掌握知识,也能使学生掌握分析、解决问题的方法,还能使学生养成勇于探索的精神、团结协作的作风,有助于他们将来的发展。
案例教学虽有很多优点,但也有不足,它偏重应用,难以涵盖各个知识点,以致学生掌握的理论知识片面零碎,不够系统,不清楚知识点之间的联系、原理的由来等,难以解决以后遇到的复杂的问题。因此《数据结构》教学不宜完全使用传统的理论教学,也不宜完全使用案例教学,而应把把案例教学和理论教学结合起来,最好是融为一体,简单、次要的地方用理论教学,复杂、重要的地方用案例教学;如果学生的基础较好(如是从高中升上来的),理论教学多一些;如果学生的基础较差(如是从中专升上来的),案例教学多一些。理论教学为案例教学提供了分析问题的基础和框架,而案例教学具体形象,将降低学习难度,调动学习积极性,还将加深对理论的理解,两者相互补充、相互促进,使学生在掌握知识的同时提高能力,使理论知识能真正转化为实际能力。
在《数据结构》课教学中引入案例教学,能够把枯燥的算法变为生动的实例,把静态的内容变为动态的知识,把理论和实践结合起来,把教学内容和现实生活结合起来,达到较好的教学效果。
[参 考 文 献]
[1]李建青.高职计算机专业教学案例研究[J].职业教育研究,2011,(10):25-26.
[2]张 锋,苗 娟.高职计算机案例教学探讨[J].软件:教育现代化(电子版),2013,(5):135.
[3]刘中华,刘 森,普杰信.数据结构教学创新改革研究与探索[J].价值工程,2013,(4):283-284.
[4]刘丽杰,纪玉玲.《数据结构》课程的教学研究与实践[J].教育教学论坛,2013,(13):239-240.