用生活中的小场景——做饭来举例子,我们可以先将活动分解成“买菜”“洗菜”“做菜”三个任务来分别解决,而其实每一个小任务又可以进一步分解成不同的小任务来解决。层层递进下来将每一个小任务都解决好了以后,“做饭”这个问题也就可以轻松解决了。
在这里,我们必须将*个步骤里分解的问题汇聚起来,搭建成一个框架,再往里头装东西。还是用做饭这一行为来举例,将三个任务依照时间顺序排列,再去深挖每一个任务里的行动细则,更容易避免疏漏和手忙脚乱,提高解决效率。
这个步骤,我们得*断舍离,剖出问题的核心,将很多没有必要的细节模糊化、删除掉,减少浪费,拉高效率。
还拿做饭的场景做饭来举例子。假设今天家里要来客人,我们会在做饭之前根据客人的口味考虑到今天的菜式。然后问题来了,需要买哪些材料?材料要怎么处理?这些都是需要解决方案的。
而计算思维,正是解决方案的设计核心。
比如说,在买菜这个环节,货比三家后,主妇选择了更新鲜,性价比更高的摊位购入蔬菜,就是“在线算法”;
在走出市场的时候发现还有没有买的食材,根据刚刚走的路线回忆和寻找合适的店家购买的这个行为,就是计算思维里的“回推”;
当然,对于不从事计算机行业的普通人来说,这些行为用另外一个说法更好理解——社会经验。
在人工智能时代迅猛前来的现在,让孩子学习编程,显然不是单纯为了让孩子学习算法、代码,而更多地是在培养孩子丰富而科学的思维方式。
同时,在日常的生活当中,也能够自觉或无意中运用科学思维解释身边的现象,解决身边的问题。
简单来说,编程其实就是发现问题,想办法解决问题,从而实现目标的过程。
也许不少家长会觉得,少儿学习编程能锻炼逻辑思维能力、提高学习效率的说法太过空泛。
但当我们面对复杂繁琐的步骤头疼不已时,编程锻炼出来的思维方式能够高效地将问题化繁为简,这就是编程之所以不仅仅被广泛应用到各行各业,还进入了中小学课堂的原因。