huozm32831 |
2021-02-28 19:45 |
让孩子学编程,不是为了培养未来的程序员,而是希望通过这种学习训练,掌握人工时代最重要的一种必备技能——编程思维。拥有了编程思维,孩子可以更好地理解人工智能时代的运转规则,更从容地应对未来的讯息万变,编程的核心不是学会一堆知识,而是学会一种思维。少儿编程培养的是孩子的编程思维,未来,少儿编程也将成为举足轻重计算机语言,更是未来人工智能时代的“沟通”语言。
“编程思维”到底是一种什么样的思维呢?
编程思维是一种高效的问题解决思维方式,包含“理解问题—找出路径”的思维过程,由问题分解、模式识别、抽象、化模式归纳、算法设计四个步骤组成。通过这四个步骤,孩子学会把问题有效拆解,并且可以设计出解决问题的流程,将所有问题逐一解决。
(一)抽象化:聚焦关键
计算思维的实质是抽象和自动化,这和人脑的信息化加工模式有点像。生活中随处可见模式,发现模式的能力是可以锻炼的,最常见的方法就是找相同与找不同。在生活中,我们对一些事物的概念与印象也是在多次这样的认知中逐步形成的。抽象级别越高,越接近事物的本质,规律的适用面也就越广。
(二)分解问题:化繁为简
解决问题有两种常见策略:算法和启发法。所谓算法策略,就是在问题空间里中随机搜索所有可能的方法,逐一尝试,直到获取一种有效的方法解决问题。而启发法策略,就是人类根据生活经验,在问题空间内进行较少的搜索,就能快速问题解决的策略,它是一种凭借直觉经验与知识积累、省时省力、走捷径的方法。
机器擅长算法,而人类常用启发法,所以有时候人类会遇到一些问题完全束手无策,尤其当这个问题的界定不够清晰,不清楚问题的起始状态是什么,要到达什么目标状态,以及用什么手段和遵循哪些步骤到达想要的目标状态,即使拥有强大的算法也不能解决。所以,面临复杂棘手的问题,如果我们善于运用手段-目标分析(means-to-end)将问题界定清楚、化繁为简,就好办得多。简单来说,就是将问题按照一定目的,进行清晰界定和目标拆解,转化为一个个我们熟悉的简单问题或一个个更好执行、更好理解的小步骤,再逐个击破。这种思维,我们称为“分解思想”,它是编程和数学里重要的思想之一。
(三)算法设计:最优解与次优解
解决任何问题,都需要制订具体的执行计划。在给定有限的资源情况下,我们可能会设想多种可能性、规划多条解决路径与流程步骤,帮助我们更好地应对突发状况,增加目标实现的概率,甚至找到最经济最高效的最优解或次优解。对于计算机而言,这个过程,就相当于在执行指令之前设定好算法的过程。所以,这里所说的算法设计,主要是指根据前面几个步骤对问题的分析与理解,设计每一个关键步骤的多条路径与方法,最后一步步尝试最终解决整个问题的过程。当我们找到最优算法和最优解,甚至提前备好次优算法与次优解,在执行之时就可以风雨无阻、如有神助。
(四)模式识别:规律整合
人在观察事物/现象的时候,常常要寻找它与其他事物/现象的不同之处,并根据一定的目的,把各个相似但又不完全相同的事物或现象组成一类。这种共同的特征与规律,我们称为模式。顺序模式是按顺序排列所有项目(物品);分组模式是将相似项目(物品)分成一个组。人脑通过扩充模式库,对关键性特征快速匹配并触发认知判断,可以大大简化我们对世界的认识,把复杂的世界简化,从而高效处理信息。编程中的模式识别,就是找出不同问题中的模式和趋势(共同点)的过程,能够极大锻炼规律整合的能力,让我们能快速从以往的经验中,得到规律并举一反三以快速高效解决细分问题。
|
|