王洋
摘要:冒泡排序是高校《C语言程序设计》教学中的重要难点,而传统的教学方法并不理想。学生易将课堂PPT演示的内容与程序语言代码割裂开来,无法建立其直接的联系。探讨使用一种基于调试工具的方法,观察程序中变量值动态变化,从而建立算法自然语言描述与代码描述的直接联系,使学生能够更好地掌握冒泡排序算法的原理,培养学生的独立思考能力和发散思维能力,取得了良好的教学效果。
关键词:C语言程序设计;冒泡排序;教学方法
中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2016)41-0257-02
一、引言
在《C语言程序设计》[1,2]教学过程中,常以冒泡排序来讲解排序的原理。冒泡排序原理简单,但过程相对繁琐。在传统教学中,通常是教师先把冒泡排序思想讲述一遍,然后列出程序,解释程序执行过程,这种方式很难激发学生的学习兴趣。同时,由于学生没有很好地掌握冒泡排序的原理,自己很难独立编写出冒泡排序的程序。因此,合理设计教学过程,让学生掌握冒泡排序的思想和编程方法,激发学生对编程课程的兴趣是一个关键问题。
在计算机语言程序设计教学中根据需要正确运用直观性教学方法,将有助于学生去消化、理解抽象的算法和程序执行流程,进一步提高学生的学习兴趣和学习积极性。程序设计的直观性教学可以从基于动态可视化的方法来实现。
二、基于动态可视化的教学方法
(一)使用教学课件帮助学生理解程序的执行过程
计算机程序的运行是在计算机内部进行的,是看不到、摸不着的。各种控制语句的执行流程、函数与子程序的调用和返回过程及参数间的传递,学生是无法直接感知的。即使实验课调试程序的过程中,学生也只能看到中间或最终的结果,是对程序正确性的验证,看不到程序的执行过程。多媒体教学课件能够模拟不可能或很难看到的现象,能使抽象的理论形象化。在程序设计教学中借助于课件,可以模拟程序的执行过程和各参数的变化,让学生理解控制语句的执行流程以及函数、子程序调用过程中各参数的变化情况,一些算法的基本原理。因此,在教学中设计必要的课件,课堂教学效果远远超过详细的语言讲解。
针对冒泡排序算法的讲解,我们在PPT中内嵌了动画,动态演示对数字冒泡排序的过程。在这一阶段,不涉及程序代码的编写和讲解,着重讲解原理。具体演示内容如图所示:
(二)使用调试工具帮助学生理解程序的执行过程
借助调试工具,我们可以深入地观察变量的存储、程序的流程控制、数组及函数的调用。并且当学生掌握常用的调试技术后,学生可以自己独立解决编程问题,也增强了编写程序的信心,提高了编写程序的兴趣。并且,老师也不需要在实验课上疲于奔命地为学生排查错误了。因此掌握程序调试技术对教学双方都能起到事半功倍的效果。对于冒泡排序程序段:
总之,直观性教学方法是激发学生学习兴趣的有效方法,是促进学生思维发展,帮助学生内化知识的重要途径。在计算机程序教学中正确使用直观性教学方法,可以进一步提高课堂教学效益,帮助学生掌握难以理解的抽象知识,使抽象的知识形象化。对于冒泡排序程序代码段如图2所示:
我们可以使用调试工具逐行运行。通过观察Watch中变量i,j,a[i],a[j],a[j+1],t的变化,可以动态地观察排序算法的执行过程。如图3所示,对应PPT中的冒泡排序算法的第二遍,42与16交换位置的过程。这样就可以将PPT中的算法自然语言描述如第二遍与C语言程序代码中的外层循环建立起直接的联系。教师可以通过PPT与程序代码的互动,逐步地将冒泡排序算法程序每一步的操作,形象直观地演示给学生。
三、结语
本文以冒泡排序设计教学为例,利用PPT与程序调试技术为教学手段,引入了一种动态可视化的教学方法,着重建立了冒泡排序算法自然语言与程序设计语言的联系,形象生动地向学生展示了冒泡排序的基本思想和变换过程。因此,这种合理的教学设计有效地提高了教学效果,对程序设计类课程的教学有一定的借鉴意义。
参考文献:
[1]张玉春,孙大元.C语言程序设计教程[M].北京:清华大学出版社,2013.
[2]孙大元,张玉春.C语言程序设计实验指导与习题解析[M].北京:清华大学出版社,2013.
An Inquiry Teaching Method Based on Dynamic Visualization Analysis for Bubble Sorting
WANG Yang
(Jilin University Public Computer Teaching and Research Center,Changchun,Jilin 130012,China)
Abstract:Bubble sorting is important issue of the "C programming language" teaching in universities,but the traditional teaching method is not ideal. Student often separate the connection between PPT demo content and program code,and can not establish their direct contact. This paper explore a debugging based technique,observe dynamic change of the variable values,to establish the direct link between natural language description of the algorithm and code description,to make students better grasp the principle of bubble sort algorithm,develop students' independent thinking ability and divergent thinking ability,and good teaching effect has been obtained.
Key words:C programming language;bubble sorting;teaching method