一、活动目标
通过一系列有趣的游戏,让学生理解深度优先算法回溯策略的代码框架,理清回溯策略的执行过程,并能在小数据范围内推演策略的执行过程,激发学生对搜索类难题的学习兴趣,提高学生的实际问题建模能力。
二、活动游戏列表及规则
1.素数环
2.走迷宫
3.八皇后
4.棋盘跳马
三、纸上推演
给出小规模数据,依据规则在纸上进行推演,使学生更加理解规则的执行,并为计算机实现做出铺垫。
图 :学生四皇后推演草稿
四、活动图文集
活动由指导教师陈晓伟主持,首先引导学生纸上推演熟悉游戏规则,感受深度优先搜索算法回溯策略的奇妙。之后由陈老师讲解回溯策略的代码框架,使用计算机编程解决此类问题,引导学生学会建模并尝试用代码解决问题。
在大部分学生能解决至少一个问题之后,由学生讲解自己的想法并展示代码及执行结果,大家讨论补充,以弥补自己的短板。
图 1:指导教师陈晓伟讲解解题流程及代码框架
图2:学生尝试自己编写并调试代码
图3:由学生讲解并演示代码
图4:学生们认真聆听同学的解题思路
五、成员感言
邓宇坤:通过本节课学习,感觉应该习惯在纸上进行小数据规模推演这种做题方式,这种方式对于规则的理解,测试数据的来龙去脉有很大的帮助,比一开始就上机要效率高得多,用推演的方式理解了解的空间及产生式系统,再上机实现顺理成章。
宋鲁豫:本次活动,是本学期所进行的所有活动中最有意思的一次,平时就对游戏比较感觉兴趣,但对游戏是靠什么算法实现的没有概念,本次活动之后可以尝试利用深度优先搜索算法加回溯策略设计一个算二十四点的小游戏。
魏凡熙:虽说游戏很有意思,也学会了用深搜和回溯解决问题,但背后却付出很大的努力,在解题的过程中有山穷水尽的困惑,也有柳暗花明的惊喜,有过唇枪舌战的辩论,也有相互鼓励的安慰。与其说是体力和脑力的作业,不如说是它是合作精神和毅力的考验,在这次活动中,我不仅学会了很多知识和技能,更重要的是学会了如何运用所学知识去解决实际问题。