相信不少家长,在刚接触到编程的时候,都会有一个大大的疑问——
“我家孩子连数学都学的一瓶子不满半瓶子晃悠,像编程这种逻辑性要求那么高的,TA学起来不更是大南门里种南瓜——难上加难么?
事实上,编程和数学之间确确实实有很多千丝万缕的联系。而且,悄悄的告诉你,即使你家孩子数学学的不好,通过接触编程学习,更是能帮助孩子在学习数学的道路上有质的飞跃。
①学数学,怎么就那么难?
那么问题来了,孩子学数学,怎么就那么费劲呢?
对于数学,有一个不得不提的现象,那就是——“掉队”现象。
简单来说,就是这个孩子明明在一的时候,可以轻松拿到100分的好成绩;但是一旦升入了,数学成绩却突然直线下降。从学有余力莫名变成了力不从心,仅仅就在从二变三的一瞬间...
好多家长就很纳闷了?这是发生什么事了?孩子学习不用功吗?还是说孩子在这方面没有天赋,以前成绩好只是因为简单?
其实这个问题说大也不大,说小也不小。
家长们可以理解为——到了,学数学就得用脑子去想了。
一,数学只需要记忆力就可以了,记住一些计算规则,拿到成绩轻而易举。
可是一旦进入,学习数学就开始需要逻辑思维了。也就是从这时开始,部分孩子因为思维逻辑水平不够,在成绩上出现滑铁卢。
随着学习的深入,需要的各种思维能力就越多。当思维能力跟不上所学的知识,自然而然就出现了距离。
更别提说像数学所需要的空间想象力;高中数学所需要的抽象、归纳、演绎等能力。
这就是为什么不少孩子,到了高中,明明很用功在学数学,但就是“不开窍”,看到试卷后面三道大题就直发愁。
原因就一个——地基(思维能力)未打牢!
②学编程,就是锻炼一种思维方式
学编程真正学习的是一种“编程思维(computational thinking)”:开拓孩子的逻辑能力、思维的缜密性、提高创造力,编程好的孩子对别的(比如数学、科学等)也都能触类旁通。
举个例子:
我们编个程序计算“1+2+3+…+100”。这个程序有两种设计方法:
一种是通过循环,让计算机先计算1+2,然后计算+3,接着+4、+5…就这样一直到+100,这样做99次加法就能得到结果了,这是一种思路。
但是还有另外一种思路,这是利用高斯算法,因为1+100=2+99=3+98,这些结果都等于101,总共有50对101,那么计算机只需要计算50x101就能得到较后的结果。
我们比较一下两者的过程,种方法要计算99次,而第二种方法只需要计算1次,你觉得哪个方法更快更好呢?
显然,正常人都选择后者。
因此,学编程的目的,不是让你计算出结果,而是要你用较优的方法得到结果,这才是学习编程的精髓。
所以说,学编程的核心是算法,是孩子的编程思维。
③编程&数学:你中有我,我中有你
数学思维是指够用数学的观点去思考问题和解决问题的能力。
初、高中数学教学课程标准中都明确指出,思维能力主要是指:会观察、实验、比较、猜想、分析、综合、抽象和概括。
但是,却有很多的学生基本都是死记硬背数学公式和概念,解题的时候也是生搬硬套,这也是为什么做了一道题却不会另一道同题型的题目。
这样学数学,不仅难度大,还容易让孩子失去对数学的学习兴趣和动力!
编程不一样啊,编程不是一个死记硬背的。
编程是为解决实际问题而生的,它的步骤可以简单地理解为:理解问题再解决问题。
数学也是解决问题,所以实质上,程序语言和数学语言是相通的,程序和数学都有内在逻辑推导的过程,学习编程非常有助于训练逻辑的推导能力,有利于更好地理解抽象的数学问题。
因为编程可以将很难的问题化为可视的,会动的画面。这就弥补了数学概念的抽象化。很多数学的概念,原理,公式,函数都可以用编程在电脑上体现出来!
所以说,不要再说数学不好的孩子不能学习编程了。
相反,当孩子在学习数学时遇到困难时,何不尝试着让孩子接触编程,学会将抽象的问题运用可理解可执行的编程思维去解决呢?
孩子通过编写程序解决问题的过程中,可以直观、具象化演绎数学问题的应用过程,帮助孩子从原理和本质上把数学概念吃透。