首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

虽然孩子长大不一定当“程序员”,但一定要培养“编程思维”!

每一步,与世界同步

近年来,培养孩子编程素养的话题越来越受到关注。卡内基梅隆大学教授认为它是每个人的基本技能,与阅读、写作和数学同等重要。斯坦福大学不仅强调编程的重要性,还提出重在培养编程思维。编程思维到底是什么?可以通过哪些途径培养?资深“码农”T妈介绍了她的经验。

说到编程,我再熟悉不过了,T妈我本科和研究生读的都是计算机专业,算上后来工作的那些年,可是当了将近20年的“程序猿”啊。不过咱们那会儿的“编程”至少是高中以后的事,可完全不像现在这样,已经大摇大摆地走进了小学、幼儿园。

少儿编程这几年在美国不能仅仅用“热”来形容,之前奥巴马还在各个编程大会中狠狠地倡导推动了一把,现在已经不用再推了,因为它基本上就像阅读、数学一样,成为孩子的一门必修基础学科。很多比较好的学区从小学低年级,甚至学前班开始就开设编程课,各种课后兴趣班、编程俱乐部也非常火爆。就在我写这篇文章的时候,还正好看到小区邻居在朋友圈里贴了她家儿子今天上编程课的照片:

另一朋友前几天也分享了和孩子在家玩编程桌游的场景:

有同学可能会纳闷,为何编程对孩子这么重要呢?我可不想孩子以后当“码农”,甚至可能都不会读理工科啊,那还用得着学编程吗?

少儿编程更多的培养的是一种“思维能力”

这得从2006年,卡内基梅隆大学的Jeannette Marie Wing教授所提出的“人人都需要培养编程思维”说起。她认为,编程思维是每个人的基本技能,不该仅属于计算机科学家,在阅读、写作和数学之外,我们应当将编程思维加到每个孩子的培养能力之中。

2013年,斯坦福大学教育学院网站上的一篇文章“Learning to code isn't enough”(“只学写代码是不够的”)再次强调了少儿学习编程的重要性,不仅仅是要学写代码,更重要的是培养编程思维。

那究竟什么是编程思维呢?

其实它跟我们平时所说的“批判性思维”、“逻辑思维”类似,都是指人脑的某种理性思考活动。但它远比这些思维的含义宽广,编写一个计算机程序,跟做一道菜,完成一个项目,管理一家公司,甚至于治理一个国家,本质上都具有相同的目标——就是要解决问题。编程过程培养的思维林林总总,比如:

A - 框架设计思维

写一个软件,需要先做设计,搭架构;写一段程序,也需要有个大体框架,这种高屋建瓴统筹规划全局的思维几乎在任何的学习、工作项目中都要用到;

B - 大问题拆解思维

一个复杂的问题,看起来千头万绪没有思路,编程者需要把它拆解成一个个简单的问题,再逐个击破。这跟我们生活中很多事情是类似的,比如孩子策划一个生日派对,听起来是个很庞大的任务,但只需要“拆解”细分,比如分成确定邀请多少客人,买些什么食品,派对上些什么节目……这样就好办了。

C - 函数思维

编程者通常会把那些将会被重复使用到的运算过程先编写并储存为函数,需要时就直接调用,根据调用的场景、前提条件不同相应地改动输入参数即可,不用每次都重新编写。我们平时工作、生活中经常会用的模板,其实就是应用了“函数思维“,需要时直接拿出来用就好,不用每次都从头开始,“白手起家”。

其他还有很多,比如抽象、循环、并发……我就不一一列举了,总之,最重要的,具有编程思维的人,能够将一个问题清晰具体地描述出来,并且通过收集、分析数据来理解和思考问题,并将问题的解决方案表示为一个信息处理的流程。简单说,培养孩子的编程思维就是培养他理解问题、找出解决问题路径的能力。

说得再远一些,良好的编程思维在我们未来的“人际”交往沟通中也相当重要。

首先,程序是一系列告诉机器做什么、怎么做的指令,可以说是我们和机器之间的沟通语言。在不久的将来,我们和机器打交道的情况会越来越多,甚至,人和机器的“界限”也会越来越模糊。

不知道大家有没有留意到最近的一则新闻,特斯拉电动车的创始人Elon Musk马斯克跟合伙人正在研究一种叫做“神经织网”的技术(Neural Lace Technology),它将通过电极植入大脑的方式,让人们可以随时随地与电脑链接并上传下载任何信息。

想象下人工智能AI和类似这种技术成熟后,咱们可能根本都搞不清隔壁老王,或者同事小赵究竟是纯人类,还是机器人,还是植入了什么电极、芯片的“半人半机器”生物。而在相互的交流沟通中,良好的编程思维能让我们更加清楚对方的表达和接收方式,知己知彼。

可别觉得玄乎,相信这一天不会太久,想当年我们读大学的时候还是每周末排着队等IC电话打给家里呢,现在大家甚至连电话功能都很少用了。我对科学技术革新的速度还是充满信心的。

总之,无论是把握当下,还是放眼未来,孩子们的编程思维培养都非常重要,它完全有理由成为一门必修课程。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201010A092XC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券