关注高考的家长可能有所耳闻,今年的高考试卷居然出现了编程题目,而且不止一个省份,考题一出,不少学过编程的孩子都要偷着乐了,这刚好是他们有接触过的编程知识,这也恰好告诉我们,国家正在越来越重视孩子编程能力的培养,考编程,考的是编程的思维能力。
一、什么是数学思维?
数学思维是指够用数学的观点去思考问题和解决问题的能力。我国初、高中数学教学课程标准中都明确指出,思维能力主要是指:会观察、实验、比较、猜想、分析、综合、抽象和概括;会用归纳、演绎和类比进行推理;会合乎逻辑地、准确地阐述自己的思想和观点;能运用数学概念、思想和方法,辨明数学关系,形成良好的思维品质。
二、什么是编程思维?
所谓“编程思维(computationalthinking)”就是“理解问题——找出路径”的思维过程,它由四个步骤组成:
1、分解(decomposition),把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。
2、模式识别(patternrecognition),根据经验找出相似模式,高效解决细分问题。
举个例子:假如你需要画100只猫,你会怎么办?正确的方法是找出猫的“模式”,即猫的躯干、四肢、毛发等基本元素,再不断改变局部特征就可以了。现在流行的机器学习中普遍用到这种思维。
3、抽象(abstraction),聚焦最重要的信息,忽视无用细节。
简单说就是找到问题的本质,过滤掉其他无关紧要的因素。
接着画猫的例子,我们了解了猫的特征,就可以根据这些抽象的特点,形成关于猫的整体设想,画出躯干和四肢,做出一个模型。
4、算法(algorithms),设计一步一步的解决路径,解决整个问题。
通过这四个步骤,一个复杂的问题先被拆解成一系列小问题→每一个小问题被单独检视、思考,寻找解决方案→聚焦几个重要节点,忽视小
细节,形成解决思路→设计步骤执行→问题解决。
所以,所谓“编程思维”并不是编写程序的技巧,而是一种高效解决任何问题的思维方式。
三、两者如何结合?
小时候可以惯用形象思维,但成长到一定年纪,特别是在6~7岁的时候,孩子的抽象思维,就开始影响他对事物的认知,培养好抽象思维对生活学习有重大影响。
数学概念就是抽象的,但是在少儿编程的学习中,抽象的数学概念可以被转化为看得见的、具体的图像。
编程和数学是相辅相成的一对好兄弟,你中有我,我中有你。
1.编程所需要的很多能力和数学是相通的
比如逻辑思维、模式识别等。再往深里说,编程的核心是算法,而算法的核心也是数学。现在的机器学习会大量的用到算法,其本质还是数学模型计算问题。
2.编程能够帮助更好地理解数学抽象概念
对于许多中学生来说,数学概念太抽象。我们可以通过编程,将抽象的数学概念转化为看得见的、会动的图像。
例如数学中最常用的函数,书本上的概念理解起来很抽象,如果通过编程,我们就可以在计算机上展示出来。
3.编程能够强化孩子的数学能力
如果孩子想用代码建造飞机,那就要用到各种各样的数学知识,并且还要调用抽象思维的能力。
4.思维能力对孩子未来的升学、就业同样重要
参加数学方面竞赛获得奖项对于自主招生、申请国外学校都是有很强的助力。不仅如此,数学思维能力强对于其他科技创新类竞赛、论文发表、专利写作都是有非常大的帮助。就业时,数学能力强的人才可以在一些高端领域无缝跨越,比如一个学计算机的精英,转行搞金融就很容易。
四、编程思维如何培养
编程是将人的想法“实体化"的过程,这要求我们进行更深入、更细致、更全面地思考。
编程要求我们能够对事物和流程进行各种维度上的拆分,并在不同的抽象层次上进行完整自洽的思考,这使我们有可能去解决那些规模无比庞大的问题。编程是不断解决问题的过程,也是不断完善解决问题的方法论的过程。