终身学习实验室与北师大实验小学合作的《计算思维》社团课程已经进入了第二学期。这学期的主题是“玩游戏,学编程”,有些家长可能不理解,“玩游戏也能学编程吗?
我的孩子在家经常玩游戏,如果能在游戏中学习编程,拿出玩游戏的劲头进行编程学习,这岂不是太好了?这课到底能学些什么呢?”带着这些疑问,让我们一起来看看课堂上的两个瞬间。
”1
第一个瞬间:LightBot

LightBot 是这学期第一个编程游戏,孩子们的编程任务是:编程控制小机器人行走,点亮地上的小灯。
首先我们要建立课堂与游戏之间的纽带,采用不插电编程的方式引入了程序纸片卡。

这可以很好的帮助孩子们控制进度、增进协作、引发更多思考,孩子用卡片在桌面上实现编程,老师帮助孩子验证。
【计算思维之分解与抽象】
本节课的子任务是学习“分支程序”和“循环”的概念。我们为了达到最终目标,可以把总体执行过程拆分成一个一个的可执行单元,这些单元是简单易行、可以重复使用的,我们把这些称之为“分支程序”。
主程序呢,当然就是完成这个任务的主要流程脉络,可以在主流程中把重复使用的小单元(分支程序)调用进来,进行使用,这样当分支程序是正确的话,主程序会变得简单,如果分支程序不正确可以单独去检查分支程序,而不会与主程序互相影响。
这就是计算思维中,特别重要的“分解”能力,把复杂的问题简单化!

这一游戏闯关任务主要考验孩子们“计算思维”中“分解”能力:把步骤分解到一个怎样的“适合的颗粒度”,能充分利用好 PROC1 和 PROC2,让程序尽量简洁又优雅。
孩子们看了关卡,开始在桌面上热火朝天的忙乎起来。一番尝试和讨论,各个小组基本都有了答案。

先看一组孩子的答案。

这是最常见的一种思路,根据地图,很自然的把蓝灯分成了四组,每三盏灯一组;把每组亮灯的动作作为一个整体,都放进了 P2(分支程序2);再在 P1(分支程序1) 中调用 P2,再加上组与组之间衔接的步数;最后在主程序 MAIN 中调用 P1 四次,Done!
【计算思维之算法】
“可是这还不是算法最优的那个程序!有没有可能程序更简洁?有没有可能主程序变得更短?,用最少的代码做最多的事情?”
孩子们特别喜欢迎接挑战,拧着眉头转着眼睛,大脑飞速运转。“可是从路线看,P1 必须要执行四遍啊……”
“大家看,P1 里调用了 P2 吧,那是不是也可以……”张老师稍微的暗示一下下。
“哦我知道了也可以调用 P1!这样执行完了 P1 就会再执行一遍 P1!然后再然后就循环了!”孩子的嘴已经跟不上大脑了。
--end--
声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。