编程对数学的影响
关于小学数学,有一个不得不提的“掉队”现象:
在小学一二年级,很多孩子很容易考到98、99甚至满分。
但到了三四年级,数学突然变得很难,高分越来越难以考到。莫名其妙地从学有余力变得力不从心,甚至越来越差…
这是为什呢?
主要有两方面的原因:
1. 数学这门学科,越深入学习,涉及的思维各方面的能力就越多。而有些孩子的逻辑思维能力本身是比较弱的,而一二年级又不太涉及复杂的内容,只是计算而已,所以,在三四年级,当数学学习开始需要更多逻辑能力,更多涉及抽象、归纳参与时,本来没有经过太多思维训练的孩子就有些跟不上节奏了。
2. 现阶段的国内学校数学教学,更多以抽象演绎为主,需要学生凭空想象很多运算和抽象过程,由于缺乏实际的动手操作,与现实生活脱节严重,学生有时很难理解,从而导致失去兴趣,而且有的孩子觉得自己已经用功学习了,但依然不开窍,这就更加形成心理阴影,成绩慢慢下滑。
而这两方面的问题,编程都可以解决!
小学中低年级阶段,是孩子逻辑思维成长的关键时期,利用编程培养孩子的思维能力,是非常合适的选择。
编程是数学计算和逻辑思维的完美融合,比数学更能够锻炼个人的逻辑思维。编写程序的过程也就是计算过程和处理信息数据的过程。有了编程思维(具体分为以下四个部分),孩子说话做事都可以更有条理,有规划性,思考和处理问题更加理性。
编程思维首先是分解,即把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。
麻省理工学院计算机教授,Scratch编程语言的发明者,被誉为“少儿编程之父”的Mitchel Resnick曾说:
“在学编程的过程中教会孩子们如何将复杂的想法分解成几个部分,不管孩子以后做什么,都可以用的到,这才是学编程的意义所在。”
第二个是模式识别,即根据经验找出相似模式,高效解决细分问题。其实这主要锻炼了孩子的归纳能力。
举个例子:假如你需要画100只猫,你会怎么办?正确的方法是找出猫的“模式”,即猫的躯干、四肢、毛发等基本元素,再不断改变局部特征就可以了。现在流行的机器学习中普遍用到这种思维。
编程就是发现规律、运行规律的过程,拥有这个编程逻辑,在解数学题时,孩子的的思维反射更清晰,解题方法更多元,当然学得更轻松。
第三个是抽象,即剖析问题的核心,聚焦最重要的信息,忽视无用细节。
接着画猫的例子,我们了解了猫的特征,就可以根据这些抽象的特点,形成关于猫的整体设想,画出躯干和四肢,做出一个模型。
第四是算法,即设计一步一步的解决路径,解决整个问题。算法是编程思维最有代表性的一部分。
而且有关算法的题目已经频繁见诸高考。下边是2017年全国三卷第7题。
这是2017年全国一卷文科第8题:
这些题只要接触过编程的孩子,都知道怎么做,而且并不难,它考的是编程里的一个基本思维方法叫做【流程图】。
所以,所谓“编程思维”并不是编写程序的技巧,而是一种高效解决任何问题的思维方式。
编程的过程,需要不断地处理数据,更改顺序。一点点的小插曲出现,就可能导致命令无法执行,或者无法输出结果,所以编程还能提高孩子做事情的专注力。一个由自己一步步建立而来的作品更是能够增强孩子的自信心。
以上是编程对孩子逻辑思维的训练,从而对孩子数学学习的帮助和促进,下边我们再说说编程为什么做到了学校数学老师所没有做到的事。
这就涉及到编程的形式化方面的优势。
编程可以将抽象的问题形式化,可以将问题以可视化的形式呈现出来,比数学更具体。另外,编程可以将现实生活中难以操作的问题以直观方式表现出来,可以以一种灵活的方式的展示数学的算法过程。
所以,很多学计算机的孩子可以迅速产生兴趣并入门,正是这种形式化、可视化的方式给了孩子一种学习的正反馈。在学习信息学的过程中,孩子可以通过项目建立起时间、顺序、空间、因果等一系列重要的数学概念。而且如果孩子想用代码来编写一个有趣的小程序,那就要用到各种各样数学知识,并且还要调用抽象思维的能力。
编程的过程就是解决一个个数学问题的过程,编程对孩子数学能力的强化是毋庸置疑的。
数学的学习是学生时代必不可少的事情,但是如今学习编程也慢慢的变成不可忽视的事情。学习编程既能够对孩子的数学学习有极大的促进作用,也可以提升逻辑思维和解决问题能力。所以孩子接受编程教育是一件愈早愈好的事情。