当他们想要跟孩子沟通解释这一切时,他们发现脑子里并没有太多与科技相关的知识储备或经验,更不用说代表未来的人工智能,抢在起跑线上的少儿编程了。但无论是国家政策, 会舆论,乃至学校,都在以不同方式传达:你们的孩子必须要学编程啦,要训练计算思维啦,不然会输在人工智能起跑线上啦等等诸如此类让人倍感焦虑的信息。但是焦虑并未改变现实,现在已经非常确定:不会编程,你的孩子在未来一定会比大部分孩子少一分竞争力。
虽然编程乍看上去晦涩难懂,但是橙叔从这几年少儿编程教育的经验里总结发现,绝大多数正在学习编程的孩子,他们的父母也不是程序员,也不懂什么人工智能,孩子却都学得好好的。原因在于少儿编程的核心目的在于锻炼逻辑思维,其次才是学编程代码。下面我们将从2个方面来指导家长,如何引导辅助孩子学习编程,从而有效锻炼逻辑思维,希望能对外行家长有所帮助。
1. 什么是编程?
2. 用CodeMonkey编程软件来学习编程入门
在不涉及任何专业知识的情况下,个人建议可以按如下3个要点向孩子解释编程。
1. 程序员和计算机
计算机不会自己动,需要有人编出程序控制它,这个人就是我们通常所说的程序员。所以首先你需要问孩子一个问题:“你知道程序员是做什么的吗?”这个时候,他们肯定会给出五花八门的回答,甚至会很接近你心中的答案。无论他们怎么回答,你都要给他一个赞。然后你告诉他程序员的定义:“程序员是编写计算机程序的人,他们知道如何编写程序,通过程序告诉计算机应该做什么。程序员非常了解计算机程序。”
然后,画一个正在工作的程序员,加深他们的记忆。
下一步是谈论计算机。你可以问他们:“你觉得计算机是什么呢?”这时候,几乎所有小孩都会指向家里的电脑,说这就是计算机。同样的,你也应该给他们一个赞。然后告诉他们,家里的电脑只是计算机的一种,我们用的智能手机、平板电脑、你们玩的游戏机,这些都属于计算机。然后,仍然建议你把你提到的计算机画出来,加深孩子的记忆。
2. 指令
1.
你需要先跟孩子说清楚,我们人类需要说计算机听得懂的语言,才能控制计算机为人类工作。这些语言就是指令。
2.
好,现在我们来做一个游戏,我扮演人类,你扮演计算机。我给你发指令,叫你干嘛,你就得干嘛。然后你让他向前走5步,再右转,再一直向前走,直到碰到桌子,就把桌子上的茶杯拿起来。同样,你也可以让他扮演人类,你来扮演计算机。
3.
在他扮演人类的时候,你可以提前给他布置一些任务,比如说“你现在控制爸爸,把桌子上的遥控器拿到厨房去。”然后让他一句句 出指令,你按照指令行动。
这个游戏可以直观的解释,何为编程语言(也指代码)。在这个游戏过程中,你需要自行设计多个场景,目的是告诉孩子编程语言的2大特点:
1.编程语言是非常具体的步骤。
“去桌子上把茶杯拿过来”这样的语言计算机是听不懂的,要转化为“向左转→向前走5步→向右转→向前走3步→端起杯子→向后转……”等这样具体的步骤。
2.编程语言是精确可执行的。
“去把空调遥控拿过来”这种语言计算机更加听不懂,因为一个房子里可能有3个空调遥控。你需要精确到,去把几 遥控拿过来,或是去把什么颜色的遥控拿过来,这样计算机才能执行你的指令。
多玩几次这样的游戏后,即便孩子还不能理解何为计算机语言,也能慢慢懂得何为逻辑思考,对于编程的正式学习是很有帮助的。
3. 程序架构
这一部分应当是最难解释的,其实就是一个程序的各种逻辑关系。我建议家长们可以举一个例子,打开一个视频 站,一定要是孩子最熟悉的,比如优酷。
先问孩子一个问题:“你们知道优酷上一共有多少部动画片吗?”这时候他们开始迷糊了,但也会有孩子喊道:“几百万个”或“无限个”。然后你再问他们,哇,这么多啊,那这些动画片平时都被藏在哪里呢?他们这个时候几乎都会犯迷糊。接着你再搜索孩子最喜欢看的猫和老鼠,继续问他们:“你看电脑多神奇,我想看猫和老鼠,马上就能找到猫和老鼠给我看,我想看第5集,马上就能看第5集。你猜这是怎么做到的呢?”
孩子这个时候应该都会沉默,不知道怎么回答。你就可以灌输他们数据库的概念了,我们的程序员把这些动画片都藏在一个叫数据库的仓库里了,只要我们连通了 络,一搜索猫和老鼠,计算机就能马上调出猫和老鼠给我们看。同样你也可以搜索哆啦A梦,熊出没等动画片。这里也要画一个图出来,便于孩子形象记忆。
解释完数据库后,你可以接着问孩子:“屏幕中这些播放次数101万、92.3万,猫和老鼠每一集的名字,还有最上面那些按钮和文字都是怎么来的呢?”这时候孩子肯定不知道回答。
家长不用做太多解释,我建议这样回答孩子:“我们看猫和老鼠用的是优酷,优酷就是一个程序,程序上可以放动画片,动画片被存放在了数据库里,数据库是由很多程序员一起用指令控制的。屏幕中的播放次数、每一集的名字,还有其他按钮都是另外的程序员用指令控制的,每一个像优酷这样的程序都很复杂,需要由很多程序员一起团结互助,才能控制好呢!”
最后你还可以跟孩子说下计算机硬件(这部分也可以不讲)
?鼠标和键盘是人们用来给计算机下命令
?电脑屏幕用于显示电脑的响应
?每台电脑里面都有一个处理器(你可以把它看成是电脑的大脑)
?还有一些磁盘供电脑存储信息
教孩子学编程语言反而简单。我们打算用CodeMonkey来辅助学习,学习CoffeeScript这门编程语言。在学习前橙叔必须要提醒家长:一个完整的应用程序,比如说“微信”APP,它是由复杂的程序架构、交互设计、成千上万的代码等等元素构成的,这个过程中,程序架构、交互设计这些是最难、也是最核心、最重要的,也最值钱,需要很强大的逻辑思维能力支持。相反,单纯敲代码就很廉价,这部分工作早晚会被机器取代。就好比造房子,建筑设计、造价、户型设计这些职能非常重要值钱,而搬砖砌房子的工人就相当于单纯敲代码的码农,很廉价。
我们孩子需要的是通过编程的学习来锻炼逻辑思维能力,这才是对小学生最为重要的。也就是说,少儿编程,核心目的是为了培养和锻炼逻辑思维,其次是学编程代码。因此,孩子在学习过程中需要搞清楚为什么要用这句代码,背后有哪些逻辑思考。
一. 认识CodeMonkey编程软件,学会使用它
我们先进入CodeMonkey的页面
CodeMonkey只能在电脑或者平板电脑上登入,打开浏览器,输入 址:
codemonkey.central-class.com。进来后点击“开始闯关”
CodeMonkey是以色列一款国民级的少儿编程工具,上至国家教育部,下至学生家长,都极为推崇,孩子们更是爱不释手。它采用游戏化闯关设计,学习门槛较低,很容易上手。孩子需要通过编写代码(Code),控制猴子(Monkey)吃到每一个关卡的香蕉。总共200关卡,由易到难,涵盖了循环、变量、函数、对象、数组等基础编程知识。
我们通过第3关,看一个小视频,简单认识一下CodeMonkey界面和基本工具的使用。
温馨提示:在1分11秒-1分20秒这9秒时间内没有声音,但是不影响观看,非常抱歉。视频时长7分2秒。
下面是图文版的(看完了视频就不用看图文版的了)
左边是草地,有猴子和香蕉。右边是代码区,就是我们输入代码的地方。我们每一关的任务就是要想办法通过输入代码来控制猴子把香蕉吃了。
除了草地和代码区,我们的界面上还能看到很多图标。图标其实就是我们可以使用的工具,如下:
尺子
用来测量猴子去达目的地所需要的距离。
使用方法:把鼠标放在尺子上,点击鼠标左键,拖动尺子放到猴子身上,量取猴子到目的地的距离
step按钮
让小猴向前直行一定距离,格式为:“step x” ,x为移动的距离,例如“step 10”。注意step和数字之间要空一格。
turn
让猴子转向不同的方向,例如“ turn left ”,”“turn right”。同样,单词“turn”与单词“right”之间也要空一格
CodeMonkey很容易上手,即便是零编程基础的家长,也能迅速学会,跟孩子一块闯关,一块学习。(当然,学到后面就需要专业老师来教)
二.编程五步学习法
掌握CodeMonkey的基本操作后,接下来就是200关循序渐进由易到难的编程语言学习了。CodeMonkey所学到的语言叫Coffee Script,它是程序员普遍使用的Java语言的转译语言,简单说,孩子们学完Coffee Script后,到了初高中可以无缝对接Java语言的学习,成为名副其实的程序员。我们常听到的比尔盖茨、乔布斯、扎克伯格这些大咖,小时候也是从一个简单的编程语言开始,一步一步成为大神的。
但是橙叔还是要再次提醒家长们,学习语言、代码不是我们的核心目的,我们一定要让孩子搞清楚代码背后的逻辑,要让他们学会思考。这样即便长大后不做程序员,这套逻辑思维也能让他们受益终生。我们在全行业率先提出并且一再强调:少儿编程,核心目的是培养逻辑思维,其次是学编程代码。
基于这种理念,针对CodeMonkey的特征,我们提出了编程五步学习法。一共200个关卡,每个关卡都可以按这五步进行学习,系统培养孩子的逻辑思维能力。这五步是:
1.思考路径
2.写出方案
3.选择最优
4.编写代码
5.执行修正
下面以第5关为例,详解这5步怎么操作
第一步:思考路径
图示是第五关的界面。我们拿到每一关,第一步一定是引导孩子观察猴子与香蕉的相对位置,把“小猴应该怎样吃到香蕉?”看做一个具体的问题。让他们在屏幕上比划,小猴能不能直接走向香蕉呢?中间的灌木丛小猴能不能穿过去呢?小猴是不是应该绕过中间的灌木丛呢?带着这些思考,让他们试着把路径都画出来,并生成几种方案。
第二步:写出方案
方案1:小猴从A走到B走到C。这是大多数孩子容易想到的解决方案,并且用到了我们在前面学到的“向左转”(turn left)、“向右转”(turn right)、“直行”(step x;x代表步数),最终能吃到香蕉,表明这个方案是可行的。在写方案的时候,一定要注意,“左转”“右转”“直行”每个动作都是独立的,要逻辑清晰,一步接着一步写,千万不要漏掉动作。这里方案可以按如下表达:
第1步:向左转
第2步:直行到B点
第3步:向右转
第4步:直行到C点
方案2:小猴直接走向B,貌似也不是不行。因为在现实生活中,猴子是可以穿过灌木丛的。有不少孩子在学习过程中会提出这一点,家长千万不要一口否定他,你也让他把方案写出来。方案可以如下表达:
第1步:向左转45°
第2步:直行到B点
第三步:选择最优
在上2个方案中,我们要去比较它们的优缺点,说出为什么选这个,不选那个。
方案一
优点:
①. 能用前面学到的代码实现,没有现实困难
②. 路径合理,能避开灌木丛
缺点:
①. 步骤太多,小猴走了好多路
方案二
优点:
①. 步骤少,小猴少走好多路,省时间
缺点:
①. 有灌木丛挡路,灌木丛在游戏里的设定是:此路不通
②. 转45°没法用代码表示出来,这个知识点在前面没有学过
③. 就算是现实生活中,灌木丛也很危险哦~
对比两个方案后,我们选择用方案1。
第四步:编写代码
再经过一番认真思考后,我们决定采用方案一。至此,“小猴应该怎样吃到香蕉?”这个具体的问题就已经被解决90%啦,接下来就是把方案变成可执行的代码去实现啦。这就好比是一个程序员团队做一个项目,拿到项目后,团队的领导们-程序架构师先头脑风暴给出解决方案,然后把方案扔给下面打代码的程序员,程序员加班加点把代码敲出来。
方案一的中文表达方式是:
第1步:向左转
第2步:直行到B点
第3步:向右转
第4步:直行到C点
转化为CodeMonkey软件所学到的代码(Coffee Script编程语言)就是:
第1行代码:turn left (向左转)
第2行代码:step 15 (直行到B点)
第3行代码:turn right (向右转)
第4行代码:step 15 (直行到C点)
把这4行代码输入代码区,就大功告成啦。我们试一下:
第五步:运行修正
在理想情况下,我们只要方案合理,编写代码细致严谨,到第4步就能成功吃到香蕉了。但是在多数情况下,我们总会出错,有时候是方案出错,有时候是代码输入的格式错误,导致最终吃不到香蕉或是代码运行不了。程序员在工作时,会花掉大量时间寻找Bug,Bug就是程序错误。所以写代码时养成细致、严谨的好习惯,并且多次运行代码,检查错误,修正错误是一个优秀程序员必备的素质,同样也是我们孩子在构建严密逻辑思维时必要的过程。
第一大错误,代码错误
①. 代码字母输错
像这样,你手误把向右转的“right”写成了“righy”,系统就运行不了,就会 错说“我不认识righy这个代码”。同时,请注意,错误的代码那行前面会有个红色的?,提示你及时修正。
②. 代码格式错误
像这样,turn right要像我们书写英文一样,单词与单词之间有一个空格,没有空格的话,系统也运行不了。同时,请注意,错误的代码那行前面会有个红色的?,提示你及时修正。
第二大错误,方案错误
像这样,方案错误往往是因为第二步写方案时逻辑不够严密,漏写了步骤或是写错了步骤,导致小猴吃不到香蕉,问题没法解决。一旦出现方案错误,就要回到第二步重新思考,再循环一次二三四五步。
最后橙叔再补充强调一次。这五个步骤“思考路径→写出方案→选择最优→编写代码→执行修正”是大多数优秀程序员团队和个人惯用的工作方法,也是职场精英的思维方式。这五个步骤中,每一步都非常重要,背后涉及严密的逻辑思考与反复推敲论证,我们孩子从小培养这种逻辑思维方式,对于他整个人生都受益匪浅。所以我想说我们家长在引导教授孩子学习CodeMonkey的过程中,要尽量去贯彻这五个步骤,千万不能为了闯关而闯关,一定要让他多思考多思考多思考,从小培养良好的逻辑思维习惯。无数例子表明,这习惯一旦养成,对他其他学科的学习也将大有裨益。
联合国教科文组织1974年把逻辑学
列入相对于技术科学的七种基础学科第二位,
重要性仅次于数学。然而中国的基础教育
中鲜有逻辑思考的踪影,这不免令人惋惜。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!