资讯中心 Info
当前位置:酷叮猫 > 资讯中心 >
孩子学数学就可以锻炼思维,为什么还要学编程?
发布日期:2022-05-11 10:08:31 阅读次数:1

我们都听说过这样一个故事:数学家高斯在三年级时候,老师要求从1+2+3开始一直加到100,得出的和是多少?

其他同学都费劲地一个数一个数的加,只有小高斯注意到了这些数可以两两配对,相加和为101:
1+100=101
2+99=101
......
一共有50对,最后的和可以用乘法来做:(50X101)=5050

很多人都拿这个来验证孩子的数学思维能力,殊不知,高斯的上述解题思路充分体现了编程思维中的拆分和模式识别。

那么有的家长就会问了,学数学就可以锻炼思维了,为什么还要学编程?

首先,数学对思维的锻炼毋庸置疑。

来看几个典型的小学数学题:

1、鸡兔同笼问题

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

2、一个水池有一根进水管,一根排水管,只打开进水管,需要15分钟放满水池,只打开排水管,放完水池里的水需要8分钟。现在两个水管同时打开,问多久能把水池放空?

数学数学就是关于数的学问,它最显著的特征就是题目中有数字,通过已知,求解未知,需要调用人类思维中的精华总结——公式&定理,简单的像九九乘法表,复杂的比如函数的图像与性质。


很多题目设计的目标就是考查孩子们能否灵活运用所学公式和定理,它们是宇宙终极真理,过一千年也不会过时。未来如果研究复杂问题特别是做科学研究时,数学思维会非常有用。

其次,为什么要学编程呢?

编程是一门为解决实际问题而生的学科,孩子们需要编写计算机能搞懂的指令,让它来帮我们工作,它对思维的训练更接近日常的思维方式更加基础和普遍。


1、编程怎么锻炼思维?

编程思维本质上是我们解决问题的一种方法,是逻辑思维的一种,就是利用我们已有的知识和工具,将自身的思路转化成逻辑运算的步骤,从而完成复杂的任务。

编程思维一般需要经过这么几个步骤:

1、分解(decomposition)把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。
2、 模式识别(pattern recognition)找出相似模式,高效解决细分问题。
3、抽象(abstraction)聚焦最重要的信息,忽视无用细节。
4、算法(algorithms)设计一步一步的解决路径,解决整个问题。

有编程思维的孩子,数学不会太差。以小学口算为例:

它能运用在任何事情上,可能你并没有意识到,比如记忆电话号码:

通过这四个步骤,一个复杂的问题先被拆解成一系列好解决的小问题→每一个小问题被单独检视、思考,寻找解决方案→聚焦几个重要节点,忽视小细节,形成解决思路→设计步骤执行→问题解决。

所以,所谓“编程思维”并不是编写程序的技巧,而是一种高效解决问题的思维方式。

2、数学不好,能不能学编程?

由于编程的核心是算法,有些家长就认为数学不好的孩子,学编程/计算机科学会很吃力,这其实也是一个误区。

不可否认,数学和计算机科学是相互影响的, 计算机中的计算原理处处都包含着数学思想,同样计算机的高速运算能力也大大地推动了数学的发展。

编程实际上是求解某个问题的过程。这个过程也可看做是设计算法到实现算法的过程,因此可以看出编程离不开数学原理的支持,没有良好的数学思维就很难编写出高质量的程序。

但是,会基本的加减乘除四则运算,就可以应对比较基础的编程学习。高等数学,只有在机器学习,数据压缩等中才用得上。

同时,编程能够帮助孩子理解数学抽象概念。对于许多孩子来说,数学概念太抽象、离生活太远,不好理解。但是在编程的过程中,抽象的数学概念可以被转化为看得见的、具体的图像。

比如,在编程的过程中,孩子对于小数和分数会有更直观的理解。将代码中的小数点移动位置,屏幕上的物体的大小就会发生巨大的变化。孩子可以因此可以将抽象的小数和分数的概念变成鲜活的图形,印到脑子里。


另一方面,编程就是把实际问题转换成计算机能够理解的数学问题,对数学能力也是一种强化。

3、数学和编程哪一个更难?

抛开学习的深度来讲难易,其实没有价值。从入门的角度来说,学编程并不比数学难。可为什么很多家长还是觉得编程很难,担心孩子学不会呢?

这其中的本质原因在于家长没学过,对于自己不熟悉不了解的东西,人们倾向于放大它的难度。

我们教孩子学编程,和教他们学数学一样,都是期望孩子掌握一个更有效的工具,目标不是成为伟大的程序员或数学家。

计算机科学进化到今天,最难的底层编程已经比较完善了,孩子们直接调用前人的算法成果即可,就像你要学习使用excel,学习的是每个功能怎么用,并不需要知道每个功能是怎么做出来的。从这一点上来说,二者没有区别。


最后总结一下,数学和编程都能锻炼思维,区别是前者对脑力的要求更高。

如果数学不好,那就建议孩子先试试编程课,没准儿能重新找回自信呢!

数学棒棒的孩子,也不妨尝试下编程,计算机科学也有高峰等着你去攀登呢!