APP下载

启发式教学法在应用型本科计算机教学中的应用*

2014-09-05梁艳华党庆一

九江学院学报(自然科学版) 2014年4期
关键词:堆栈数据结构教学法

梁艳华 党庆一 颜 烨

(重庆大学城市科技学院电气信息学院 重庆永川 402167)

启发式教学法在应用型本科计算机教学中的应用*

梁艳华 党庆一 颜 烨

(重庆大学城市科技学院电气信息学院 重庆永川 402167)

笔者主要阐述启发式教学法及其指导原则,将启发式教学法应用到计算机基础课程的教学中,以“堆栈在程序设计中的应用”教学单元为例,设计教学过程,并结合分析比较法等多种教学方式进行教学实施,取得较好的教学效果。

启发式教学,计算机基础,堆栈

随着高等教育的大众化发展,人们更加注重应用型人才的培养,尤其是创新精神和实践能力的培养。目前,计算机基础课程的教学中普遍存在如知识内容枯燥单一,课程和课程间缺乏有机联系,教学方法单调死板等问题,使教学过程不能很好的启发、扩散学生的思维,成为培养应用型人才的障碍。众多从教者由此而进行了诸多教学改革,其中启发式教学法以其科学性、创新性、启发性等特点得到了广大师生的普遍认可。

1 启发式教学法及其指导原则

启发式教学法是指教师在教学过程中,依据所制定的教学目标,采用引导、启示等多种教学手段,调动学生学习的兴趣,从而达到使学生自觉主动学习和思考的一种教学方法[1]。

启发式教学法一般遵循两大原则,其一,在教学过程中既要重视知识的传授,又要重视学生学习能力的培养。其教学过程的重点在于提高学生的自学能力,学生因此而自主的获取更多的知识,使教学活动事半功倍。其二,在教学过程中,教师既要重视对知识的引导,又要重视学生独立思考能力的培养,锻炼学生依据自己的思维能力去认识和解决新问题。

2 启发式教学法的教学设计

经过4年的教学经验积累,笔者不断尝试将启发式教学思想运用到具体的课堂教学。以计算机专业基础课程——数据结构中“堆栈在程序设计中的应用”内容为例,设计教学过程,并运用启发式教学法引导整个教学过程。在教学设计中,以数据的存储和存储形式下的运算及其实现这两条为教学主线,巧妙设置问题,引导学生主动思考,期望达到较好的教学效果。

2.1 巧妙设置引例

人们的思路往往是从具体到一般,因此,教学中新内容的导入对激发学生的兴趣和提高学生的学习效率有着至关重要的作用。在堆栈内容的教学设计中,以具体的问题“将十进制数转换成八进制数”作为内容的导入,同时采用一题多解的思路进行问题的分析、讨论和对比。

首先,分析问题。数制转换问题是计算机的常见问题,以这个问题作为引入点,在学生现有知识能力的基础上启发学生,会更自然,学生也会更容易接受。可采用提问的方式,引导其回顾将十进制数转换为某一进制数的一般方法,即“除R取余法”。

然后,讨论进制转换的程序设计方法。启发编程要点:①数据采用普通数据存储,如定义一个数组,来存储余数,同时存储十进制数N,进制数R。②整个程序设计采用简单的循环结构,并引导其得出解题的具体步骤。学生在现有知识基础上,能很快得出程序代码,此为问题的第一种解法。同时,进一步引导学生,分析这种程序代码的优缺点——问题处理较简洁明了,但简单循环结构的处理方式导致程序代码的冗余度较大。由此引出主要内容——堆栈及其运算。

2.2 引出堆栈及其运算的相关内容

有了前期问题的导入,学生对学习堆栈这种数据结构的兴趣大幅度提高,笔者从两个方面对其内容进行讲解:数据在计算机中的存储和存储形式下数据的常见运算。

数据的存储不仅是一个学习单元所关注的内容,每个人对于数据存储都有自己的理解,别人的经验、结论并不能加深自己对问题的理解,只有在学习中不断进行思考,不断总结,才能真正理解其含义。因此,这部分内容的讲解要以引导为主,使学生自己通过思考,得出堆栈数据结构的存储特点及相关运算。最后教师再对其进行系统性讲解,帮助学生梳理系统化知识结构。以结构化程序设计方法和C语言程序实现为例,顺序存储结构的堆栈及其运算定义[2]如下:

typedef struct

{

elemtype data[maxsize];

int top;

}stack;

push(&s,e)//插入元素e为新的栈顶元素。

pop(&s,&e)//删除s的栈顶元素,并用e返回其值。

stackempty(s)//若栈s为空栈,则返回true,否则返回false。

gettop(s,&e)//用e返回s的栈顶元素。

2.3 启发学生另寻解题思路

为了使学生更好的掌握堆栈这种数据结构,并能用它解决实际问题,应进一步引导学生分析数制转换的过程,启发学生总结转换过程中的规律,即余数具有“后进先出”的特点,进而引导其用堆栈处理数制转换的过程。

首先,分析使用堆栈后,数据在堆栈中的存储及变化情况,引导学生——余数需要存储在堆栈中,并进一步分析数据在计算机中的变化情况及所应做的操作,其变量及所做的操作如表1所示。其中被除数N即为要转换的十进制数,除数R为要转换的进制,商K为操作中的中间结果,余数J为最后需要存储的结果。

表1 数制转换中变量及所做操作

其次,启发学生总结规律,并得出数制转换过程中的流程图,进而得到使用堆栈后的程序设计的语句。此为问题的第二种解法。

根据启发式教学法的原则,在课堂上应注重对学生学习兴趣的启发和引导,发挥学生的主体作用,因此,在其讲解过程中,巧设疑问,本着师生互动,重思维能力的培养,重学习过程的原则,启发、引导学生。例如可设立“堆栈存储和管理数据的性质如何”“如何利用堆栈来存储和管理余数”“循环体中的程序语句是什么”等问题来引导整个教学过程。问题设置的个数和时机应恰当巧妙,将整个教学过程分为四个阶段,即前期、前中期、中期和后期,并在各个阶段中设置一个问题,引导相关知识点,并发挥问题的功能。教学过程中问题的设计及问题所处的教学过程的阶段如表2所示。

表2 教学过程中问题设置

2.4 问题的分析、比较和引申

至此,学生对堆栈及其应用有了比较深刻的印象,不仅对堆栈这种数据结构的存储和处理数据的特点有了深刻的理解,还对堆栈的应用有了一个更深入的了解.然而,学习是一个循环往复的过程,在一定的阶段适当重复并夯实学生已有的知识内容对其知识的掌握具有重要的作用。因此,在教学的后期,采用分析比较法,对两种解决问题进行分析和比较,其两种问题的解决办法的代码如表3所示。

表3 两种数制转换过程代码

从数据的存储方式和代码的可读性及重用度两个方面启发学生比较结果:①数据的存储方式不同。第一种仅采取数组的方式存储,没有统一的运算;另一种采用堆栈存储数据,并运用入栈和出栈的运算来完成数据的处理。②程序的可读性及代码的重用度不同。比较而言,第一种方式程序的可读性较差,且代码的重用度不高。同时,引导学生对堆栈的应用进行扩展,如“括号匹配问题”“表达式求值问题”“迷宫求解问题”等,从而达到扩展学生思维的目的。

3 结语

启发式教学法以其科学性、创新性和启发性在教学过程中受到广大从教者的广泛使用,在实施启发式教学法的过程中,需要注意的问题有:①要求教师精心备课和组织教学,不仅需要教师在深入备课的基础上提炼出重点、难点,还要求教师精心组织问题,并在讲授中有重点、有目的的点评;②要求教师考虑学生的现有知识能力,进行合理、适当的启发,并在适当的时机引导学生找到问题所在。③充分发挥学生的积极性和主动性,可采取小组讨论、分析对比等多种方式组织教学,以取得较好的效果。

组织教学是常试常新的过程,笔者仅给出数据结构这门课程一个知识单元的教学过程改革。启发式教学法的精髓在于激发学生的兴趣,拓展学生的思维能力。在教学中,可通过各种教学方法和手段激发学生的学习欲望,使其积极思考,发现问题。如何将启发式教学法与其他方法结合,以及将其应用到计算机其他学科的教学环节中,并不断总结经验,提高效果,需要广大从教者长期共同努力和相互交流。

[1]张菁,张鑫.启发式教学在“大学计算机基础”课程中的应用[J].计算机教育,2010,8(12):63.

[2]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.45.

(责任编辑李平)

重庆市重点教改项目“电气信息类专业应用型人才培养模式的研究与实践”(编号0824058)的成果之一。

2014-7-24

梁艳华(1981-),女,内蒙古赤峰市人,硕士,讲师,研究方向为数据库技术。Email:354946839@qq.com。

G 642.0

A

1674-9545(2014)04-0116-(03)

猜你喜欢

堆栈数据结构教学法
基于行为监测的嵌入式操作系统堆栈溢出测试*
批注式阅读教学法探究
实施“六步教学法”构建高中政治高效课堂
基于堆栈自编码降维的武器装备体系效能预测
“翻转课堂”教学模式的探讨——以《数据结构》课程教学为例
高职高专数据结构教学改革探讨
开放引导式阅读教学法描述
TRIZ理论在“数据结构”多媒体教学中的应用
《数据结构》教学方法创新探讨
“假弱”教学法你用了吗?