计算思维在少儿编程课中的重要价值

计算思维在少儿编程课中的重要价值

2006年,卡内基·梅隆大学周以真教授首次系统性地定义了计算思维。这一年,她在美国计算机权威期刊《Communications of the ACM》上发表了题为《Computational Thinking》的论文,由此开启了计算思维大众化的全新历程。

到底该如何理解计算思维呢?
在《Computational Thinking》这篇论文中,周以真教授用“硬科学”的术语描述了计算思维:计算思维是运用计算机科学的基本理念,进行问题求解,系统设计以及理解人类行为。

也就是说,计算思维是一种解决问题的思考方式,而不是具体的学科知识。

在对计算思维的理解中,把编程当做计算思维是对计算思维的常见误解之一,但其实编程是一种行为,而计算思维则是一种思维方式。

但是两者之间是否真的没有丝毫联系呢?

答案当然是否定的,相反,计算思维是编程教育中一个重要的教学方式。

编程教育与计算思维
教育是顺应时代的产物,远古时代的男性需要教授孩子捕猎的技巧,那是为了生存;中国古代建立了科举制度,是为了选拔有才能的治国人才;

到了现代社会,人们身处信息高速发达的社会环境中,信息技术无处不在,对教育也提出了新的需求,社会需要具备综合能力的人才,孩子们不再局限于学习数理化生等基础学科,他们需要了解更多,STEAM教育顺应而生,它是一种更为综合、前沿的教育方式。

STEAM中s代表的是科学、T代表技术、E代表工程、A代表艺术、M代表数学。

而现在STEAM有许多载体,编程教育就是STEAM的一个重要载体。

  • 在2011年<小学信息技术课程标准>明确说明了小学生要使用简单易学的程序语言编制简单的程序控制机器人做出简单动作或解决简单问题。
  • 2016年新一轮我国信息技术新课标中也界定了计算机思维作为信息技术学科的核心素养要素应该重点培养。
  • 2017年印发的<新一代人工智能发展规划>,明确指出应逐步开展全民只能教育项目,在中小学阶段设置人工智能相关课程、逐步推广编程教育、建设人工智能学科,培养复合型人才,从成我国人工智能人才高地。
从上面的文件中我们可以总结出以下四点:

(1) 信息意识:学生要意识到信息是一个重要的资源

(2) 计算机思维:了解计算思维

(3) 创新能力:能够借助计算机的学习去融入其它学科的学习,并且在这个基础上作出创新

(4) 信息社会责任:每人在信息化社会中的都必须承担责任

对于编程教育我们要有明确的目的,从小时候就开始培养,以免让孩子走太多的弯路。

我觉得在儿童阶段学习编程的核心价值和主要目的有以下三点:

1.培养孩子对新事物的认知态度
认知态度:勇于去尝试和接受挫折的精神,懂得多方面了解事物。
2.培养孩子对机器的“亲切感”

对机器的“亲切感”:对计算机和机器人有一定的概念,知道他们的作用。

3.理解计算思维

计算思维在这里简单的说就是让孩子学会以电脑的思维方式去思考事情,也就是学会分解事件、分析问题、最后解决问题。

计算思维如何融入编程课堂
下面我会以一个小案例的形式跟大家分享一下,在课堂中编程教育如何融入计算思维。

在儿童编程中我们会使用基于Scratch的积木式的编程,这样可以让孩子更加容易的学习并且更加有趣。

课前准备

1. 一个符合学生水平的案例:

符合学生水平而且有趣的案例可以很好的开展课程。

2. 对案例要十分熟悉,做好会遇到各种提问的准备:

在课前要十分熟悉学生的水平,老师要会过滤学生的问题,选择必要的回答,这样可以减少学生的负担。

3. 专业词语的解释:

在课堂中会出现一些编程的知识点如序列、循环、条件等一些专业的知识。这个时候老师需要通过视频动画或者游戏让这些概念变得生动,让学生容易接受。

课堂中

第一步:趣味案例

我们需要从视觉、情景、声音、流行上去吸引孩子的注意力,一个好的案例就是开头。

在上课前我们可以展示一下这节课要学习的课程案例,比如这节课我们要学习的是《开心的panda》

类似于panda从很远的地方来到了遥远的森林这样一个故事性的开头,更容易吸引到孩子。

第二步:案例分析

在这一步的时候慢慢融入计算思维,一般来说,我们需要引导和培养孩子学会去分解一个新的东西。

下面我提供一个简单的方法去引导孩子更好的分析案例。

在上编程课的时候我喜欢将一个作品分解成两大类:素材和功能。

比如以上面《开心的panda》为例:

将素材分解之后,就能很清晰地看出每一个角色的功能,能帮助学生更好的理解。

第三步:学习编程知识和学会使用工具实现功能

编程工具的选择是第一步,对于孩子来说,积木块式编程是个是个不错的选择,比如我们的慧编程,操作简单易上手,很适合初学者。

接下来在使用编程工具来制作案例时,我们可能会遇到一些专业的词汇,这个时候老师需要使用比喻或者一些形象的动画来解释这些知识。

如下面关于循环的解释:

以种树为例,种树就是一步一步,不断重复地这样一个过程,通过现实的例子就可以很好地帮助孩子理解编程中的一些词汇和知识点。

第四步:在实现功能的过程中会出错

在编辑的过程中会出现一些我们意料之外的效果,这个时候我们要引导学生分析出现产生这个问题的原因,并解决。

比如上面这个我用慧编程做出的这个案例中,panda的腿虽然动起来了,但是移动得太快了,这是为什么呢?

如果你只是从宏观的方面来问这个问题,可能孩子并不能很好地回答你。

这时候就需要老师缩小范围,指定目标来引导学生思考:在刚才的编程中,我们是用哪个积木块来控制熊猫移动的呢?

这个问题学生都知道怎么回答了:用的是“移动”积木块,那么我们就可以通过修改积木块参数就可以解决这个问题了。

同理,增加积木块的问题也是这样,上图中的panda脚动得太快,那我们要怎样让他慢下来呢?

这个问题依旧太宽泛,我们也换一种更针对性的问法:panda的脚是用什么积木块来控制的呢?

我们刚才增加了一个“下一个造型”的积木来控制panda的脚,我们将这个积木放在了重复执行里面,由于电脑运行速度很快所以panda 执行这个指令的时候太快了,所以移动得很快。

所以我们使用控制模块中的“等待”积木,让学生尝试着去修改来解决问题。

通过上面两个例子,我们可以看出,计算思维的核心就是将一个大的问题分解成小的方面,将孩子的关注力吸引回这些小的问题上,先着力于一点,来引导他去思考问题。

课堂小结

课堂中通过老师的引导和学生的兴趣,慢慢的孩子在创作中就会习惯以这种方式去思考,在潜移默化中孩子就会理解计算思维。

现在的儿童编程课程都太快了,设计者把重点都放在了外在的表现上,忘记孩子内在的成果,其实大家不要忘记一点:“孩子学习编程不是为了工作,是为了以后更好的理解世界”

公益课答疑
Q1:只能通过编程学习计算思维吗?

基隆老师:这个当然不是啦,在生活或者工作中随处都能提现计算思维。其实在生活中我们在某些事上已经在用计算思维了,比如我们在做菜的时候,先想要准备什么菜,然后会想这个菜要怎么切,最后才是怎么做。

其实生活中很多简单的事情都能体现出计算思维,只要我们多留意生活,家长和老师都能够通过生活中的小事来培养孩子的计算思维能力,只是说编程教育更能体现这一方面。

Q2:孩子需要参加一些机器人编程比赛吗?

基隆老师:孩子参加编程比赛当然是好事,因为在比赛的过程中,孩子可以学到更多,不仅是技术知识上的,更是一种自信感的提升。

Q3:刚才听到你提到培养机器人的“亲切感”,那具体要怎么做呢?

基隆老师:我知道很多家长多会反对孩子玩电脑,但是想想我们明知道在未来计算机是必不可缺少的那我们这样做是对的吗?

在面对孩子玩电脑这件事上我们不能限制死他们,但是也不能太放任了。家长们可以有计划的给孩子们玩电脑。我见过有家长就会跟孩子商量好每晚或者每周有什么时候可以玩电脑,玩电脑之前必须要将什么完成。当然孩子在玩电脑的时候家长也要组好监督。

至于机器人的话,现在有很多这样机器人价格对于普通玩具来说也不算贵。家长可以买一个这样的机器人给孩子,让孩子在学习编程的时候也可以结合机器人学习。在这里我推荐makeblock的程小奔跑或mBot。

Q4:编程教育过程有个交流社区会更好吧?

基隆老师:当然,交流社区可以在一定程度上提高孩子的积极性和大大地提高他的成就感,刚好我们的慧编程作品社区已经上线了,是一个很好的选择。

总结
计算思维这个词在很多人第一眼看到时,可能就会觉得难以理解,但其实计算思维对于我们每一个人都意义重大,因为我们的生活离不开它。

计算思维可以运用在每一个人身上,甚至可以运用在任何地方,出行路线规划、理财投资选择、科学研究分析、天气预报预测等等,可能包括生活中一件件很小的事。

所以说家长和老师在很多时候通过我们身边的例子都可以来引导孩子去学会用计算思维思考问题,以小见大,自然而然地,他就能很好地理解并且融会贯通到其他方面了。

本文来源于慧编程第三期公益课,原文发布于公众号:慧编程mBlock(ID:mblockcc)

admin

该用户很懒,还没有介绍自己。