“吃完的螃蟹壳不要扔,裹上一层黑科技,摇身一变‘火星车’,完美的馋哭隔壁小孩。”螃蟹?火星车?一个在海里,一个在外太空,八竿子打不着的东西,是一种怎样的奇妙的跨界组合?前些日子,看到.........
“吃完的螃蟹壳不要扔,裹上一层黑科技,摇身一变‘火星车’,完美的馋哭隔壁小孩。”螃蟹?火星车?一个在海里,一个在外太空,八竿子打不着的东西,是一种怎样的奇妙的跨界组合?前些日子,看到“天问一号”中国火星探测器发射成功,B站up主稚晖君激动的打开了脑洞:
用螃蟹壳做一辆火星车应该会很有趣很酷吧?一个周末的时间,在芯片、电路板、太阳能电池板等硬件装备加持下,螃蟹火星车就这样诞生了。
别看这螃蟹车其貌不扬,它却是集电路、模型、加工、软件、算法等于一身的高科技产品。
WiFi无线图传、远程控制方向;激光测距,限定目标距离;内置惯性传感单元……要知道,这些都是一辆真正的火星车所具备的功能和软硬件。
更惊喜的是,这辆螃蟹车还有AI功能加持,实现人脸开车!随着人脸的转动,车子的行驶方向也发生改变。
随着视频传出,“螃蟹火星车”在B站火了,稚晖君拥有50万+粉丝也顺利出圈。粉丝们不仅折服于他的才华,更是忍不住效仿他的作品。
就连各大媒体也纷纷被吸引过来,竞相报道这个优秀而有趣的科技少年。原来,在这个时代,科技少年也可以像流量明星一样受到喜爱与追捧。
有趣的灵魂万里挑一
所谓“外行看热闹,内行看门道”。稚晖君的作品究竟厉害在哪里呢?一位专业网友表示:
“其实有些东西吧,外行看起来很牛,但其实我这种内行看起来,还是很牛。”
稚晖君的“螃蟹火星车”就是这样一个在内行人眼里,也同样很牛的东西。其实,细数稚晖君的成长经历,他算是半路出家,从生物系转行到编程的。在他看来,学编程和学英语一样,是这个时代特别基本的一项技能,是一门研究“怎么高效地解决问题”的。从小时候学会拆家电开始,稚晖君就爱上了编程等相关知识。大学阶段入门了模数电、单片机、Linux、自控原理之类的课程之后,他就彻底开始放飞自我了。
大多数人对技术宅的刻板印象可能都是“木讷”、“无趣”,但他就是这样通过一个个作品,证明技术宅也可以很有情趣、很受欢迎。王小波说过:“趣味是感受这个世界美好的前提。”打破对技术宅的偏见,会编程的少年,大抵背后都藏着万里挑一的有趣灵魂。
科技时代的“名利场”宠儿
没有人不喜欢有趣的灵魂。稚晖君毕业后在OPPO上海研究院成为一名AI算法工程师。
科技时代下的名利场,会编程、懂技术的少年是当之无愧的宠儿。稚晖君绝不是特例。
人才,是科技的命脉。
而就在前几天,新一批的“华为特别高档天才少年”冲上热搜,这批天才少年,全球仅4人。
网友们看后都不淡定了:“你看,我还有机会不?”当然有机会,优秀人才的价值,远非名利可以衡量。掌握科技时代所需的能力,才能让自己成为无价之宝。
无价之宝的少年,都会一种思维
那么,名利双收的背后,需要掌握的能力是什么呢?
就像很多家长认为“技多不压身”,把孩子送去不同的兴趣班学各种知识,但稚晖君表示:知识面一多之后,很难面面俱到,要学会拎清楚重点。但知识是大体相通的,在不同之间的迁移学习可以带来事半功倍的效果。
通过编程学习,稚晖君习得Problem-Based Learning的思维能力,就是以问题为导向的学习,通过融合多知识,寻找解决问题的方法和答案。
通俗点说:学习编程的过程,可以培养孩子的思维能力!
因为编程有几大关键性步骤!
拆:化繁为简
化繁为简,这四个字很容易理解,不过不容易做到。
很多时候我们看到一个难题的反应会是:
天啊,这么大的事情我一个人怎么完成哦。我不知道我不行我做不到。却不知道将问题分成一个个能力之内、力所能及的小事情。这一点很多人都需要跟愚公学习。
愚公移山的故事大家肯定都知道,一个想依靠人力将王屋、太行两座大山搬移开来的老头,在很多人看来愚公是十分的痴心妄想。
就像隔壁家另一个老头所说,这是非常愚蠢的做法。
甚矣,汝之不惠。以残念余力,曾不能毁山之一毛。——《愚公移山》智叟,语
但是换个角度来看,愚公其实是一个很懂得编程“化繁为简”的思路。
他并不把王屋太行当做两座难以逾越的大山,而是把他们看成一筐筐的土石,一点一点的搬移,总能清除掉的。
虽我之死,有子存焉;子又生孙,孙又生子;子又有子,子又有孙;子子孙孙无穷匮也,而山不加增,何苦而不平?——《愚公移山》愚公,语
以游戏编写为例,对于新手来说哪怕是特别简单的游戏贪吃蛇,想要编写成功也是件不小的难题,可是如果将这个问题拆解开来,我们需要做的事情是,设定输入方式和反应方式。
根据游戏特性,贪吃蛇没吃到食物时继续游动,吃到食物后会变大,撞到墙会死,撞到自己没事。
然后我们在设计程序时将这四种分开,针对一种情况设定游戏,比如“贪吃蛇吃到食物”:
贪吃蛇张开嘴巴→食物被吃掉→贪吃蛇闭上嘴巴→贪吃蛇身体长大一截。
另外几种情况也依次分解,那么这个复杂的问题看起来也就没那么麻烦了,不是么?
同时,在这个过程中,孩子能亲身到“条分缕析”“有条不紊”的真正含义。
整:发现整合
任何一个程序中都不是相互分割无关的数据组成,相反,一个程序中会存在很多“重复”内容。
比如,贪吃蛇中的“吃食物”动作,一个游戏中贪吃蛇会吃到很多次食物,这也就是前面说到的“重复”。
编程过程中,孩子需要一直做这样的训练,发现程序中会一直持续的动作,然后将它打包起来,让计算机自己重复,以提高编写效率。
这一点,类似于数学中的“合并同类项”计算题。
3ab-4ab+8ab-7ab+ab=(3-4+8-7+1)ab
只不过相对于数学的单一,编程的趣味性更强。学会利用这一点,孩子就能学会整合讯息的能力。
因为整合并不是简单相加,而是对现状的优化,也是推陈出新的方式之一。
析:逻辑解读
其实编程也是 一种语言,只不过和人与人之间沟通不同的是,这种语言是人与计算机的沟通。
理性、严谨是计算机的特性,所以与它对话的语言也必须是理性的,严谨的,不能出半点偏差的。
仍旧以贪吃蛇游戏程序为例,如果某处思考出现漏洞,游戏过程中就可能会出现“贪吃蛇撞了墙没死”或者“贪吃蛇吃到食物没有变大”等bug,那么这就是一个失败的游戏程序。
因此,学习编程,就是在对孩子的逻辑思维和逻辑判断能力进行训练。
当然,不是每一个学编程的孩子都能成为“天才少年”,都能获得众人艳羡的名利。但至少不能让我们的孩子,对科技时代需要的思维能力一无所知。
小班教学,思维导图教学法,免费试听