总有家长会纳闷:“孩子小学一二年级的时候,每回数学都能考满分,但到了三年级,立马就不行了。”明明和一二年级一样,还是认真听老师讲课,作业仔细完成,根本看不出和之前有什么不同的地方。但就是能明显感觉到,孩子学得很吃力,很费劲。这就是非常普遍的“三年级掉队现象”。 之所以有这种现象,究其原因,是因为孩子的思维能力跟不上。三年级开始,数学学科的学习方式跟之前一二年级时候截然不同。虽然孩子依旧刻苦用功,但不同的是,知识进化了。
数学,是人类的一种高级思维活动。随着学习的深入,就需要具备各种思维能力。但是当孩子的思维能力跟不上所学的知识,自然而然就容易出现问题。 培养孩子的思维,通常都需要借助以问题为基础的实际案例,然后引导孩子形成“发现问题→分析问题→解决问题”的思维模式。
而编程思维恰好拥有类似的思维模式:分解→模式识别→抽象→算法。 所谓编程思维,不是指编写程序的技巧,而是一种致力于有效解决问题的思维方式,也就是”理解问题、找出路径“的思维过程。 编程思维computational thinking由以下四个模块组成:
分解decomposition:把一个复杂的大问题,拆解成可执行、好理解的小步骤。
模式识别pattern recognition:根据经验找出相似模式,以此解决细分问题。
抽象abstraction:聚焦重要的信息,忽视无用细节。简单来说,就是找出问题本质,过滤掉其他无关紧要的因素。
算法algorithm:设计一步接一步的解决路径,解决整个问题。
让孩子从小接触编程,进行少儿编程课程的学习,不失为一个培养孩子思维能力的好方法。学习少儿编程的过程更多的是在激发孩子的学习兴趣,让孩子置身于轻松的学习氛围,同时还能收获编程思维的熏陶,促进孩子自身逻辑思维能力的提升。
逻辑思维与编程思维
逻辑思维,是学习编程思维带来的重要的能力。
在英国、荷兰、爱尔兰等国家推行编程教育的主要目的就是让孩子从小养成编程思维。因为编程思维能够帮助孩子理解问题、进行独立的逻辑思考,从而能够高效解决问题。
除此之外,逻辑思维的训练能让孩子习惯思考,在遇到困难的时候,孩子们就更容易自己想办法解决而不是向大人求助。
人人都需要养成编程思维
通过编程学习到的“化复杂为简单”的做事哲学,以及分析、解决问题的能力会让孩子们终身受益。
卡内基梅隆大学的Jeannette Marie Wing教授曾提出“人人都需要培养编程思维”:仅仅学代码是远远不够的,更重要的是培养孩子编程思维。 孩子在没有习惯逻辑思考的时候,思维是比较混乱的,具体就表现为急躁哭闹、没有耐心。但当他们学习了编程思维,习惯自己思考问题、解决问题后,自然会变得做事条理有序、游刃有余,要相信孩子们的学习能力是很强大的。
思维方式的转变
正如麻省理工学院米切尔·雷斯尼克教授所说:“当你学会编程,你会开始思考世界上的一切过程。”
没接触编程之前,孩子们通常比较缺乏信息调取及整合的能力。孩子们的思维就像是杂乱无章的衣柜,虽然充满各式各样的衣服,但是因为没有分门别类、整当孩子们学习编程、理解编程逻辑后,他们的思考过程会变得更有章法,孩子们会习惯用自己的“算法”去寻找答案。例如学会化繁为简去分解问题,学会规律识别提升做事效率,以及发现问题后及时给出改进方案,这些都是编程带给孩子们的改变。编程的魅力就是将多学科知识融会贯通,并不局限。
编程思维能打开通往学习世界的大门,提高孩子的学习能力。学习编程的孩子有更明确的学习目标和做一件事情的专注力,并且这些孩子在学习其他学科的过程中,也会思考怎样用有效率的方式达到学习目标,而带着问题去思考往往事半功倍。