少儿编程培训_克乐思科技教育


咨询热线0571-56511555

  请选择城市
请选择您所在城市:

您现在的位置:主页 > 新闻动态 > 行业资讯 > 深度解读:当孩子学少儿编程时他们在学什么

深度解读:当孩子学少儿编程时他们在学什么

时间:2020-03-27 10:40:27   来源:少儿编程   关注度:19096

关于编程,市面上的各种少儿编程课,总是要先制造焦虑:“AI 即将大范围代替人类工作啦,你要是不懂得和计算机打交道的语言,怎么在未来世界立足呢?”

爸爸妈妈们一听焦虑了,赶紧给孩子报班。各种图形化编程、机器人编程,孩子们玩得很开心,家长看着也挺满意。

但也有善反思的家长会发现:好多编程课,和教孩子画出赏心悦目图画的美术课一个路数,关键是要有漂亮的结果能让家长发朋友圈,孩子到底从中学到了什么却很难说清楚,教育机构鼓吹的“编程思维”又是怎么一回事也很难体会出来。

一方面,我觉得教育机构所谓的“编程思维”没啥稀奇的,甚至根本不需要上编程课,在生活中就可以学到;另一方面,我写了二十多年程序、深感编程对我的思维有很多积极影响,也觉得孩子有机会学编程实在是一件很好的事。所以今天,我想和大家分享下家长在不焦虑不盲从的同时,如何能让孩子从少儿编程中汲取养分和快乐。

今天的分享会分三部分:

首先是我从教女儿,以及女儿学校二十来个孩子 Scratch 编程课的体验中,观察到的:孩子们从编程中学到了什么?

然后是我研究了部分商业机构的课程,对此的思考:糟糕的编程课是什么样的?

最后是我的一些建议:孩子到底要不要学编程、怎么学?

我的观察:孩子可以从编程中学到什么

先来说说孩子们从编程中可以学到什么。多数编程教育机构的宣传,都是说“编程思维”。我猜原因有两个:一是这个词比较容易唬住不懂编程的家长,二是它比较容易教,练几次“如果...那么...否则..."/"重复执行...直到..."等条件控制语句,就可以宣称孩子掌握了编程思维了。

但其实,孩子能从编程中提升的技能,远在编程之外。

一、探索的习惯

首先,是探索的习惯。

可能很多家长提到编程的第一反应是:我不会哎,要不要找老师来教呢?但请看看这些学编程的工具:

这是 code.org 里”我的世界“主题的编程一小时 (https://code.org/minecraft )。把中央的代码积木拖动到右边工作区,拼接成完整指令,指挥 Steve 完成一关又一关的任务。

这是 lightbot 游戏 (http://lightbot.com/ )。简单的几个指令,指挥灯泡小人行走及点亮灯泡。看着简单,但很多编程概念都包含在内了,甚至连重载(overloading)都有。

这是和 lightbot 同一家公司出品的另一款编程游戏 spritebox  (http://spritebox.com/ )内容更复杂一些。但对孩子来说,跟随着一步步引导,从开始最简单的执行一句命令,到后面相当复杂的多层循环和条件判断的嵌套,就像玩游戏一样,一关关闯下来就都会了。

如果下次你再听到有人把“如果...那么..."/"重复执行...直到..."当成编程思维推销课程的时候,请记住:这些内容,靠上面几个游戏,让孩子自己摸索,一定都能学会。

让我们再来看 Scratch。

Scratch 的界面要复杂不少,功能也多得多。其实 Scratch 自带非常好的教程,点击菜单中的“提示”就能看到,就是下图中右侧的内容。很可惜教程是版的,所以孩子也许还是需要一点大人的帮助。

我之前给孩子们上 Scratch 课,发现孩子们最喜欢做的事情,就是东改改西换换,换用一些别的代码块或者设置一些超大/超小的数字看效果。

比如我们做一个游戏,其中星星出现的时候要闪烁三下好让玩家留意到,我给出的程序和效果是这样的:


孩子们会做什么呢?他们会把大小变化设成1或1000,会把等待时间设成 100 秒或 0.01 秒,还会把重复执行设置成几十亿次。所以他们会做出这样的代码:

小朋友们觉得这样的极速闪烁非常好玩,一群孩子都笑翻了,纷纷跑到自己的电脑上去尝试。有敏锐的孩子会问为什么能同时看到大小两个星星,知识面广的孩子就回答说是视觉残留。

类似的场景,在课堂上还有很多。往往在孩子的一个“咦,这是什么,我来试试看”的疑问背后,可以引发出一长串的问题:为什么会这样呢?和你的预期一致吗?如果换成那个又会是什么样的效果呢?这个功能可以用来做什么?

Scratch是一个再安全不过的环境,最坏情况无非就是把程序重启重新开始,所以可以放心让孩子大胆尝试。美妙的是,每拼接一块积木,都可以点击运行马上看到效果,这反馈-修正的过程是非常迅速的,所以孩子能很顺畅的自行探索。

所以,我想表达的第一点就是:lightbot 等编程游戏,和 Scratch 图形化编程工具,都是再好不过的让孩子尽情探索的玩具。“我来试试看”的口头禅,是这些玩具能带给孩子的最宝贵的财富。

二、通过切身的体验学数学

计算机界的最高奖项是图灵奖,2003年的图灵奖得主 Alan Kay 有一个非常棒的 TED 演讲 A powerful idea about ideas (https://www.ted.com/talks/alan_kay_shares_a_powerful_idea_about_ideas ) 。在这个演讲中,你可以看到 9 岁的普通孩子孩子通过玩 OLPC 电脑上的软件,得出了“加速度”的概念。

Scratch 是 MIT 的 Meida Lab 创造的,在 Scratch 之前 Media Lab 还有 Logo 语言。你知道吗, Papert 发明 Logo 语言,其实并不是为了教孩子编程,而是为了给孩子一种适合他们的学习方法,用电脑来帮助孩子更好的学习。

Papert 在他的 Mind-Storms 这本书的序言 The Gears of My Childhood 中写到,他幼年时喜欢玩各种各样的齿轮,后来学数学轻而易举,他才发现玩齿轮的体验帮了他好大的忙,例如他会把二元一次方程想象成玩两个齿轮求齿的数量。他在书中是这么说的:

Logo 和 Scratch,其实是虚拟世界的齿轮,能帮助孩子们建构式的学习很丰富的数学知识。

举几个例子:

我最喜欢带孩子玩的是画图形。下面这张图是我给孩子们的第一堂用代码画画课的练习纸。指挥画笔重复执行往前走、旋转一定角度的命令,画出各种各样的图形。孩子们从中学到了什么?笛卡尔坐标系,角度,旋转一周是360度,3*120=4*90=6*60……才一年级的孩子乘法都没学呢,这些对他们来说却很容易理解他们也很乐意去学。

这就是我想说的第二点:通过编程,孩子们能获得很多关于数学的切身的体验,而这些经验有助于今后他们更轻松的学习数学。关于这一点,Tony Yet 写过一篇阐述 Papert 教育理念的文章 https://zhuanlan.zhihu.com/p/21841141  蛮值得一读的,推荐给大家。

三、工程化解决问题的能力

孩子们在依葫芦画瓢的开发了几个游戏后,总会想实现自己的创意,创作出自己的游戏。

这时候,你就可以引导他描述问题,把大问题一点点拆解成小任务,设计一条分步骤实现任务的路径,然后一点点的去实现它,不断调试根据结果一点点调整直到最终完成。

编程天然就是 PBL 式学习,在这个过程中,孩子的模块化思考、抽象思考、简化问题、寻找替代方案等等能力,都会得到锻炼。这种方式和别的物理世界的项目例如做木工活儿比起来,成本低廉还极其安全,所以不妨多练练。

不过这些能力对低年级的孩子来说还太难了一些,可以让他们先从看别人的项目、理解别人的代码开始做起。我的公众号里“读码探秘”栏目就是在做这方面的试验。

四、逻辑,算法

最后来讲讲逻辑与算法。编程,把我们很多思考问题、执行任务的过程显性的表示了出来。最基础的,有执行中的顺序、条件、循环,逻辑上的与,或,非。让思维变得可见,本身就已经对思考能力会有促进。

算法中有些非常有趣的东西。举一个最简单的例子:这是我带着三个孩子做平面版的“我的世界”,下面这一排是装备栏,最左边的那格是玩家手里当前的装备,是一把铲子。那一课的任务是要点击装备栏中任意一格,就把当前装备和这一格的内容交换。

一开始孩子们写的代码很简单:把a设成b,再把b设成a,不就行了吗

运行下一看,怎么两个都变成铲子了?冥思苦想想不出来。我用实物演示:左手一把尺子右手一支笔,要交换左右手的内容,手又太小无法同时握住两样,就必须先把一样东西临时放到桌上。这桌子,就是一个临时变量c。

一点点引导,他们终于得出了下面这个正确方式,学会了一个新算法:交换a和b的数值,需要一个临时变量c。把c设成a,再把a设成b,最后把b设成c,这样才行。我深深记得孩子们当时眼睛被点亮的样子。

这还只是最简单的算法。计算机世界有大量极其有趣的内容,都是很值得去了解的。

但为什么我会把逻辑、算法排在最后一位呢?因为去学这些算法、进行这样的思维训练,不一定需要通过编程。我们的生活中处处都有素材。

我女儿丢三落四总是忘了带课本和作业回家,我让她画了一张流程图,用到了顺序执行、if else和 foreach。

我们可以用回溯法来走迷宫,用二分法来查字典,有了决策树连晚上吃什么的争论都会少很多。

有一定的编程训练,有助于养成这样的习惯:对生活中的万事万物都问一句“它背后的算法是什么、有没有更好的实现方法”。

如果有相关计算机知识,也能更好的对生活中常见的事物给出具体的、有意思的解释,例如:商品的条形码是怎么回事?为什么会是三个角是黑块?为什么中间挡住了一块还是能够扫码扫得出来?

但这些能力提升的关键,在于思考,而不在于具体的编程。https://csunplugged.org/en/  这个不插电编程的网站上有非常丰富的资源, 国内有清华大学的终身学习实验室在做类似的尝试,我也正在设计一门三阶段的不插电编程教程,后续会在公众号放出。

-----------------

小结一下,以上是第一部分,我的观察——孩子们可以从编程中学到什么:

声明:文章来源于南瓜博士 ,作者Elfe

热点新闻/ hot news

快速通道

返回首页- 关于我们 诚聘英才- 场馆分布 少儿编程课程 蜘蛛地图 网站地图

二维码 返回顶部 克乐思二维码

关闭 免费领取试听体验课程