什么是加法?

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

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

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

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

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

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

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

加减乘除的计算规则

我很少关心孩子做加减乘除计算的问题,因为:第一,大部分时候算出来的答案是对的;第二,这个问题也实在太低级,有更多关于什么是数学,教什么怎么教才能体现什么是数学,什么是数学的大图景(典型对象、典型问题、典型思维方式、典型分析方法、和世界以及其他学科的关系)这样的更重要的问题需要思考。我真的更加愿意来回答如何才能让学生学会用数学的眼光看世界(发现和提出问题、把问题数学化形式化、求解问题、解的应用和检验以及推广和系统化,这四个步骤中的1、2、4这几步,甚至由于这个1、2、4导致新的数学概念的提出),更愿意去看看数学有哪些典型思维方式——例如不变量的思想,然后问用什么样的例子来体现这些典型思维方式,这样的问题。

但是,今天我发现不是这么回事,在孩子的四则运算过程中存在大量的分类体系和各自问题的特定的方法(顺便,听说高中物理题也成了这个德行:总结出所谓的各种题型,然后对每一种题型有相应的方法。这个太恶心了!)。这个太恐怖了,太让我吃惊了。我一直觉的,根本就没有题型,只有一个一般的方法:那就是思考问题里面有哪些东西,这些东西之间什么关系,这个关系导致了什么样的计算,然后算出来就行了。于是,我尽量克制自己的恶心来做一下这个实在太低级的总结。下面,我们仅仅考虑十进制表示的数字,包含小数点,先不考虑循环小数(其实,以下的总结仍然适用于循环小数)。

加法的计算规则:首先对齐小数点(并且由于小数点对齐了,则实际上各个数位上的数都对齐了;都是整数的话,对其小数点相当于对齐了个位数。但是,总而言之,一句话的概括,就是对齐小数点),然后各个数位,从最右边的开始,做相应数字的(看做一个个的个位数)加法,如果出现加起来超过10的情况,则需要进位,进位需要算到左一位的数字里面,再继续做左一位的加法。

减法的计算规则:首先对齐小数点(并且由于小数点对齐了,则实际上各个数位上的数都对齐了;都是整数的话,对其小数点相当于对齐了个位数。但是,总而言之,一句话的概括,就是对齐小数点),然后各个数位,从最右边的开始,做相应数字的(看做一个个的个位数)减法,如果出现不够减的情况,则需要从左边一位借一个10过来,和当前位上的数字合起来构成“十几”再来完成减法,借位需要算到左一位的数字里面(相当于被减数被事先就减去了1),再继续做左一位的减法。

乘法的计算规则:首先把所有的计算转化成整数的计算,这个时候如果有小数相当于把那个小数做了一次乘以10、100、1000或者更多个10,这些10将来都是要除回来的,记住将来要除多少个。接着就是运用整数乘法。这个时候,要把最后一位对齐(如果非得要这么看,也可以看做小数点对齐,但是,是变成了整数以后的小数点,也就是个位数对齐),接着拿着乘数的个位数先把被乘数乘出来结果,写下来第一行。接着,拿着乘数的下一位把被乘数再一次乘出来,写在第二行上,但是要往左边移一位(这是因为实际上乘数不是一个个位数,而是一个十位数,所以,最后的结果要补一个0)。如果乘数还有百位,则继续这个过程,写下下一行,记得做相应的移位。最后,把得到的各行相加,用上面的加法的计算规则。

除法的计算规则:首先,把所有的计算转化成为整数的计算,这个时候被除数和除数分别被成了几次10要搞清楚,将来要把这些个10都除回去(当然,实际上只需要知道两者的差,如果被除数被乘了更多的10则将来要除以多出来的次数;如果除数被乘了更多的10则将来要乘以多出来的次数。或者,更简单的办法,把被除数和除数同时乘以同样数量的10,尽管这样会造成有的数后面有很多个0,但是商不变,将来也不用除回去了。实际问题中,用哪一种没关系)。接着,把被除数的第一位拿出来,让除数来除除看,按照情况写上(0,1,2,3,4,5,6,7,8,9)当中的一个,这一步叫做凑数。凑完数之后,计算除数和这个凑的数的乘积,写在第一位数的下面。然后做第一位数和乘积的差。得到差以后,把下一位拿过来写在这个差的后面。然后,重复这个“凑数——乘积——差——拿下一位”的过程,直到用完所有的整数。当整数用完之后,还是没有除尽或者达到要求,则在“商”后面加一个小数点,同时在最后的差后面加上一个“零”当做下一位数字。接着再次重复这个“凑数——乘积——差——拿下一位”的过程。

总结一下,加法的计算步骤是:小数点对齐,算个位数加法,注意进位;减法的计算步骤是:小数点对齐,算个位数减法,注意借位;乘法的计算步骤是:变整数,算个位数乘法写相应的一行,算加法,最后调整小数点;除法的步骤是:变整数(可以用被除数和除数同乘来避免最后的调整小数点),“凑数——乘积——差——拿下一位下来”,添加“小数点”并同时加“零”,然后继续“凑数——乘积——差——拿下一位下来”。

就这么简单的规则,并且通用,适用于任何题型,不需要按照不同类型的问题来调整,例如考虑除数是个位数还是多位数的情况,例如考虑被除数还是除数比较大的情况。也就是说,就算是最无聊的纯粹机械式学习的内容,也需要做到越普适越好,不要增加太多特例,尽量一石杀所有的鸟。其次,还需要做到每一个步骤都是可理解的,有道理的,而不仅仅是传授规则。例如,我从孩子那里了解到,在除法中有一步叫做“小数点对齐”——天哪这是什么规则啊,仅仅在被除数是小数同时除数是一位数的时候,这个规则是正确的。其他的情况偶尔也有能够算对的,但是,对于乘法和除法而言,小数点对齐真的是一个没有必要(适用情况有限)又非常容易出问题的规则啊。尽量不要教那些在特殊情况下才对,或者才能够加快计算速度的规则,而是尽量教那些普适的规则。为什么要对小数除法,或者说所有的除法,做这么多的分类,然后制定每一种类型的规则啊。天哪,这是什么样的教学指导思想啊。

要不,你看下面这道题(来源于google检索到的某个课外教学机构),如果我把17改成170呢,1700000呢?为什么会有小数点对齐这个规则啊?所有做题型教学的老师,我吴金闪今天向你们发出挑战,我认为所有的题型教育都是培养SB的教育。当然,在明白是什么,有什么关系,关系决定什么计算之后,做一定量的练习来熟练,我不反对。但是,我反对人为总结出来一些适合特定题目的计算规则,例如我听说过的各种各种的速算(什么末位数都是5则怎样,末位数加起来是10则怎样),那都是在误人子弟,而且是禁锢人思想,限制人思考的,最狠的那种误人子弟的方式。你看看这个题尽然还有步骤八,难道老师看不到就是在不断地运用“凑数——乘积——差——拿下一位下来”这么一个简单的规则吗(偶尔还会用到:整数用完的时候给商加个小数点,同时给被除数增加一个零)?

希望这个总结能够对小学数学的规则教学有一点点启发。这个实在是太恶心了,太低级了。不过,如果这个低级的任务不解决,将来更高级的内容有可能会出现更多的问题。当然,我这么说不表示我们就应该在这个低级任务上花费太多的时间,因为实在不行,将来也还可以用计算器、计算机、搜索引擎和机器人来完成这些低级的任务,只需要知道在什么情况下,根据什么关系,用什么样的计算。但是,尽量把规则总结好,理解好,使得规则说得通,还能够具有普适性,还是有必要的。

为什么不能按照题型的方式来分类然后总结,最后教学?为什么我痛恨这个?我们培养学生是在为了二十和三十年之后做准备,甚至是为了培养在二三十年之后会承担培养那个时候的二三十年之后的人做准备。我们自己都不知道那时候会怎样,我们如何为他们准备呢?他们的世界,他们遇到的问题,肯定会和我们不一样。当然,我以后遇到的问题也将和我现在的不一样。那么,我们如何准备呢?如果我们的方式是把现在遇到的各种问题做一个分类,做好解决问题的模板,然后希望将来他们能够用上这些模板,则是完全没有意义的。不久的将来,所有已经有答案的问题的解决都会被机器替代。我们希望的是将来他们喜欢并且能够提出和解决新的问题。这个时候,分类总结和记忆查询,就不再是面对新问题的方式了。只有教会遇到问题怎么去想,怎么去面对,例如愿意甚至喜欢面对新问题乃至发掘新问题,例如学会那些大概来说那些比较通用的普适的层面的思维方式和分析方法,才有可能有帮助。每一个学科,都要重新去梳理,这样的思维方式和分析方法,也就是我称为学科大图景的东西是什么,用什么样的例子来体现,怎么教,才能真的为他们做好准备。

“你好”是“hello”吗,墨水是“ink”吗,“折线统计图”是“折线-统计-图”吗?

    前两天提到小学数学教材里面对于折线统计图的处理的错误:把给定(可能来自于统计)数据列表做出来折线图看做“折线统计图”。除了教材编写者没有考虑好什么是数学(用数学的眼光看世界和思考,把问题变成能够用数学形式思考的问题)之外,我说还是语文的问题。今天沿着这个思路再展开一下:根本上还是物理没学好的问题,没有运用好还原(不断把东西往下分割成小单元以及单元之间的联系)和综合(把分割好的东西以及这些东西之间的联系重新逐渐往上构建起来上层结构)。通过这个讨论,我还想说明,不管数学物理科学语文,它们都是一样的,就是多思考,尽量深入,还能够回来看到整体。顺便,这个思路有的时候,也叫作系统科学,或者系统思维。

    我们来看第一个例子。例如当我们需要教英语使用者中文的时候,比如就是“你好”这个词的含义,怎么办?整体认读和认知的时候,可以简单用“hello”来代表,或者,类似的“hi”。但是,其实这是不够的。更好的说法应该是“you (have a) good (day)”。更进一步,甚至可以和英文中的goodbye(原来代表“God be with you”,会面结束的时候常用的一句话,后来就引申为再见)联系起来。那为什么这样更好呢?因为了解“你好”的两个字分别代表“你——you”“好——good”对于学习汉语是有意义的。这个意义体现在两个方面。第一、这两个字分别可以构成其他的词语,例如“你们”、“好吃”。这时候学会单个字“你”和“好”的含义就可以迁移。也就是说,更小的结构会在其他地方出现。第二、组合是汉语的一大特点,因此,从具体例子来体会组合,是很好的一个学习汉语的方法。甚至,“汉语”和“方法”都是两个可以讲出来道理的词。更进一步,不仅仅是词,汉语的短语和句子也是组合形成的。

    同样的道理,墨水的“墨”不能教到“ink”为止,需要更进一步。比如,可以解释成“black ash in water”,甚至进一步解释,墨实际上可以看做“黑”和“土”,其中“黑”就是指“火”(下面四个点的含义)上面方一个器皿得到的烟灰,也就是说,“墨”是“black ash, which often comes from smoking woods and is often what deposited on a cool plate over burning woods, in water”。想象一下这个时候,关于这个字的含义,学习者能够体会到多少,至少远远超过仅仅告诉学习者相当于“ink”。

    我们再来看第二个例子。“折线统计图”是一个整体吗,还是“折线-统计-图”三个部分。当然,从语言本身来说,肯定是三个部分“折线-统计-图”,第一部分表示表示作图的类型,第二部分一个处理数据的过程,第三部分表示分析和作图得到的结果。甚至,我们还可以问语言上,“折线”是什么意思(一段段连起来的线段,不一定光滑),“统计”是什么意思(分类整合计数),“图”是什么意思。甚至,我们可以问为什么“统-计”两个字合起来是这个意思,甚至更加进一步“统”、“计”这两个字为什么分别是这个意思,原来是什么意思,如何把原来的意思迁移过来的,等等等等这样的问题。那我们为什么要这样做?因为“统计”还会用在除了“折线统计图”之外的其他地方,例如“柱状统计图”。当然,这是语文的角度。现在,我们来看数学的角度,“折线统计图”是一个必须整体认知的对象吗?不是。首先,我们可以对各种各样的数据,只要是已经成为两列的代表两个变量的数据,都做折线图分析。因此,折线图是独立于统计分析之外的东西。同样,统计分析也是独立于折线图之外的东西,完全可以统计完了不画折线图。因此,这两个概念是完全要分开的,也就是,学生应该学会“折线-统计-图”。

    有了这两个例子,我们再回头来看,说明了什么问题。首先,学会所有的东西的过程中,都存在一个分解或者说还原到什么程度的问题。只有分解之后,独立出来的单元,将来才能在更多的场合发挥作用,成为进一步学习的基础。为什么医学研究着、化学家和物理学家需要把物质分解到分子甚至原子的层次?因为,例如在医学上一旦搞清楚了是某种分子在发挥某种作用,就可以有一个标准来制备这个药物,而不是仅仅通过某个特定的偶然发现的过程来制备,于是还可以用这个标准来检验。更进一步,可以把这个分子继续拆分,成为对应着某种功能的功能团等子结构,甚至进一步到原子的层次,问什么样的相互作用使得这些原子能够组合成具有这个特定功能的集团。了解了这个,就可以来做药物设计了。具体分解到哪一个层次和理解有关,也就是和下面要说的综合有关。其次,所谓的理解就是建立知识之间的联系,从已知知识到未知知识之间的联系,甚至已有概念之间的新的联系。例如,从数学概念上说,你可以把“折线图”特意取一个“柱状图”的名字,只要学术界保持一致,就没有问题。但是,这个时候,对于初次学习“折线图”的学习者来说,就很容易和日常生活中的“折线”的含义“错误地”联系起来。这也是为什么专有名词本身也经常在语言上是可以大概理解的。但是,仅仅是大概。有的时候,这样的联系,不一定对于理解这个概念是正面的,还需要放到专有名词的体系内部来建立联系。这个把分解完了的下层结构通过联系再次合起来的过程,就是综合。实际上,这是物理学的非常核心的典型思维方式之一。

    在学习上,教学上,一定要做好这个分解和综合。一般来说,需要分解到一个层次,那个学习者认为完全理解了的层次,也就是通过考虑分解之后的各个部分的联系能够做到完全重新建立整体概念的层次。当然,好的学习者会一直追问,于是永远也不满足于某个中间的层次,一直到根本问题或者还没有答案的问题为止,甚至自己去探索这个未知的层次。不要满足于任何整体认知。没有深入到细节,则整体就是假象,觉得好像理解了;没有整体,只有细节,那就是迷途,没有方向(when there is no details, whole is delusional; when there is no whole, all is lost in details without sense of directions.)。

理解型学习用于听课和看书

我在《教的更少,学得更多》一书里面,主要从学什么和怎么学出发讲了教什么怎么教,以及如何来确定教什么的问题。答案就是以学科大图景为目标的,以系联性思考和批判性思维为基础的,基于概念地图的理解型学习系统,并且要让这样的系统来改造所有的课的教学。但是,关于如何用这样的思路来帮助学生学习,包含看书、听课、做题等,讲的比较少,只有一章。今天我把这个部分补充一下。

无论看书或者听课,或者其他的学习过程中,在整体层面,还是要关注学科大图景问题(一个学科的典型对象、典型问题、典型思维方式、典型分析方法,以及和其他学科乃至世界的关系),以及关注对学科的情感,以及对学习方法——也就是这个理解型学习——的掌握。因此,在这个层面,就不多少了。

今天,我们主要关注细节层面怎么做。其思想就是要同时关注然,所以然,所以所以然这几个层次的问题;其方法就是问W(是什么)H(怎么样)W(为什么)M(对我有意义吗,我喜欢吗)这四个问题以及做概念地图;其背后的思考仍然是系联性思考和批判性思维。这些已经包含在书里了。现在,我们来具体说说怎么做。

首先,对于老师那节课或者书本那一小节的具体知识,要尽量搞明白:这节课老师讲了什么知识——例如小数的乘法的计算,这个知识是怎么回事——例如到底是怎么算的,为什么会需要这个计算和为什么可以这样算——前者需要联系生活实际的例子后者需要从等式变换的角度来做逻辑论证,最后问自己“我是否觉得这个知识有道理,有意义”。这是在具体知识的层面的WHWM。具体这个例子可以看心儿关于小数乘法的总结

其次,要尽可能做到,就算具体的知识不太明白的情况下(当然,明白了最好),也能够想清楚这一段知识的地位和目的,以及老师讲这个具体知识的动机。就好像你跟着人走路或者开车的时候,你如果能够明白前面的人为什么走这一段路,就算这段路本身你不太熟,你仍然可以很开心和放心地跟着,而不是无脑地跟着。这时候,要求就比较高了:你要有自己的方向感。这个对于上面的小数乘法的例子,就比较难:完全就是学习一个计算步骤,你可能很难对此有什么方向感。但是,如果你能够把这一段知识和等式保持计算结果不变的知识联系起来——例如等式两边同时乘以或者除以一个非零数结果不变,则仍然,你可以更好地欣赏和领会上面的论证过程。当然,如果老师能够把这个计算和生活实际联系起来,或者和数学更深刻的理论联系起来,则也能帮助学生更加有方向感。其实,在教材里面有初步的尝试,例如以“角”为单位来计算变成以“元”为单位来计算。不过,本来可以用更加粗糙的问题来体现数学需要从实际问题中抽象出来实体和实体之间的关系,然后从关系变成计算,这样一个过程。也就是体现抽象化在数学中的地位。当然,一方面,这个需要老师们站在更高的角度——数学是什么的角度来重新梳理和讲授课程,另一方面,也要学生不断地从具体知识之中走出来,站到更高的地方来看这部分的学习目的。其实,这个步骤是在思考具体知识和学科大图景的联系。实际上,任何一个具体知识的教学和学习,都应该做到和大图景的结合和联系。

再次,把你对具体知识层面的WHWM、整体大图景层面、以及两者联系的层面的理解画成一张概念地图。

最后,当然,练习题还是要做一点点的。如果会了,就可以少做一点了。做练习的时候,也不是想着用什么公式做什么计算,而是问:这些是什么东西,它们之间是什么关系,这些关系对应着什么运算。知道了关系和运算,问题就自然解决了。对于不问关系,只套公式的,可以去看看那个上山和下山的平均速度的问题。如果你的老师还能够帮助你做和这部分知识相关的以问题/项目为基础的学习,就更好了。

《教的更少,学得更多》出版了

JinshanCmap

​《教的更少,学得更多》从2013年完成以后,就一直当作《学会学习和思考》课程的主要教学参考书之一来使用。另两本是《学习、使用和创造知识》,以及《教育的目的》。今天终于见到印刷版了。辛苦编辑们了。感谢教师发展中心、研究生院、国际处以及系统科学学院等单位。感谢参与本课程教学和学习的老师学生们。感谢Novak的帮助和指导。

不过,发这个帖子主要不是为了感谢,而是为了发个广告。目前已经可以在京东上看到这本书。

这本书交代了我们所谓的“教的更少,学得更多”的教学体系背后的思考,以及一些课程建设和实施的经验。这个体系的主要思想是宏观和微观两个层次的结合:宏观上,需要通过整理领域和课程的概念地图来构建知识高速公路,绘制学科大图景,然后以此为基础来选择教什么学什么,决定大概怎么教怎么学;接着在介观上,对于每一个大图景里面的项目,找好例子来体现;在微观上,在学习和体会每一个例子的每一个步骤,不放过任何问WHWM的机会,多问为什么。这个背后也就是系联性思考、批判性思维,以及能够综合体现它们两者的概念地图。结合学科大图景为目标的教学,这就是我说的理解型学习

在实际教学中,还需要运用好做中学、教中学等方式,把指导性教学和辅导性教学结合好。

这是解决教什么怎么教,学什么怎么学的问题的根本方法。我们的探索和体系,还有经验,应该对有心的老师和学生,甚至家长,都有帮助。

其实将来有一天,我还想实现更大的梦想,不仅仅是提供其他人教和学的借鉴,还能够把知识高速公路做出来,成为整个人类知识教和学,以及研究的基础。