2018年的一天,我给同事包云岗打了个电话,说:“孩子们上二年级了,能否在轻松、活泼的氛围下,引导孩子们学一些数学思维呢?”云岗很赞同,我们就一起组织了一个小SIGMA数学特别兴趣组,权且由包云岗、兰艳艳和我担任老师,学员就是我们自己的孩子。 在这个特别兴趣组中,学生用书是通用的奥数教材,不过教师用书可不太普通——我们用的是G. Polya写的《怎样解题——数学思维的新方法》(How To Solve it)和陶哲轩写的《陶哲轩教你学数学》。换句话说,我们践行的是Polya的数学教育观——重在倾听孩子们的理解和猜想,重在引导孩子们观察、尝试、联想、归纳、做“合情推理”,总之是一种“慢数学”的风格,有时候我们甚至2个小时只讲一道题。 一开始的确看不出成效,但等到三年下来,才慢慢发现孩子们有了一些进步——当然,这些进步不是指孩子们参加某个杯赛拿了个奖,而是指孩子们掌握了一些基本的数学思维,体现在自己能够提出和证明一些猜想,比如包若宁、卜文远、魏文珊小朋友提出了三阶幻方的“包卜魏猜想”,傅鼎荃小朋友在学习“鸡兔同笼”问题时,完全自主地想出了“二分法”。在思维火花迸发的尤里卡时刻,孩子们兴奋得又喊又跳;躬逢其时,我们也非常欣慰——这是对教师最大的肯定和褒奖。 等到了2020年春节,因为出现疫情,孩子们都憋在家里,很是无聊,就嚷嚷着让我们教他们编程。教一门编程语言容易,但是关键不在这里,而在于教“计算思维”,这给我们出了一个不小的难题。 事实上,包云岗、兰艳艳和我都在中国科学院大学教计算机科学与技术:包老师讲授“操作系统”,负责“一生一芯”实践计划,讲解如何设计CPU和计算机系统;兰老师讲授“机器学习和人工智能”,训练计算机怎样学习;我讲授“计算机算法设计”,包括怎样观察问题和求解问题。简而言之,我们教的都是“计算思维”。 不过我们面向的都是本科生和研究生,能否教小学生计算思维?教什么?怎么教?这对我们来说是全新的挑战。这可不像教数学,还有Polya和陶哲轩写的书能够当作教材,给我们一些指导。 我们在开课前思考了很久,教的时候又边教边琢磨,把教授本科生、研究生的计算思维进行裁剪和修改,形成了一个初步的“小学生版”计算思维。 所谓计算思维,其核心是碰到问题时如何观察、如何尝试,然后如何根据观察到的规律设计计算机程序来求解问题。下面这几条或许是最基本的计算思维: (1)先正向尝试理解题意,再反向求解问题 碰到一个问题如何下手?孩子们往往会对着问题发呆,感觉束手无策。这不怪孩子们,求解问题是“反向思维”,有时候的确不太容易一下子就想出来。 在这种情况下,“先正向尝试理解题意,再反向求解问题”是走出困境的一个好办法。以“鸡兔同笼”问题为例,可以先尝试一下“鸡有0只”,即使这个尝试非常粗糙也没关系,然后验证这个尝试对不对,不对再修改尝试,比如接着尝试“有1只鸡对不对”,如果不对再增加鸡的数目。 |
|