财新传媒 财新传媒

阅读:0
听报道

1. 高考数学算法这十年

 

昨天无意中看到2018年江苏高考数学卷中赫然有这么一道算法题:

 

我随手把它截图发给了在另一所大学计算机系当系主任的师弟,他惊呼到:“编程居然进高考了啊?!” 看来,和我一样,他也已经out了。

顺手把这个题甩给昍看了一下。学了一阵编程,这个单重循环已经难不倒他了。I每次加2,所以循环执行3次,S每次乘2,答案是8。

事后,我特地查了一下,原来,编程进入数学高考已经有十来年的历史了。早在2008年,高考题中就有了编程的身影,譬如2008年的广东卷。(如果不想看枯燥的高考编程题,可以直接跳到第3部分)

 

 

这些年,这类程序流程图反复地出现在各地的高考数学卷中,我罗列了几个:

 

 

 

还有这个将传统古代数学和编程完美融合的四川考题:

 

 

大致翻了一下,这些题目都不难,考查的几乎清一色的是循环,也是我在《少儿编程之循环初步》中讲的内容,即少儿编程会碰到的第一道坎。

 

 

2.  算法初步课标

 

本质上讲,上面的高考题考查的是编程里的核心—用流程图表示的算法。下午做了点功课,发现算法早些年已进入我国《普通高中数学课程标准(实验)》,成为高中数学课程的新增内容。在《普通高中课程标准实验教科书数学3 必修》A版教材中,《算法初步》一章由三小节构成,配套的用书中建议讲授12课时。

 

 

《普通高中数学课程标准》写到:“算法是一个全新的课题,已经成为计算机科学的重要基础,它在科学技术和社会发展中起着越来越重要的作用。算法的思想和初步知识,也正在成为普通公民的常识。在高中数学必修课程中将学习算法的基本思想和初步知识,算法思想将贯穿高中数学课程的相关部分。”标准要求“算法的思想方法应渗透在高中数学课程其他有关内容中,鼓励学生尽可能地运用算法解决相关问题。“可见,不能孤立地教学算法,要让学生将算法的核心思想融入到已有的认知结构中去。

 

 

3.  少儿编程与数学学习

 

既然算法已经渗透到数学高考卷,那么现在应该怎样来对待少儿编程?关心孩子学习的家长会有两种态度。

一类家长不免焦虑,生怕孩子起跑慢了,恨不得5岁就送孩子去学编程。和我对奥数的观点一样,这种焦虑大可不必。单纯从得分而言,高考数学的算法题考查的知识点相对固定且简单,对于大部分高中生来说,这些题通过课堂学习和刷几道题就能掌握。如果孩子没兴趣硬逼着去学,那一定会事倍功半。

另一类家长则不愿意让孩子学编程,他们认为既然算法题得分可以通过课堂教学实现,那学编程就属“不务正业”,挤占了主课的学习时间,弊大于利。

 

我认为这两种态度都有失偏颇。既然说到编程和数学,我就想深入探究一下少儿编程对数学学习的帮助。大名鼎鼎的ELSEVIER旗下也有一个专门研究小孩和计算机交互的期刊,其中有一篇文章专门介绍了通过编程来学习数学。可见,通过合理的设计,孩子学习编程对于数学学习是有益的。

 


         

除了大家通常说的提高解决问题的能力和团队合作,我个人对少儿编程对于学习数学的帮助有一些浅显的理解,总结成了下面的十条:

1.     有助于孩子深化对数量大小关系的理解

编程中充满了对两个变量的大小关系的判断,学编程无疑可以强化对数量大小关系的理解。

2.     有助于孩子建立空间坐标系的概念

屏幕天然就是一个坐标系。譬如,要在屏幕上绘制一个长方形,需要知道顶点的坐标和长方形的长度和宽度。建立坐标系的概念对孩子以后的数学学习具有很大的帮助。

3.     有助于培养孩子养成严密的逻辑思维习惯

美国数学大联盟中有这样的关于“AND”和”OR“的试题,这也是日后布尔代数的基础。编程中天然存在的逻辑操作符是这类数学题目的落地,能够帮助培养孩子形成严密的逻辑思维习惯。

 

 

4.     有助于帮助孩子理解数论的基础

数论是数学皇冠上的明珠。编程中天然存在的整数的除法和取余操作,是理解数论的基础。

5.     有助于帮助孩子建立递推基础

编程中最常见的就是迭代,这实际是递推公式的落地。比如著名的斐波那契数列,利用编程很容易就可以求出任何一个元素。递推概念的建立对以后的数学学习有着极大的帮助。

6.     有助于帮助孩子理解随机性和统计特征

编程中经常会用到随机数,比如一个小游戏中某个物体的随机运动。随机数有助于孩子理解随机性和统计特征。

7.     有助于孩子形成函数的基本概念

编程中经常会有一个变量的取值受制于另一个变量,比如双重循环中第二重循环的变量取值范围受制于第一重循环变量的取值。这是一个天然的自变量和因变量的关系,也就是函数的原型。

8.     有助于培养孩子的抽象思维能力

编程很多时候需要从个性中抽出共性,通过建立通用模型,解决一类问题。这有助于培养孩子的抽象思考能力。

9. 有助于帮助孩子建立宏观与微观的桥梁

数学是连续的,但程序中的表示是离散的。电脑上的一条直线,一个图形,用放大镜放大后,都是有一个个像素构成的。微观上的离散,到宏观上变成了连续。微观与宏观,离散与连续,这些是直到大学数学都要学习的重点。

10. 有助于孩子提振解决数学问题的信心

有些数学问题,如果纯粹从数学角度思考,会显得比较复杂,让人没有头绪。但是,借助于计算机的强大运算能力,孩子们使用一些笨的办法也能给出问题的答案,这将提振孩子解决数学问题的信心。

昍爸:曾获初中和高中全国数学联赛一等奖,江苏赛区第一名,高考数学满分,现为大学计算机专业教授,此公众号将伴随昍昍的成长,分享寓教于乐、学以致用的数学教育方式。

 

 

说不一样的奥数!

昍爸说奥数

公众号:xuanbamath

话题:



0

推荐

昍爸

昍爸

37篇文章 2年前更新

昍爸,曾获初中和高中全国数学奥林匹克联赛一等奖,江苏赛区第一名,高考数学满分,现在大学计算机专业任教,平时注重提升孩子对数学的自我思考与应用能力。此公众号将伴随昍昍的成长,分享寓教于乐、学以致用的数学教育方式。微信公号:昍爸说奥数(xuanbamath)。

文章