乔布斯曾说,在学习编程的过程中,孩子会成为一个很好的思考者 ,掌握了计算思维与逻辑思维,不仅能用于计算机方面,甚至可以用于生活的方方面面 。 提到少儿编程的好处,绕不开对孩子计算思维的锻炼提升,那么这里所说的计算思维 是怎么一回事呢? 什么是编程? 在了解编程思维之前,首先要和大家说一说什么是编程。编程就是和电脑对话,用电脑能听懂的语言,告诉它我们想让它做的事情。 举个例子来说: 在做菜的时候,先思考要准备些什么菜,然后会思考这个菜怎么切,如何调整做每个菜的顺序,最后才是怎么做。 这个过程就运用到了计算思维,其实生活中很多简单的事情都能体现出计算思维 ,而少儿编程把这个过程更加清晰地展现给孩子 ,并通过不断的练习,使孩子掌握计算思维,最终应用到生活、学习的方方面面。 当孩子试着从电脑的角度去思考问题时,也就学习并锻炼到了我们常说的"编程思维"。 编程思维是什么? "编程思维"并不是编写程序的技巧,而是一种高效解决问题的思维方式。 "编程思维"就是"理解问题--找出路径"的思维过程,它由分解-识别模式-抽象-算法四个步骤组成: 编程思维的四个步骤 分解,把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。 模式识别,找出相似模式,高效解决细分问题。 抽象,聚焦最重要的信息,忽视无用细节。 算法,设计一步一步的解决路径,解决整个问题。 #01 分解——拆解复杂问题的能力 分解,就是把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。 假如孩子要为家庭出游做一次旅游规划。"全家旅游规划"听起来非常庞大、繁琐,而学会分解的孩子则会把这个难题拆分成几个容易解决的小任务——确立目的地、安排行程、预定机票和酒店、准备行李清单。 孩子在编程的过程中,就是在不断地训练他们把复杂的问题拆解、理顺的过程。这个过程是解决问题的基础,把问题拆解清楚,才有接下来实现的可能。正如麻省理工学院的计算机教授Mitchel Resnick所说:"在学编程的过程中教孩子们学会拆分问题,这才是最重要的。" #02 模式识别——发现并整合规律的能力 模式识别,就是识别不同问题的模式和趋势(共同点)的过程, 在我们的经验库里找出类似问题的解决办法,套用解决。识别的模式越多,解决问题的速度也就越快。 例如,如果需要画100只猫,你会怎么办?是找100只猫来临摹还是找出猫的"模式"? 对猫进行模式识别,我们会发现猫有这些共同点:有眼睛、耳朵、尾巴、四条腿……我们根据这些特点建立起猫的"模式",按照这个模式就能批量画猫了。不用每次画一个新动物,只需要变换局部特征(例如毛发颜色、尾巴长短)就能轻松解决。 这样看来是不是效率飙升? 在编程过程中,孩子一直在进行着这样的训练,当发现一些可重复的步骤,就会把它们整合起来,建立模式; 再遇到类似问题时就能让计算机套用此模式,快速解决。 #03 抽象——找出问题本质的能力 抽象,是指聚焦最重要的信息,忽视无用细节。 简单来说就是找到问题的本质,过滤掉其他无关紧要的因素。 例如,面前有一套房子,我们看到的是这样的: 但是在建筑师眼中,这套房子可能是这样的: 通过抽象,建筑师过滤掉对他来说无用的因素,找到了房子最重要的信息。 抽象思维高的孩子,能在大量信息中抓住关键信息,提高学习效率。 不论是在做语文还是英语的阅读理解中,抽象思维能力强的孩子总能很容易地找出关键句和中心思想,学习会更加轻松。 在编程世界里,包含"子系统、模块、包、类、方法和语句"等不同等级的抽象,孩子能够通过编程的学习不断提升聚焦关键信息的能力。 #04 算法——高效解决问题的能力 算法是一步步解决问题的过程。 根据前面对问题的分析与理解,设计每一步的路径方法,解决整个问题。在具体解决问题的过程中,最关键的是逻辑思维能力和调试纠错能力。 计算机程序需要很强的逻辑性,逻辑顺畅才能顺利运行。孩子需要遵循编程的规则,把解决问题的步骤转换成计算机能理解的语言。 在这个过程中,孩子的逻辑思维能力能得到很好地锻炼。 而调试纠错,就是当出现结果与预期不符时,需要找出算法之中的漏洞并解决。在编程练习中,任何一行代码出问题,程序都会出错无法正常运行下去。这时,孩子就必须要自己一步步执行步骤、梳理逻辑,找出问题并想办法解决。 这样的过程可以锻炼孩子的耐心和抗挫能力,让他以更加平和的心态面对挫折和失败,同时观察力和专注力也会得到很好的培养。 学习少儿编程,并不是为了从小就把孩子培养成一个程序员,而更多的是锻炼孩子的思维能力,其中编程思维作为人工智能时代重要的思维方式 更是需要从小培养掌握。 在编程的过程中学会分解问题——识别模式——抽象本质——运用算法最终解决问题 ,形成完整有序的问题解决意识,无论是学习还是生活,孩子能在各个方面应用这种方式,更好地把握自己的人生。