找回密码
 立即注册

一堂意想不到的数学(英语)编程课(编程课纪实)

1 点赞 作者: 胡老师英语 |2019-4-15 20:55 | 查看/评论: 413/28| 有效评论: 19

前言:
  好久没有发文章了,因为都挺忙的。非常感谢无猜这个平台让我得到了很多优秀的资料。作为回馈,我分享下我的英语编程课。我始终觉得只有把英语当做一个工具,才能让孩子们真正学好英语,并且掌握它。
背景介绍:
swiftplaygrounds是苹果公司推出的专门锻炼逻辑思维的编程启蒙游戏,通过游戏通关的方式让孩子掌握swift编程的基本知识。它与scratch猫抓编程, 或者是国内的编程猫等其他编程启蒙最大的不同之处在于,去除了浮夸酷炫的游戏效果,在类似于迷宫的立体实际环境中锻炼实际解决问题的能力。每个编程知识都会设定难度逐增的关卡。在层层递进的关卡中,循序渐进的学习相关编程知识。而且越到后面,每一关都会有好几种解决问题的方法,需要综合灵活运用前面所学的编程知识。
最后,经过不断的浴血通关战斗,学习者的逻辑思维会有一个质的提升,特别是对逻辑运算符的应用会相当的娴熟,这为以后正式学习swift语言或者其他编程语言打下坚实的基础。
今天我们讲下如何用数学知识来解决看似很难的编程关卡--随机宝石遍布各处。

9999.png

首先,我让学生们自己观察下这一关的特点,然后让他们说出观察到的情况。(几分钟后)

学生A说:这一关好诡异,每运行一次,宝石所在的位置都不同,而且每次宝石出现的数量都不样。
学生B: 怎样控制两个不同颜色的传送门,该用什么变量控制呢?
老师说:大家观察得都很仔细,问得也很好,我们知道单单用收集宝石到的数量无法控制传送门的状态(开或者关),那么  我们是否应该增加一个变量来控制传送门,并且在收集指定宝石后就让小怪物停止走动。
  过了10分钟同学们还是一筹莫展,个个眉头紧锁。
我就给了点提示,“大家试试用转身的次数做为变量试试。”
又过了10分钟,A同学已经做出来了,他很兴奋,赶紧拉我进去看他写的程序代码,“老师老师,我做出来了!”
我看了下他的代码,稍显冗长但是整体做得还不错,我就让他把代码优化下,原本他的代码如下:
If turnAround==1||turnAround==3||turnAround==5 {
           pinkPortal.isActive=false
           bulePortal.isActive=false
   }
If turnAround==2||turnAround==4||turnAround==6 {
           pinkPortal.isActive=true
          bulePortal.isActive=false
   }
因为这两种情况是相对立的,所以我建议他用if--else语句。
代码优化如下:
If turnAround==1||turnAround==3||turnAround==5 {
            pinkPortal.isActive=false
            bulePortal.isActive=false
}else {
           pinkPortal.isActive=true
           bulePortal.isActive=false
}
然后我问他,在这一关中最多出现8颗宝石,我们现在的方法只适用于最多收集8颗宝石,如果宝石数量是100颗,我们该怎么办?
同学们又陷入的沉思中,过了一会儿,学生B说:“我发现转身的次数是有规律分布的,13,5 和数字2,4,6, 分别是基数和偶数。那该如何用代码表达这种情形呢?
我看时间已经成熟,就和学生讲;B同学分析得很好,1,3,5是基数,2,4,6是偶数。我们可以用数学余数的知识把这个具体的解决方案宽泛化。
我们知道1,3,52除的话,余数是1,用编程的语言可以这样写turnAround%2=0(即余数不等于0),而2,4,62除的话,余数是0;所以当余数不等于0的时候让所有的传送门都关闭,否则就让它们开着。
具体代码如下:
If turnAround%2=0 {
           pinkPortal.isActive=false
           bulePortal.isActive=false
  }else {
          pinkPortal.isActive=true
          bulePortal.isActive=false
}
然后我和学生说,大家看这个方法适用性更广,代码反而更简洁了。同学们纷纷点头赞同。
学生C说;“老师,是否还有别的办法呢?”
我说;“当然还有更好的办法,但是大家先用步数做变量把这个关卡再通关下。”
底下的学生既哀嚎又兴奋的做了起来,看着他们那么投入,我感觉特好。
这堂课让他们明白:
1.只要对解决问题有帮助的因素都可以设定为变量。
2.用数学知识可以高效的解决编程的问题。
3.认识解决方案的局限性及如何把这个方案适用性更广
[size=21.3333px]完整解决如下:
[size=21.3333px] 随机宝石遍布各处-2-转身的余数规律.png
[size=21.3333px]

特别声明:本文由猜友胡老师英语整理(或原创),转载请务必注明出自两小无猜网,否则一律禁止转载!
分享到:
免花下载:关注猜网官方公众号【无猜小报 lxwc-kids
1、回复 “139”免费领取《粉红猪小妹英文版全集 Peppa Pig 全4季211集
2、回复 “480”免费领取《爱探险的朵拉全八季高清版
3、回复 “1101”免费领取《Little fox系列 160首英文儿歌 高清动画
4、回复 “759”免费领取《汪汪队立大功 PAW Patrol 全4季高清104集
5、回复 “578”免费领取《小鼠波波 Maisy Mouse 全106集动画+音频
6、回复 “222”免费领取《跳跳蛙 Leap Frog 全16集
7、回复 “501”免费领取《米奇妙妙屋 英文版全5季+剧场版
8、回复 “590”免费领取《字母积木 Alphablocks 全4季高清720P版
9、回复 “1356”免费领取《Raz-kids 1000多本绘本+音频

最新评论

noavatar
0 点赞 紫衫如花 发表于 6 天前
看不懂路过支持一下
noavatar
0 点赞 connic 发表于 6 天前
看着很好,就是看不懂
noavatar
0 点赞 阿曼达~阿曼达 发表于 6 天前
感谢分享好资源!
noavatar
0 点赞 霖郑 发表于 6 天前
非常实用的材料,感谢分享
noavatar
0 点赞 张富美 发表于 6 天前
感谢楼主分享好资源
noavatar
0 点赞 拉普拉斯变换 发表于 6 天前
感谢楼主分享好资源
noavatar
0 点赞 魔术 发表于 6 天前
谢谢分享好资源
noavatar
0 点赞 wx_77_NiZGn 发表于 6 天前
这个真的看不懂
noavatar
0 点赞 JIJQ 发表于 6 天前
谢谢楼主分享信息。但在哪下呢?
12下一页
快速回复 返回顶部 返回列表