论文部分内容阅读
摘 要 本文从《C++程序设计》课程的教学实践中,结合学生学习的现状,推行启发式教学方法,并且积累了一些教学的案例,探索在C++启发式教学中采用形象化思维方式设计教学情景的新方法与新思路,文中给出了几个启发式教学情景设计的实例。
关键词 启发教学 形象化思维 C++
《C++程序設计》是我校非计算机专业本科学生,大学一年级第二学期进行的一门必修考试课程。从以往的实践经验来看,计算机程序设计入门难,学生学习中普遍有困难。这主要是因为对计算机解决问题的思路不理解,学习积极性还没有被激发起来。在我们的传统教学中没有充分发挥出教学的启发,引导和提高作用,思路只是集中在手把手灌输上,教学思路和方法需要更新。本论文的目的就是:改变填鸭式教学方法,探索启发式教学模式,推动学生自主学习的积极性。发掘出学生自身学习能力和创造力。启发式教学,增强课堂互动,是我们教学中的最紧迫的问题,很有难度,也必须攻克,否则我们的教学是很难有突破的。只有真正实现了启发式教学,我们的教学才能从被动走向主动,这是大方向,大趋势,是毋庸置疑的。
一、什么是形象化思维方式
形象化思维方式就是将抽象的概念和看不见的事物,用日常生活中喜闻乐见的活泼形式准确的表达出来,并能进行推理的思维方式.常见的比如,打比方,举例子,画图表,模拟演示,使用道具等等。
形象思维方式并不是幼稚的方法,而是人脑认识事物,学习知识的独特的方式,是一种高级的人脑思维方式,有时甚至是独特的解决问题的理论方式。比如,电磁场理论,离不开左手螺旋定理和右手螺旋定理,这其实就是形象化的理论表达,不可替代。又如,基因理论,只有画出基因序列图,才算解决问题。原子结构模型,分子结构模型,DNA的双螺旋结构模型等,都是形象化的理论成果。
计算机科学技术理论中也有大量形象化的成果,例如:冒泡排序法,数列前哨,堆栈,队列等概念和原理都是形象化的表达方式。再比如图灵机模型,是算法设计与分析技术的重要理论基础。
二、形象化思维方式在启发式教学中的使用
(一)什么是启发式教学。
启发式教学是和传统的灌输式教学方法相对应的新兴的教学方法,是符合人脑学习规律的先进的教学方式,主要特点就是教师不是直接宣布,讲授理论结果,而是有意识的引导学生进入研究问题,发现问题的情景,引导学生重温解决问题的思路,自主得出最终的结论。这个过程中,学生的思维是主动的,处于创新状态。学生在自主探索,得到结果的过程中,不是仅仅的照葫芦画瓢,而是自身能力取得突破性进步。
采用启发式教学,比较传统教学方式在教案设计上有很大难度。首先,启发式课堂需要每一堂课仔细设计情景,课件和教案,激发起学生的互动,都是我们目前需要突破的主要问题。
形象化思维在设计启发式教学情景时,常常是很自然的思维方式,可以把复杂的问题生动的,立体的呈现,吸引学生注意力,保持学生持续的注意力集中,启发学生自己发现问题,探索方法,自主得出结论,这样的教学过程印象深刻。
(二)形象化思维在设计启发式教学情景中的应用。
结合C++的教学实践,我设计了几个教学案例,介绍本人在这方面的工作,说明C++启发式教学中采用形象化思维方式的可行性和合理性,及表现出的优越性。
1.用扑克牌做道具演示数组排序算法。
情景:使用扑克牌做道具可以模拟,插入排序法,选择排序法,冒泡排序法。
主要特色:将数组概念从看不见的内存中,展示在人们生活中熟悉的扑克牌中,帮助学生理解算法的原理。用手工操作,演示计算机工作的过程,易于理解。并且教会学生用道具的学习方法和表达方法,学生使用这种方法,可以学习其他数组问题,也可能会有新的发现和应用。
2.用电线做道具,演示二分查找法。
情景:一段电线,电线中有很多接点,接点从一头到另一头顺序编号,电路不通时,断点就出在这些接点上。现在说明电路中间有断点,用电表可测试每个接点的连通性,思考怎么选择监测点的顺序,使得检测次数尽量少,确定断点位置。
在实际情境中,启发学生选择中间的接点,一下就可以将监测范围缩小一半。引导学生寻找快速找到断点的方法,让学生自己找到下一个测试点,判断下一个测试点,直到找到断点。 引导学生总结出二分检索的原理,由学生自己写出算法原代码。
特色:印象深刻,理论联系实际,牢固掌握算法。
3.C++三重循环中循环变量的变化规律。
学生理解两层以上的循环,尤其是三层以上循环,对循环变量的变化,语句在循环嵌套中的执行顺序,常常感觉困难。一般的方法是把循环变量嵌套输出,这样有一些帮助,但是因为过程繁琐,可能还是理解不清,如果有一个道具,这个问题就迎刃而解了。
情景:用时钟做道具,如图:
■
图1 钟表模拟三层循环嵌套
时针代表最外层循环变量I,分针代表第二层循环变量J,秒针代表最内层变量K。当表正常转动的时候,学生就会恍然大悟,领悟三层循环变量的变化规律。
4.演示求最大公约数的模拟过程。
求最大公约数算法,常常出现在《C++程序设计》的教材中,这个程序短小简洁又实用,是很好也很实用的例题。因为算法的抽象有三个难题需要解决:(1)学生常常不能理解算法的思想;(2)学生希望能证明算法的正确性;(3)学生记不住这个算法。用两根竹竿的模拟可以很好解决上面三个问题。
情景:最好用专业教具来演示,使用一长一短两根竹竿代表需要求最大公约数的两个整数。用短竹竿除长竹竿(比量),如果剩下不能除尽,就折断,保留余下这一节。用剩余的一段继续除短竹竿。反复这个过程,直到除尽为止,最后得到的整除的小段,就是最大公约数。
可以交给学生两个不同长度的竹竿道具,让学生自己摸索,如果时间足够,学生自己就能发现方法。 然后引导学生写出代码,并进一步写成函数的形式。
特色:
(1)学生可以理解算法。
(2)在理解的基础上,学生很容易证明算法 (证明我将在另一篇文章中给出)。
(3)印象深刻,学生很容易记住算法思路。
这个演示可以帮助学生,理解算法,并且熟记算法。也学习到用道具计算的技巧。
三、总结
从上面几个小例子,我们可以领略到形象化启发式教学的新颖性和创新性,会给C++教学带来新思路,打开全新的局面。
关键词 启发教学 形象化思维 C++
《C++程序設计》是我校非计算机专业本科学生,大学一年级第二学期进行的一门必修考试课程。从以往的实践经验来看,计算机程序设计入门难,学生学习中普遍有困难。这主要是因为对计算机解决问题的思路不理解,学习积极性还没有被激发起来。在我们的传统教学中没有充分发挥出教学的启发,引导和提高作用,思路只是集中在手把手灌输上,教学思路和方法需要更新。本论文的目的就是:改变填鸭式教学方法,探索启发式教学模式,推动学生自主学习的积极性。发掘出学生自身学习能力和创造力。启发式教学,增强课堂互动,是我们教学中的最紧迫的问题,很有难度,也必须攻克,否则我们的教学是很难有突破的。只有真正实现了启发式教学,我们的教学才能从被动走向主动,这是大方向,大趋势,是毋庸置疑的。
一、什么是形象化思维方式
形象化思维方式就是将抽象的概念和看不见的事物,用日常生活中喜闻乐见的活泼形式准确的表达出来,并能进行推理的思维方式.常见的比如,打比方,举例子,画图表,模拟演示,使用道具等等。
形象思维方式并不是幼稚的方法,而是人脑认识事物,学习知识的独特的方式,是一种高级的人脑思维方式,有时甚至是独特的解决问题的理论方式。比如,电磁场理论,离不开左手螺旋定理和右手螺旋定理,这其实就是形象化的理论表达,不可替代。又如,基因理论,只有画出基因序列图,才算解决问题。原子结构模型,分子结构模型,DNA的双螺旋结构模型等,都是形象化的理论成果。
计算机科学技术理论中也有大量形象化的成果,例如:冒泡排序法,数列前哨,堆栈,队列等概念和原理都是形象化的表达方式。再比如图灵机模型,是算法设计与分析技术的重要理论基础。
二、形象化思维方式在启发式教学中的使用
(一)什么是启发式教学。
启发式教学是和传统的灌输式教学方法相对应的新兴的教学方法,是符合人脑学习规律的先进的教学方式,主要特点就是教师不是直接宣布,讲授理论结果,而是有意识的引导学生进入研究问题,发现问题的情景,引导学生重温解决问题的思路,自主得出最终的结论。这个过程中,学生的思维是主动的,处于创新状态。学生在自主探索,得到结果的过程中,不是仅仅的照葫芦画瓢,而是自身能力取得突破性进步。
采用启发式教学,比较传统教学方式在教案设计上有很大难度。首先,启发式课堂需要每一堂课仔细设计情景,课件和教案,激发起学生的互动,都是我们目前需要突破的主要问题。
形象化思维在设计启发式教学情景时,常常是很自然的思维方式,可以把复杂的问题生动的,立体的呈现,吸引学生注意力,保持学生持续的注意力集中,启发学生自己发现问题,探索方法,自主得出结论,这样的教学过程印象深刻。
(二)形象化思维在设计启发式教学情景中的应用。
结合C++的教学实践,我设计了几个教学案例,介绍本人在这方面的工作,说明C++启发式教学中采用形象化思维方式的可行性和合理性,及表现出的优越性。
1.用扑克牌做道具演示数组排序算法。
情景:使用扑克牌做道具可以模拟,插入排序法,选择排序法,冒泡排序法。
主要特色:将数组概念从看不见的内存中,展示在人们生活中熟悉的扑克牌中,帮助学生理解算法的原理。用手工操作,演示计算机工作的过程,易于理解。并且教会学生用道具的学习方法和表达方法,学生使用这种方法,可以学习其他数组问题,也可能会有新的发现和应用。
2.用电线做道具,演示二分查找法。
情景:一段电线,电线中有很多接点,接点从一头到另一头顺序编号,电路不通时,断点就出在这些接点上。现在说明电路中间有断点,用电表可测试每个接点的连通性,思考怎么选择监测点的顺序,使得检测次数尽量少,确定断点位置。
在实际情境中,启发学生选择中间的接点,一下就可以将监测范围缩小一半。引导学生寻找快速找到断点的方法,让学生自己找到下一个测试点,判断下一个测试点,直到找到断点。 引导学生总结出二分检索的原理,由学生自己写出算法原代码。
特色:印象深刻,理论联系实际,牢固掌握算法。
3.C++三重循环中循环变量的变化规律。
学生理解两层以上的循环,尤其是三层以上循环,对循环变量的变化,语句在循环嵌套中的执行顺序,常常感觉困难。一般的方法是把循环变量嵌套输出,这样有一些帮助,但是因为过程繁琐,可能还是理解不清,如果有一个道具,这个问题就迎刃而解了。
情景:用时钟做道具,如图:
■
图1 钟表模拟三层循环嵌套
时针代表最外层循环变量I,分针代表第二层循环变量J,秒针代表最内层变量K。当表正常转动的时候,学生就会恍然大悟,领悟三层循环变量的变化规律。
4.演示求最大公约数的模拟过程。
求最大公约数算法,常常出现在《C++程序设计》的教材中,这个程序短小简洁又实用,是很好也很实用的例题。因为算法的抽象有三个难题需要解决:(1)学生常常不能理解算法的思想;(2)学生希望能证明算法的正确性;(3)学生记不住这个算法。用两根竹竿的模拟可以很好解决上面三个问题。
情景:最好用专业教具来演示,使用一长一短两根竹竿代表需要求最大公约数的两个整数。用短竹竿除长竹竿(比量),如果剩下不能除尽,就折断,保留余下这一节。用剩余的一段继续除短竹竿。反复这个过程,直到除尽为止,最后得到的整除的小段,就是最大公约数。
可以交给学生两个不同长度的竹竿道具,让学生自己摸索,如果时间足够,学生自己就能发现方法。 然后引导学生写出代码,并进一步写成函数的形式。
特色:
(1)学生可以理解算法。
(2)在理解的基础上,学生很容易证明算法 (证明我将在另一篇文章中给出)。
(3)印象深刻,学生很容易记住算法思路。
这个演示可以帮助学生,理解算法,并且熟记算法。也学习到用道具计算的技巧。
三、总结
从上面几个小例子,我们可以领略到形象化启发式教学的新颖性和创新性,会给C++教学带来新思路,打开全新的局面。