理解型学习一例:逸儿自己学会的乘法除法比大小

我说过,只要明白在关注什么东西,这些东西之间什么关系,自然后能够自己想出来,这些关系导致什么样的计算,为什么能够这样算,为什么需要这样算,还可以做一定的总结和推广。

昨天晚上和我家小的(逸儿,一年级上)出门走路,我就做了一下实验。逸儿没有学过乘法除法,加法也基本上就是琢磨会的。当然,现在进入一年级了,可能老师也会正式教一点。不过,之前的除法的例子,可是在逸儿进入一年级之前做的实验,也是自己琢磨会了的。

先说,之前的除法的实验。我问逸儿(忘了为什么要问了):咱们家有6个馒头,每天咱们家需要吃两个馒头,可以吃几天啊?逸儿想了很长时间,说3天。我问,为什么,怎么算的?回答,忘了。我说,那你试着重复一下你想的过程。逸儿说,你看,我这里有6个馒头(6个手指头),一天吃两个,我就摁掉两个手指头,接着还有,就再摁掉两个,发现还有,就再摁掉两个,没了。我摁了三次手指头,所以是三天。

学过除法的人可能会这样算6 ÷ 2=3。可是,你看,在这里,除法就是减法的简便运算(当减去的东西是一个的时候),体现的淋漓尽致。只要知道在想什么东西,这些东西之间什么关系,就能自己琢磨出来,体现的淋漓尽致。

昨天的实验是这样的。由于我晚上去买菜的时候没带钱包只带了几十块零钱,跟着去的逸儿有点担心,就老问,爸爸,钱够不够啊。吃完晚饭之后,出门走路,我就问:逸儿,我想买3个苹果,2个桃子,就带了15块钱,你看看够不够?逸儿问,苹果和桃子一个多少钱啊?我说,苹果两块,桃子三块。逸儿想了很长时间,告诉我说,够了。我们,为什么?回答:一个苹果两块,一个桃子三块,合起来5块;再买一个苹果一个桃子的话,就是10块;这时候,还缺一个苹果,也就是两块;所以,合起来你需要12块。你有15块,还多3块呢。

你看,学过乘法的人可能会这样算3×2+2×3=12<15。但是,你看,逸儿(不知道为什么)先把一个苹果和一个桃子组合起来,然后再计算这个组合的整体的加法一次。这就是乘法啊——乘法是加法的简便计算(当加上的东西是同一个的时候)。在这里,体现的淋漓尽致。只要知道在想什么东西,这些东西之间什么关系,就能自己琢磨出来,体现的淋漓尽致。

如果你的数学课还在主要教学生们计算,而不是思考在思考什么东西,这些东西之间的关系,这些关系决定了做什么样的计算,为什么能够和需要这样算,能不能把这样的关系和计算之间的联系推广,那么,就不是真的数学课。

顺便,受读者启发,为了以后用起来方便,我把这几个问题,称作数学问题解决六问,或者数学六问。把之前的四个步骤:发现和提出问题、问题的数学化形式化、问题求解、解的检验应用和推广,称作数学四步。其实,本质上,这些都可以看做是WHWM分析方法的应用,也都是实现理解型学习的手段,也都体现了批判性思维、系联性思考。

生活口诀化,学习口诀化,拿什么口诀对付未来呢?

从像SB题型教学宣战以来,看到了很多很多的口诀,例如除法口诀,二十以内的所谓大乘法口诀,甚至还有各种神奇的口诀,如下图。

bigmultiplicationtable

divisiontable

koujue6

koujue5

koujue4

koujue3

koujue2

koujue1

koujue7

我意识到,可能,我们真的是在把学生培养成信息存储器加上搜索引擎。我们希望为学生们准备好每一个问题的答案,然后,当需要的时候,孩子们只需要找到问题,甚至可能计算的过程都用不着,就直接写上答案就可以。

我本来是拿着这个情景或者说这个说法来讽刺当前的教育的。我看了这些各种口诀之后,越来越觉得,天哪,那可能真的是我们的教育的目标。

我已经说过为什么不能这样做:教育是为了给二三十年之后的问题提出者和解决者做准备,甚至是为了给二三十年时候再来培养那时候的二三十年之后的问题提出者和解决者的教育者做准备,我们凭什么觉得他们还会遇到一样的问题,只要找到对应的问题的答案就可以?我们必须想办法让他们喜欢面对和提出问题,喜欢解决问题,然后从解决问题的训练中提炼出来一些具有一般性的问题解决思维,例如一个学科的大图景(典型对象、典型问题、典型思维方式、典型分析方法、和世界以及其他学科的关系)。

可是,在看到如此多的口诀之后,我真的很担心。我之前一直在戏称“我们的学习和教学就是在背诵一张又一张的乘法表”。可是,我没希望我说的真的对了啊!我们需要做点什么,来改变它。我知道,老师们管理者们学生们都可以说,大环境不变,我们无能为力。但是,真的是这样吗?还是你选择同流合污?来吧,采用理解型学习,问WHWM,问是什么什么关系什么计算为什么能和要这样算,问每一个学科的大图景是什么,问这对于我来说有什么意义是增加了我对世界和自我的理解吗,这些问题吧。这样的学习不一定能够使得你的成绩变成最好,但是肯定不会差,还能够具有创造力

为什么不要直接教孩子1+1=2?

我记得我上小学的时候,看到过一个妈妈,特别自豪地让我们一群小学生甚至大人问她孩子1+1等于几这个问题。每次她孩子都能够答对。妈妈脸上特有满足感。其实,那时候我就挺想给那个孩子一个鸡蛋接着再给一个,问问,这时候他有几个鸡蛋。这么说起来,我这么小的时候,都这么反叛,有意思。

其实,不没有搞懂“1”表示什么的时候,“加”又表示什么的时候,孩子是完全依靠刺激反应来学会的,也就是说强行记住了,而且还不一定是大脑的记忆,可能是身体或者动作的记忆,就跟受过训练的猴子和小狗一样。

那么,你愿意把孩子培养成受过训练的猴子或者小狗吗?

其实,数字,远远比你看到的1,2,3,4,5,6,7,8,9,0(或者10)深刻。数字是有很多个层次的含义的。每一层含义都绝对我们能够对这些数字做什么,它们又能够用来描述什么。

数字的第一层含义是符号。也就是每一个标了不同的这十个(暂时限制咱们自己在这十个之内)数字的对象,例如十个编了号的苹果、老师上课的时候讲稿里面用的第一二三四点、老师布置的作业第一二三四题,等等。这个时候,我们仅仅表示,这是标号为几的那个对象。在数学语言上,这十个数字构成的是一个集合{0,1,2,3,4,5,6,7,8,9},就是表示有十个东西的意思,也可以写成{1,2,0,3,4,5,7,6,8,9},没有顺序。

数字的第二层含义是序数。也就是它们不仅仅代表了不一样的东西,还表示这些东西之间存在这某种内在顺序关系。例如,有的时候,作业题是有顺序的,逐渐变难之类的。有的时候,老师讲稿上标注的重点也是有逻辑上的顺序的,大概来说,第一点需要放在第五点之前来讲。但是,很有可能,其实不完全这样。例如,三四两题打乱了做、三四两点混起来讲,都问题不大。用数学的语言来讲,这个顺序是在上面的集合上,添加了一个称为“序”的映射:给定任何一对这个集合的元素,例如(1,2),这个映射会把(1,2)变成1或者-1(为了描述简单,先忽略相同的情形)。这个映射就是(a.GT.b:1,-1),也a、b之间存在这一个叫做GT的关系(得到-1的时候),或者反GT的关系(得到-1的时候)。还原称日常生活的语言,GT就是大于关系。这时候,我们就有了第几个的概念了。注意,到底有还是没有这个映射是由数字所代表的东西决定的:如果是我的讲稿上的重点一二三四,通常没有这样的顺序关系,因为我很少按照顺序讲,也很少按照某种逻辑顺序来编号。

数字的第三层含义是基数。也就是它们,不仅仅代表不一样的东西,不仅仅可以排序,还可以用来比较相差多少个,用来计算加法。这里,实际上,有一个对数字的要求,排序上相邻的两个数字之间存在这一种叫做“距离”的东西,并且,任意两个相邻的数字之间,这个距离都相同。这样,我们才能够了解500米是什么意思,500米比400米多多少米。这个同质性以及等距性其实是非常高的要求。日常生活中大多数场合用到的数字,其实,都不一定需要满足这个要求。而著名的“1+1=2”却需要它。因此,第一,这个应该在孩子比较晚的时候,基本上了解了前两层次的含义的时候,再来介绍的;第二,就算要学,也请允许孩子们从实际问题里面自己来学和归纳(关于孩子自己总结和归纳我会贡献另一个我家孩子的例子)——看着一个鸡蛋再加上另一个鸡蛋,在孩子了解什么是2的情况下,很容易就能够总结出来,那是两个鸡蛋。

了解了数字的这三层含义之后,请思考,高速公路编号,例如国道330,国道307这些数字是上面的哪一种含义?再思考,高速公路上的出口编号,例如4号出口,5号出口,是上面的哪一种含义?再思考,为什么一定程度上,水果的个这个单位有一定意义,可以考虑使用的场合。

小结:数字的含义其实很丰富,而且分层次。首先是单纯的集合中的元素,其次是集合加上“序”映射,接着是集合加上“距离”映射或者说等距的要求。所有的这些,在具体运用数字的场合,实际上是哪一种含义,有数字所描述的对象之间的关系决定。不要直接教孩子运算,教具体对象是什么,它们之间什么关系,然后抽象到如果用数字描述的话,数字代表什么,是什么关系。

甚至,你可以发明,这样数数:阿弥(1),陀佛(2),妈咪妈咪哄(3),然后阿弥+阿弥=陀佛都没关系,只要你和你家孩子相互理解,能够用于你们之间的交流,你和孩子的表达。

作业题:顺便用WHWM分析方法,分析一下这个帖子。问:主要传达了什么信息,如何构建的,为什么要传达这个为什么这样构建,对“我”(你这个读者)来说意味着什么。

SB题型式教学法一例:整数除法遇到零添零

昨天刚批判完题型教学法,说不要通过把题目分类然后给每一类一个特殊的求解方法的方式来教学,而是坚持思考:题目里面有什么东西,这些东西之间什么关系,这些关系导致什么样的运算,为什么能够这样算,为什么可以这样算。今天就看到一个非常SB的教针对非常特殊的一类问题的特殊的“看起来可能更快的”求解方法。发出来跟大家分享,跟大家一起来批判。

请大家先看这个视频。
小学《除数是一位数的除法》商的中间或末尾有0的除法例题讲解

其中说到“在平常的时候,我们应该把上面的0拉下来。但是,在这里我们要注意,第一点,不要把0拉下来;第二点,我们需要在0的上方添一个0”。

这就是我说的,仅仅针对非常特殊的情况的SB计算规则。而且,关于这个特殊情况,也没有说对。例如,你用上面这个规则计算一下409÷3试试,你不拉下来0看看行不行。这个规则仅仅在除数是个位数,同时前面刚好除尽了的时候,遇到0,才是对的。那么,这样的规则有必要单独来学习吗?

按照我总结的除法的计算规则试试,每次都是“凑数——乘法——做差——拉下下一位来”,然后,必要的时候“加小数点,加零”,接着继续“凑数——乘法——做差——拉下下一位来”。仅此而已。我们发现,这样的规则,当遇到0的时候,需要把0拉下来,接着凑数“0除以前面那个除数,商等于多少?自然就是0”,接着再一次拉下来下一位,接着同样的步骤,就行了。得到的答案完全正确。

我们真的不需要恶心的多余的规则。请老师们好好地把时间花在教数学的大图景(典型对象、典型问题、典型思维方式、典型分析方法、和世界还有其他学科的关系)上面,不要去做SB的题型教学。当然,通过做题来体会和运用学的知识,是有必要的,但是不能为了做题快而增加各种奇怪的多余的规则。让孩子们学会用一块石头去杀所有的鸟,如果不太合适,孩子们会自己去加工那个石头的。

我一直在呼吁做理解型学习,忽然发现,其实,连机械式学习,我们都不一定教好了。尽管我完全不鼓励机械式学习,可是,有一些计算规则之类的东西,确实只能在问和理解为什么的基础上,主要通过熟练运用这些规则来学习,也就是机械式学习。这个时候,老师们一定要帮孩子们做好尽量普适的规则的学习,而不是类似于前面的这个除法规则,或者下面的这个帖子的乘法分类计算规则:“数学老师说:学会这8条规律,整数乘法速算就是这么简单!

假设你在编写一个计算乘法或者除法的程序,你希望你的程序是先把计算分类然后针对每一种类型类编程,还是希望有一个程序直接能够处理各种类型的计算呢?尤其是当你考虑到你是人,不是电脑的时候。

我不知道为什么要学习这个针对各种类型问题的速算。你信不信我有一个更快的方法:我把每一道题当做一个类型,然后,实现求出来答案,之后,每次检索答案就可以,而不是计算!这些所谓的题型教学,难道不就是这样吗?让孩子们称为存储器和搜索引擎。

什么是加法?

我一直说,计算本身不重要,明白在什么条件下,按照什么关系,用什么计算,甚至发明什么计算最重要。用数学的语言来说,就是集合中的元素和元素之间的映射关系,最重要。

现在,按照这个原则,我试图来回答一下加减乘除是什么。

首先,加是某种相同的质,在某个相同的单位下,衡量的某个量,合起来的意思。例如,一个苹果加上一个苹果等于两个苹果这件事情,实际上代表了苹果数量的加法,而不是苹果本身的加法(苹果本身不能加起来,要是能够加起来,则应该得到一个新的更大或者更小的苹果。顺便,将来,在量子力学里面你会真的看到苹果本身的加法而不是苹果数量的加法,有兴趣可以去看看我的量子力学书《二态系统上的量子力学》)。这个时候,甚至,“个”这个度量单位都不是特别好的度量单位,但是,毕竟关于“个”的大致统一的标准还是有的。例如不能是小半个,也不能特意正好切一半然后问有几个(关于这个问题,回家问问三岁之前的孩子试试,很好玩),最好是完整的,尽管大小可以不一样。

其次,减法实际上就是加法,相当于问如果我们做加法的话,在已知的一个数量上,加上多少,就能够得到另一个已知的给定的数量。因此,减法本身其实就是加法的逆运算,或者就是加法(将来学到相反数以后)。

再次,乘法是加法的简便运算:同样的数量很多次连接加起来,则可以用乘法来表示和计算。

最后,除法是减法的简便运算:一定数量的东西里面要被连续减去同样数量的东西很多次,问剩下多少,可以减几次,则可以用除法来表示和计算。或者,除法也可以看作是乘法的逆运算,或者说就是乘法(等将来学了倒数以后)。

当然,实际上,将来大学了,还可以学得到更加一般的加法(矢量加法,可交换的群乘等等,总而言之,还是元素之间的某种关系也就是映射),这个以后再说。但是,基本上,上面就是什么是加减乘除。只要把这些理解好,用到实际问题中或者将来从实际问题中提炼新的计算,也就是文献和提出问题、把问题转化成数学问题(这个时候甚至会导致新的数学结构数学运算数学关系的提出)、被求解出来的答案做检验和应用,就是数学。至于加减乘除的计算本身,真的不是数学。