与学生一起携手前行
一、通过游戏导入,让学生从已有经验认识回溯算法
与学生一起玩老鼠走迷宫游戏,让学生快速的进入状态,激发学生对本节课知识的探索。学生从玩迷宫游戏中总结走迷宫的技巧,学生很乐意思考怎样快速通过迷宫,通过大家共同分享走迷宫的秘笈,很快就会总结出行之有效的方法,而这一种方法就是今天我们要学习的内容回溯算法,学生对于他们自己总结出来的回溯算法就会很容易接受并且乐于使用这种方法来解决问题。
二、通过反复模拟走迷宫,让学生真正理解回溯算法
回溯算法对于小学五年级的学生来说还是比较困难的,在教学过程中我通过多次模拟走迷宫让学生一步一步的理解回溯算法。
第一次模拟走迷宫让学生画出正确的路线,通过画路线学生理解搜索方向的顺序性,从而对于回溯算法搜索路径的时候必需按照一定的规律来进行搜索有了直客的认识。
第二次模拟走迷宫学生知道了搜索方向的顺序后严格按照搜索方向一步一步的搜索,会发现一个死循环,在第7步和第8步循环走,从而让学生理解在使用回溯算法时一定要打标记。
通过前面二次模拟走迷宫学生已经对回溯算法有了大体的理解,在走不通需要回溯时我们要还原前一步的位置和方向,也就是说我们需要记录下每一步走的位置和方向,这需要通过数组来记录。所以我们再通过第三次共同模拟走迷宫把所有的标记打上,把所有需要记录的数据记录好,完整模拟走迷宫全过程,为学生完成完善程序练习,自己写出回溯算法程序打下坚实的基础。
其实在理解回溯算法的整个过程中,学生反复多次的模拟走迷宫,除了上面三次外,学生在做完善程序时他们也需要边模拟边填空,在说填空理由时也需要在模拟的过程中去寻找。
三、通过形象的比喻,让学生抓住递归回溯的关键
对于一般的回溯算法学生在应用的过程中总是会出一些小问题,在我的教学过程的最后会让学生读递归回溯,在读之前会让学生想一想回溯算法什么操作比较烦人,从而提示学生如果我们的程序像孙悟空一样,每走一步再变一个孙悟空那么我们就不需要那些复杂的数据记录与恢复了,学生很容易就会想到递归算法。通过一般回溯算法的学习,学生很容易就会理解递归回溯,他们在应用回溯算法的过程中也会更多的选择递归回溯算法,在学生写的程序中递归回溯算法的正确率高于一般回溯算法。
四、通过指导学生调试程序,帮助学生理清回溯算法的思想
在完善程序后和读递归回溯之后,在程序中增加一个打印过程printA,然后运行程序。在这个过程中既指导学生如何调试程序,又让学生在执行程序的过程中进一步的理解回溯算法。
回溯算法是一个重要的算法,学生在学习的过程中会遇到很多的困难,教师要和学生一起携手前行,帮助他们轻装上阵,引导学生快乐的前行,从而走向远方。