时下,少儿编程非常火热。网络上不时可以看到各类编程广告,前2天刚看到张泉灵、李开复等大咖都为某少儿编程培训站台代言,市面上各类机器人培训、少儿编程培训也是异常火爆。前不久,工信部推出了中国首个AI等级考试“青少年人工智能技术水平测试”。可见,知识焦虑已经由中年大叔蔓延到了下一代的少年儿童。
之前,有朋友问我会不会给自己儿子报编程培训?这个答案我目前不好直接回答,一是要看小孩有没兴趣,当然这个可以引导。二是要看有没有合适的培训机构,再好的东西如果没有好的教授者和讲授方法,小孩是不容易接受的。总的来说,小孩的培训应该在轻松前提下,加上兴趣的推动(至少不排斥),如果再能碰上良师+好友,那这个培训就是值得的。
少儿编程,通常针对的是6岁以上,12岁以下(即小学年龄阶段)的儿童。这个年龄阶段的儿童,已经有了基本的数理逻辑能力,是可塑性很强的群体。因此,单从年龄段上来看,少儿时期是培养逻辑思维能力的重要时期。
工具上看,目前比较适合少儿学习的工具是scratch。Scratch是一款由麻省理工学院(MIT) 设计开发的一款面向少年的简易编程工具。在2012年在中国得到普及,2013在上海举行比赛。针对 8 岁以上孩子们的认知水平,以及对于界面的喜好,MIT 做了相当深入研究和颇具针对性的设计开发。对于这款软件,我没有深入去使用过,仅在网页上做了粗粗的了解。
下面,我们通过一道少儿基础编程题,一起来感受下编程的简单乐趣。(家里如果有适龄儿童,可以引导着一起体验)
题目:交换两个变量的值例如:a 的值为10 b的值为1,那么交换后,a的值为1,b的值为10。这里假定a ,b为非负整数(为满足后续所有运算)。
方法1:借助一个中间变量“temp”,第一步:将中间变量的值设置为a;第二步:将a的值设置为b;第三步:将b的值设置为中间变量,如图所示。
对于特殊情况下我们还可以用其他的方法来交换。比如本题中a和b是两个数,我们可以用计算的方式来交换变量。
方法2:第一步,将a设置为a+b,此时a=11;第二步将b设置为a-b,那么b=11-1,b的值变为10;第三步将a的值设置为a-b,那么a=11-10,此时a的值为1,完成交换。
方法3:类似的,我们还可用乘法来做交换,方法与上方法二类似,这里不再具体说明。
实际上,从上面过程可以看出,不仅仅是方法2、3,即通过加减,或是乘除,只要满足可以做两个数正逆计算,都可以实现2个正整数的交换。
比如稍复杂的次幂、逆运算为log。
这一类的计算交换,实现的是同样的思想方法。
方法4:此外,还可以利用异或,仅使用两个变量进行交换,python算法参考如下:
b = a^b # b = (a^b)^b = a
a = a^b # a = (a^b)^a = b
这样就完成了a与b的交换。
可见:同一变量与另一变量和其异或值异或等于另一个数,如(a^b)^b=a。
怎么样,是不
是
感觉挺好玩?
如果觉得很easy,那么恭
喜你,多半是“程序猿”出身。
如果觉得马马虎虎,至
少可以看懂,那么说明你的逻辑思维能力基础不错,稍加练习可以应付自家小孩的教学。
如果不知所云,那要加加油了,千万别让下一代再输在起跑线。
*****************************
***Stay foolish, stay hungry. ***
*****************************
一站式自动化测试平台以及解决方案
本文分享自微信公众号 - 测试开发社区(TestDevHome)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4580821/blog/4363977