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

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

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

先说,之前的除法的实验。我问逸儿(忘了为什么要问了):咱们家有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条规律,整数乘法速算就是这么简单!

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

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

《数学教学的逻辑》读书报告

看了张鹤老师的书《数学教学的逻辑——基于数学本质的分析》,总结整理在这里。

首先,这本书的理念是:数学教学需要解决“教什么”的问题,解决了之后才是“怎么教”的问题,最后才是细枝末节的课堂活动组织、用什么设备来上课之类的纯教学技术问题。

其次,在教什么这个问题上,这本书主要阐述了要找到和确立学科思想,整理好知识的内在逻辑,围绕这个思想和逻辑来解决教什么的问题。

接着,这本书还举例整理了初中高中阶段的具体数学知识的逻辑体系。在整理逻辑体系的时候,运用的基本上是思维导图(作者叫做结构图)的形式。不过,你如果自己细看,你会发现,这些思维导图里有专门表示关系的“概念”。因此,实际上,作者有一些自发的对概念地图的运用。

其中作者用了有几个作者觉得讲课讲得很好的老师的例子来说明,讲课主要是关于教什么,怎么教的问题可以很平淡,只要思想上境界够,启发学生投入思考,做到教得好完全没有问题。

这些,我都是非常赞同的,甚至都可以当做我的《教的更少,学得更多——概念地图教学和学习方法》的例子。教什么永远比怎么教重要,比怎么才能用技术形式抓住学生注意力之类的上课的技术重要。

不过,说完了好的,就轮到不足了。这样的不足当然有点吹毛求疵,不过为了更加促进作者和读者的思考,我觉得还是有必要把这个不足提炼出来。不得不说,非常遗憾,作者对于数学本身的视野和理解,尽管对于中学老师已经是很高的境界了,限制了对“教什么”更好的回答。这个牵涉到“数学是什么”的问题。建议作者去看看下面的两本书,还有其他Ted Talk的视频。当然,我的书也值得看看,其中有专门关于数学教什么的讨论。

  1. Bender 《An Introduction to Mathematical Modeling(数学模型引论)》
  2. Gowers《Mathematics: A Very Short Introduction(牛津读本数学)》
  3. Chris Anderson: Questions no one knows the answers to,好奇心、科学和教育
  4. Marcus du Sautoy: Symmetry, reality’s riddle,世界中的数学,尤其是对称性
  5. Roger Antonsen: Math is the hidden secret to understanding the world,关于“理解”和数学,以及数学作为现实的表示
  6. Conrad Wolfram: Teaching kids real math with computers,数学的四个阶段(提出问题、抽象化、计算求解、验证和提高)和当前数学教育以及可能的解决方案
  7. Dan Meyer: Math class needs a makeover,数学教育和粗糙问题的关系

数学是思维的语言,是用形式语言的方式把思维明确地表达出来。大多数时候思维的对象是现实的世界,或者人的心智对现实世界的抽象。因此,尽管没有必要真的有联系,数学所表达的内容本身,经常和现实是有关系的。按照这样的数学是什么理解,我们发现,对一个问题做数学的思考需要分成几个不同的阶段:从现实问题中受启发的阶段,也就是提出问题;把提出来的问题变成一个数学问题的阶段;通过逻辑推理和计算来求解数学问题的阶段;把答案用到原始的问题中来检验的阶段。当然,后者基本上是科学家在做。数学家也做一些。如果结果不相符,还要回去修改之前的提出问题、数学化问题、求解问题的阶段。

分成这样四个阶段之后,我们再来看,数学课堂现在大多数时候在做什么,应该做什么。我们发现,绝大多数时候,数学课堂在教你第三个阶段——通过逻辑推断和计算来解决已经数学化之后的问题。对于提出问题、数学化问题和答案的检验,基本上不涉及。甚至,绝大多数时候,本来有这个教学目的的应用题,也是已经数学化之后的问题。因此,数学首先要教数学化,抽象化的能力,也就是从现实中从粗糙的问题里面提炼数学问题的能力,做简化假设的能力。当然,在解决数学问题的阶段,也有一些数学思想,例如大到数学归纳法——看看逻辑起点怎样,再看看能不能建立一个链条;例如小到代数的思想——习惯用符号来表示关系,而不仅仅是具体数字之间的计算;再例如小到代数表达式和图形的结合;再例如大到用集合和群论来看整个数学。但是,这些数学解决问题的思想,都赶不上提出问题和数学化问题的地位。

有很可能,其实你的数学课连第三个阶段都没有好好教你,仅仅是在教你第三个阶段的形式:把别人已经提出来的如何计算如何求解的过程,练熟了。这就是更大的悲哀了。如果说,一个数学老师能够让你体会这个第三阶段的思考过程、数学思想,那么,他\她已经算不错的老师了。很有可能这些你都体会不到,只能够做到学会计算的过程,然后,从不断地重复这个过程之中,来学会解题,于是获得好成绩。

因此,顺便提一下,所有教孩子们“\(1+1=2\)”而不讲清楚加法的含义和前提的家长们,你们就是在毁灭孩子的数学思维。加法的含义就是把具有每种同样单位的东西合起来的数量,而不是真的把东西本身合起来。前提就是需要被加起来的东西具有每种同样的质,同样的单位。孩子一旦理解这个,算加法,还不是分分钟就能学会的事情(再加上明白\(1,2,3,\cdots\)的含义,而不是记住并且能够从\(1\)数到\(100\))。

有了这样的数学是什么,教什么的理解之后,我们就可以来整理一下中小学的数学知识的内容,围绕着这些核心理念,重新来讨论怎么教,教材怎么写的问题。