首页 专题资讯 少儿编程 正文

学编程?从这两个思维训练开始。

发布:2018-08-15 14:30 来源:PiPaCode在线少儿编程



编程语言虽说跟自然语言类似,但有一些本质的区别,如果不理解这些区别,编程所独有的一些们槛会把你挡在门外。读这篇文章,你并不需要懂得编程语言,只需要用一种开放的心态看待编程,尝试理解它的独特之处


变量 vs 替身




变量是学习编程语言时第一道标志性的认知门槛。因为在日常使用的语言中,所有句子中的词语都是既定的,你说了 「Great minds think alike」,这个句子不会变成 「Great mouse think alike」。但是在编程语言中,某些词语会「变化」。这种会变化的词语,叫做「变量」。


例如:想要写个程序,显示一周七天不同的早餐菜单。


我们需要有一个东西来代表「今天是周几」。可能性有 7 种,但是当下只有 1 种,比如今天是周五。那么需要一个「替身」,来限定它的「变身」范围是周一至周日,然后让它根据条件变变变…… 


这是对编程思维的第一个训练:

抽象:将某种类型、某个范围内变化的「实例」,抽象为一个「代号」。


变量的陷阱


1.变量命名


这几乎是一个终极问题…… 因为命名同时承载了占位符、运算对象、功能解释、类型暗示、作用域暗示 等等的使命,于是短了会烧脑,长了会烧眼……


2.理解成本


虽然程序是自己写的,变量是自己命名的,但是每一次回看程序时,都存在「翻译」变量名的隐性步骤,这个步骤消耗了很多认知资源,相当于脑子里面得有很多对牵线木偶,运行前是一个,运行后是另一个…… 尤其当程序长了以后,变量越来越多,记忆变量和管理变量都成问题,还容易犯看错变量名的错误。


3.怎样解决?


  • 定义函数时,想想它的用途和变化范围,写好注释。

  • 避免用三个字母以内的命名,使用那些一个月后再看,仍然能快速理解的命名。

  • 如果变量比较多,分一下组,或者动手画出它们的关系,帮助理清思路。


数组 vs 分格抽屉




替身虽好,但是有时候还是不好管理,执行命令起来效率有点儿低,因为同质性不够高(虽然替身都是人,但可能年龄、爱好、性取向、左撇右撇、甜豆花派咸豆花派等等都不尽相同)、以及没有按顺序排列。


于是我们需要一个更「军事化」的组织——数组。数组就像一个分格抽屉:




从外面看来,一个抽屉就是一个东西(里面能装很多东西);打开抽屉,里面是按照顺序放置的同一类东西,每一格都有位置编号(指针)。

这是对编程思维的第二个训练:


压缩:对同样的东西,折叠再折叠,收纳再收纳。


抽屉的陷阱


1.抽象


因为抽象,容易见抽屉而不见格子。写下数组太轻松 array [ ] ,但是一旦加入到运算中(尤其是循环),脑内演化就容易一团浆糊。



2.抽屉里面的抽屉


多维数组又是编程学习中一道难以逾越的门槛。每增加一维,复杂性成本增加。需要先辨别是哪个抽屉,然后再定位到抽屉内的单元。

小抽屉为大抽屉增加了多样性,一个抽屉放马卡龙,一个放铜锣烧,一个放益力多……


3.如何解决?


  • 克服对数组的心理恐惧,多使用这么简洁高效的工具。

  • 数组都是高浓缩占位符,占地小,内涵大,如果见到数组,可以自动脑补更大的空间给它。

  • 对循环语句中的数组尤其警惕,试着画一画逻辑关系。



一周排行
PiPaCode

PiPaCode,专注6-15岁少儿编程教育,是广州首家拥有少儿编程自主知识产权的科技教育公司,坚持走科技创新之路,秉承南粤羊城低调务实的精神,扎根广佛,砥砺前行,潜心研发适合中国学生的少儿编程软件和系列课程。已推出的课程包括:PiPa积木编程课,CodeMonkey闯关编程课,3D打印,Arduino,C++,Python人工智能,电子电路等科技课程。旗下有PiPaCode在线少儿编程和PiPaCode科技创客中心两大品牌,为推动中国孩子的兴趣培养、创新创造以及实践精神贡献力量。

联系我们

广东种子力量教育科技有限公司
官方网址:www.pipacode.com
服务电话:(020) 8925-5356
服务QQ:281753448
邮件地址:service@pipacode.com
总部地址:广州天河区天汇创意园314-315

扫一扫
官方服务号
课程购买
Copyright © 2018  让一部分孩子先看到未来   粤ICP备18025193号-2