大数跨境

编程思维究竟是什么?为什么具备编程思维的小孩更优秀?

编程思维究竟是什么?为什么具备编程思维的小孩更优秀? 科乐维科技
2020-08-22
2
导读:我们一直强调,让孩子学编程,不是为了培养未来的程序员,而是希望通过这种学习训练,掌握人工时代最重要的一种必备技能——编程思维。拥有了编程思维,孩子可以更好地理解人工智能时代的运转规则,更从容地应对未来


点击上方“蓝字”关注我们 为孩子的未来多一份关心



 

每个人都应该学习电脑编程


因为它会教你如何思考



史蒂夫·乔布斯



 

2014年,英国已经把“编程”列入每所学校的必修课程,这就意味着每位5岁以上的孩子都必须学习编程。近两年,爱尔兰、西班牙、丹麦芬兰、葡萄牙、澳洲等国家也纷纷效仿,推行全国编程教育,儿童编程教育越来越受到重视。作为国家战略的重要内容,人工智能与少儿编程受到很多人的关注与青睐。

 

我们一直强调,让孩子学编程,不是为了培养未来的程序员,而是希望通过这种学习训练,掌握人工时代最重要的一种必备技能——编程思维。拥有了编程思维,孩子可以更好地理解人工智能时代的运转规则,更从容地应对未来的讯息万变。那么,“编程思维”到底是一种什么样的思维呢?

 


编程思维是一种高效的问题解决思维方式,包含“理解问题—找出路径”的思维过程,由问题分解、模式识别、抽象化(模式归纳)、算法设计四个步骤组成。通过这四个步骤,孩子学会把问题有效拆解,并且可以设计出解决问题的流程,将所有问题逐一解决。

 


01
分解问题:化繁为简


解决问题有两种常见策略:算法和启发法。所谓算法策略,就是在问题空间里中随机搜索所有可能的方法,逐一尝试,直到获取一种有效的方法解决问题。而启发法策略,就是人类根据生活经验,在问题空间内进行较少的搜索,就能快速问题解决的策略,它是一种凭借直觉经验与知识积累、省时省力、走捷径的方法。

 


机器擅长算法,而人类常用启发法,所以有时候人类会遇到一些问题完全束手无策,尤其当这个问题的界定不够清晰,不清楚问题的起始状态是什么,要到达什么目标状态,以及用什么手段和遵循哪些步骤到达想要的目标状态,即使拥有强大的算法也不能解决。

 

所以,面临复杂棘手的问题,如果我们善于运用手段-目标分析(means-to-end)将问题界定清楚、化繁为简,就好办得多。简单来说,就是将问题按照一定目的,进行清晰界定和目标拆解,转化为一个个我们熟悉的简单问题或一个个更好执行、更好理解的小步骤,再逐个击破。这种思维,我们称为“分解思想”,它是编程和数学里重要的思想之一。

 


编程的过程,就是把复杂和庞大的问题“自上而下,逐步拆解,直至理顺”。它是解决问题的基础,只有把问题拆解清楚,才有接下来实现的可能。正如Scratch之父Mitchel Resnick所说:“ 在学编程的过程中教孩子们学会拆分问题,这才是最重要的。”

 


02
模式识别:规律整合




人在观察事物/现象的时候,常常要寻找它与其他事物/现象的不同之处,并根据一定的目的,把各个相似但又不完全相同的事物或现象组成一类。这种共同的特征与规律,我们称为模式。顺序模式是按顺序排列所有项目(物品);分组模式是将相似项目(物品)分成一个组。人脑通过扩充模式库,对关键性特征快速匹配并触发认知判断,可以大大简化我们对世界的认识,把复杂的世界简化,从而高效处理信息。

 


编程中的模式识别,就是找出不同问题中的模式和趋势(共同点)的过程,能够极大锻炼规律整合的能力,让我们能快速从以往的经验中,得到规律并举一反三以快速高效解决细分问题。




举个例子


画100只猫


找100只猫直接临摹不就好了?

是否有其他方法呢?



看看电脑是怎样完成画100只猫的任务的:

1、对猫进行模式识别,发现猫的共同点:眼睛、耳朵、身体、尾巴、四肢.......
2、根据这些特点,建立起猫的“模式”,然后按照这个模式批量画猫。
3、每次变换一个局部特征,例如,毛发颜色或尾巴长度

绘制100只猫的任务轻松达成!

 


由此可见,善于识别模式,相当于擅长掌握、识别和运用套路,在经验库里搜索类似情境与解决方法,套用模式快速解决以前未曾遇到过的问题,将新问题变为小菜一碟的老问题。人脑在进行认知加工,就擅长用这种方式来节省资源,提高效率。因此,善于发现和总结规律的人,效率也特别高。

 



03
抽象化:聚焦关键




计算思维的实质是抽象和自动化,这和人脑的信息化加工模式有点像。生活中随处可见模式,发现模式的能力是可以锻炼的,最常见的方法就是找相同与找不同。在生活中,我们对一些事物的概念与印象也是在多次这样的认知中逐步形成的。抽象级别越高,越接近事物的本质,规律的适用面也就越广。

 


所以,抽象化,也称为模式归纳,在大量表面现象的模式中,寻找规律,归纳共性,找出最本质的模式,抽取最关键特征,忽略和过滤不必要细节的过程。通过认知问题的核心本质,帮助我们形成解决问题的构想。




举个例子


早起出门


对于大脑而言,早上起床出门上班,其实是一连串高度重复且自动化的流程事件组合,大脑只需要按照多年以来的习惯发出指令,并记住几个关键时间点要干什么,完全可以按流程自动化完成。



事实上,大脑非常喜欢用这种抽象、聚焦关键的方式,消耗最少的认知资源,高效地达成我们的行为目标,但有时候也会给造成一些无关紧要的小困扰:比如,到底有没有锁过门。当然这就涉及到其他认知成分的参与了。


编程中最关键的就是“抽象思维”能力,每件事物都有自己的主要特征和其他细节,如果我们找不出重点,就无法解决问题。抽象思维可以帮我们快速认清事物的本质,剥离出问题的核心,能在大量信息中抓住关键信息,提高学习效率。

 



04
算法设计:最优解与次优解




解决任何问题,都需要制订具体的执行计划。在给定有限的资源情况下,我们可能会设想多种可能性、规划多条解决路径与流程步骤,帮助我们更好地应对突发状况,增加目标实现的概率,甚至找到最经济最高效的最优解或次优解。对于计算机而言,这个过程,就相当于在执行指令之前设定好算法的过程。

 


而算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,代表着用系统的方法描述解决问题的策略机制。深度优先和广度优先是计算机编程中的经典算法。广度优先解决是最短路径的问题;深度优先解决最长路径问题。

 

所以,这里所说的算法设计,主要是指根据前面几个步骤对问题的分析与理解,设计每一个关键步骤的多条路径与方法,最后一步步尝试最终解决整个问题的过程。当我们找到最优算法和最优解,甚至提前备好次优算法与次优解,在执行之时就可以风雨无阻、如有神助。

 


而编程的学习和训练,让我们有机会模仿、掌握甚至内化计算机这种运用算法来解决问题的思维方式,优化工作与生活。总而言之,高速运转的人工智能社会,需要这套高效的问题解决思维方式。

 


当一个孩子有了编程思维

他将会有多大的改变呢?

 


我们做了这样一个实验,邀请两批孩子制作同一个“智能垃圾桶项目”时,他们的举动是这样的。

 

项|目|回|顾


不具备编程逻辑的孩子

将所有想法一股脑的进行堆积


  • 不会考虑整个项目涉及到哪几个方面,一来就用自己熟悉的编程语言开始编写程序,随便挑一个硬件,很快就完成了程序的编写;

  • 将已编好程序的硬件模块贴在垃圾桶上,此时会发现他使用的硬件不足以支撑这个功能,于是开始想解决办法;

  • 当智能垃圾桶的雏形初现,才开始思考怎么将乱糟糟的线隐藏起来,怎么美化作品;

  • 就这样一步步往前推进,不断遇到问题解决问题,直到项目完成。


具备编程逻辑的孩子

将项目分解为各种小模块


  • 整个项目分为外观设计和功能设计,并预见过程中会遇到的问题;

  • 关于外观,运用工程思维,如何设计的比较美观,如何设计能使编程更简单;

  • 而关于功能设计,实现该功能的逻辑是什么,适合该项目的编程语言是什么,选择什么类型的传感器。



当孩子有了编程思维之后,他们在思考问题往往更加全面且严谨。那么,具备编程逻辑的孩子在生活和学习中又会如何解决问题呢?

 

策划一次家庭旅行


首先,分解问题,将旅行任务分解成一系列小任务:订机票、订酒店、订餐厅、订活动等,之后逐个解决。当然,每个小任务还可以进一步分解,比如订机票可以分为选航班、确认人数、填写信息、确认付款等。当每个小任务都解决好了,这个复杂的大计划自然就完成啦。


 

面对复杂的数学题


当题目很复杂时,首先将题干和问题进行拆解,分解成多个小问题;分辨问题的“套路”,在大脑中搜索出对应的老问题和公式;理清思路,找到突破口,最终搞定。



遇到文科类题目


以作文为例,想把作文写得扣题有条理,也得规划好层次段落,列出提纲;调用大脑储备,想想可以用来丰富内容的例子、名人名言等;提炼想表达的中心思想,避免跑题,一气呵成。



一旦掌握编程逻辑

想不优秀都变难了呢!

 

不仅如此,编程思维的附加值你不可不知!拥有编程思维的人目标明确,善于利用资源,不会被困难吓倒,他们相信问题会得到解决,面对挑战也会更自信、更有勇气。


 “逃避”、“焦虑”、“迷茫”?

统统不存在!

 

究竟如何培养孩子的编程逻辑呢?
 
↓  ↓  ↓


加入科乐维,开启编程思维!


免费预约体验
长按二维码识别


关于我们



科乐维编程教育注重创新教育课程的开发与实施,长期与大中小学、职业院校及培训学校合作,设计开发个性化创新教育课程体系,具有专业的师资、设备、教材等。引进国外先进机器人设备,体验性强。同时在创客机器人方面起到创新引领的作用,校本课程应用于多所学校,相关工作得到教育部和北京市教委领导充分肯定及高度评价。


联系老师:

阮老师  13681272085(微信同号)

胡老师  15711433589

* 添加时请注明“我要学习”或“我要参赛”




声明:本文图片、部分内容来源于网络,如有侵权请联系删除。



扫 码 关 注 公 众 号

专业编程教学 专注服务教育

球分享

球点赞

球在看

【声明】内容源于网络
0
0
科乐维科技
科乐维教育共享中心
内容 229
粉丝 0
科乐维科技 科乐维教育共享中心
总阅读215
粉丝0
内容229