分数加法运算背后的概念和思考

昨天心儿做了几个分数加法。她的计算方法如下:把分母相乘得到新的分母,然后,把两个分数的分子分别和另一个分数的分母交叉相乘接着加起来得到新的分子。这个计算结果当然是对的。我暂时就叫这个方法交叉相乘法。

但是,这个计算启发我去思考:心儿到底是不是懂得为什么可以这样算,为什么要这样算,有没有更好的计算方法,这些问题。于是,我们来分析一下,这个分数加法实际上背后可能对应着那些概念和思考。

首先,我们需要如下的知识和这个知识的道理:同样分母的分数加起来,相当于把分子加起来。为什么能够这样算呢?回到除法或者分数的意义——几分之几的含义相当于一个东西分成多少份之后取其中的几份。于是,当我们把相同的分母的分数加起来的时候,就相当于,把一个整体划分好份数之后,先取走一些(第一个分数的分子),接着再取走一些(第二个分数的分子),问总共取走多少?那自然就是把两个分子合起来的份数这么多。于是,重新变成分数,自然就是保持分母不变,分子相加。

接着,顺便指出来从分数的意义,我们也发现,分数线就是除法。这一点也非常的重要。

然后,我们还需要另一个知识和为什么:分子和分母同时乘以或者除以一个(非零的)数,分数的值不变。那这个是为什么呢?是因为我们有四则运算律,以及分数线就是除法。比如这样:(A×C)/(B×C)=(A×C)÷(B×C)=(A×C)÷(C×B)=(A×C)÷C÷B=A×C÷C÷B=A×(C÷C)÷B=A÷B=A/B。

有了这些知识,我们再来看分数加法的交叉相乘法。我们想把两个分数的加法B/A+D/C变成一个分数,怎么办?通过同分母的分数相加,我们知道,只要转变成同一个分母,就好办了。于是,我们就想想办法把B/A+D/C变成同分母,也就是主要看A和C。一个简单的变成同分母的办法是,把两个分母都变成A×C。这时候,我们用分子分母同乘值不变的性质,得到,
B/A=B×C/A×C,
D/C=D×A/C×A.
接着,把这两个分形以后的分数带入到原始的计算中去,
B/A+D/C=B×C/A×C+D×A/C×A,
=(B×C+D×A)/A×C.
其中,我们用到了等式的含义——用同样的东西替换值不变——和同分母分数的加法(把两个分子加起来)。当然,必要的时候,还需要对这个分数化简,而且这个化简还不太简单。也正是因为交叉相乘的计算方法会导致比较困难的化简的任务,后来,我们才需要学习把分母变成两个分母的最小公倍数——反正只要变化以后分母相同就容易计算,而最小公倍数是最小的能够相同的那个分母。不过,这里暂时不展开讨论这个问题。

我们来回顾一下,这个分数加法的交叉相乘法都用了哪些概念和思考,其中哪一些对于将来学习更好的分数加法是有意义的。黑体字部分包含:同分母的分数的加法,除法或者分数的意义,分数线就是除法,四则运算律,等式的含义——用同样的东西替换值不变。我们甚至可以继续追问四则运算律为什么成立,等式的含义和性质为什么成立,等等。也就说,实际上,一个分数加法的计算,背后,后不少的概念和思考,需要学习、体会和思考。更重要的是,还需要把这些概念思考和分数的加法联系起来。否则,孩子们学习的时候,只能把计算方法当作魔术或者操作、变形来学习。

数学不是魔术、操作或者变形,数学不仅仅是实现计算或者解决问题的工具,数学是思考和语言,数学是表达的方式和表达的愿望。只有通过思考运算背后的思考和概念,并且建立运算和思考概念之间的联系,才能学会把数学变成语言,变成思考。

除了这个把数学当作语言的目的需要通过思考为什么,思考概念和联系之外,这样的不断追问不断思考概念和联系的学习方法,也是有实用价值的。如果在学习这个交叉相乘的过程中体会到了上面那些黑体字,那么,将来通分成最小公倍数的计算方法就会特别容易学会。这就是概念和联系的威力——计算过程一般来说没有普适性不通用,但是,概念和联系,一般来说,具有普适性通用性,可以用来举一反三。

学生们,老师们,请在学习和教学的时候,不断地追问为什么,不断地思考概念和联系。这也是为什么我们要推动以概念地图为基础的理解型学习:概念地图可以很好地呈现这些概念和联系,以及它们和分数加法这样的计算方法之间的联系。有兴趣的读者,可以把这部分知识的联系,当作一个概念地图的练习题。

到底教育的问题在哪里,怎么办?

我挑了一个不可能论述得好的话题来讨论,但是希望,也能有所启发。

我认为教育的一切的问题在有没有好老师,能不能招到和培养好老师一切的问题在老师的待遇。

当然,教育制度和高考指挥棒到底教死记硬背的东西太多,导致面向提高成绩的教育太流行,这些都是很严重的,都是教育的问题的根源之一。但是,一个好的老师,是有办法帮助学生做到把学科理解好甚至爱上这个学科,同时,成绩还不错的。当然,如果教育制度能动,高考制度能改,并且经过研究和实验以后来做好的改革,我非常欢迎。但是,不是说,在这些东西不能该的情况下,我们就没有办法了。我们有的是办法,那就是,找到和培养好老师。

好老师要对所教的整个学科有好的认识,要从整个学科的角度来思考教什么、怎么教。甚至,有的时候,还要联系其他学科来修订教什么、怎么教。要有明确的教学的目标。例如,这个目标可以是为了培养熟练工人,于是识字和能算最重要。例如,这个目标可以是发现和培养能够提出问题、创造性第运用知识解决问题、创造知识的人,于是,批判性思维、系联性思考、对事物的深入理解、去深入理解的意愿最重要。不管是什么目的,只要有目的,还有对整体学科的认识,并且按照这个目的和认识来决定教什么、怎么教,加上一段时间的锻炼就是好老师。

否则,我很难想象,提出类似下面的观点的老师:小学阶段的数学和初中的数学最大的联系就是算、学习等式的性质就是用来解方程、学习运算律就是用来做简便运算,学习语文就是为了识字,作文开始就是把之前自己的或者他人的作文记住然后在考试中往上套和靠,等等,会是好老师。一个老师对学科的大图景(研究对象、问题、思维方式、分析方法,和世界以及其他学科的关系)的理解决定了这位老师在教学上的创造力和想象力。其实,老师是多么好的一个职业啊,每一次教学都是创造,都是让学生体验这个概念提出的时候的情景和思考(面对的问题、困难,解决方案和思路提出的时候的启发、对整个学科的意义)的机会。没有任何一个职业(科学家在做公众报告或者培养自己的研究生的时候也是这样。不过,那个时候,其实科学家是在当老师),有这样的美好和具有创造性的机会。并且,影响深远:你所改变的是一个人的脑子里面的结构!

那么,怎么办?我们必须有对学科深刻的认识并且具有非凡创造力的老师,才能有好的教育。这样的老师哪里来?我不得不再一次狠狠第得罪一下老师们。现在的中小学老师,从大学教育来看,是一个好大学里面的前50%-80%的学生。前50%基本上都去念相应专业的研究生去了。从中小学教育来看,大多数属于班里的前30%-50%的学生。前30%的学生去其他院校去了而不是师范院校。现在,你再看看,这有多惨啊。我们的老师们都是受什么样的教育自己在学习的时候处于什么水平的理解的学生啊?好的学生,学习是有方法的,主要靠理解。30%之外的学生,学习主要靠记,靠刷题。你如何能期望当年“靠记,靠刷题”的学生,现在,教会新的学生“靠理解来学习”呢?

那么,怎么办?第一,有一部分老师,在工作以后,是会开窍的——对学科的认识会提高、对教学会上心、对学生会有爱和责任感。这部分老师如果在适当的思想和具体学科内容的启发下,就会成为好老师。之前的理解差一点不怕,我就不信了,我折腾一个学科很多年,还有心,能搞不清楚,教不好。因此,只要有心,并且有教学思想和技术上的帮助和启发,这部分老师会是很好的老师。尤其在信息交流发达的年代,一个这样的好老师就可以发挥巨大的作用。当然,第二,更加重要的是培养和找到合适的老师。而这个问题,就只有在源头上来解决:只要给老师提高工资、提高社会地位、更好的培养体系,我们就会有源源不断的好老师。

这一点上,芬兰做的非常非常突出。芬兰的学科老师们只有在本科以后来培养。先完成专业的本科或者硕士,然后申请进入一个五年甚至以上的教师培养项目。一般是硕士项目。大多数时候,芬兰把这个项目类比做医生的培养。只不过你的帮助对象,现在成了学生。完成培养之后,待遇也基本上和医生(这一点没准在中国也确实差不多实现了,​。但是,医生律师在发达国家真的是不一样的)看齐。这样,每年的申请,基本上这些项目的录取比例在5%-10%。也就是在那些能够很好地完成本科后教育的人群的基础上,仅仅挑选其中的5%左右的人来当作未来的教师来培养。

那,为什么,芬兰的好学生,愿意来当老师:有钱,有成就感。就这么简单。这样的学生成了老师才会有创造力,才会有对学科的好的认识。于是,这件事情很简单,取消教育本科,开通所有的大学的毕业生申请教师培养的渠道,给老师们比啊现在多很多的钱,在培养老师的阶段理论和实践并重就像培养医生,有住院医就应该有驻校师。目标:吸引、帮助前5%的人来当老师,当好老师。

当然,这些,做为这个公众号后面的我们,还有读者的你们,可能都做不了。

于是,我们能够做的,就是把这样的思想散发出去,通过具体的教学的例子,争取启发一些老师,帮助他们/她们成为具有创造力的对学科有深刻理解的,能够思考教什么、怎么教的老师。

理想中的教和学的体系

学科边界是存在的——研究对象和问题、思维方式、分析方法有共性自然就成了更加紧密联系在一起的知识和研究者了,于是就成了学科。同时,跨越和融合边界的问题、思维方式和分析方法也是存在的——有的时候某些问题就是放到不受具体学科限制的框架里面来解决更合适。在这样一个背景下,如何培养学生,用什么样的体系?

我认为,这个可以依靠一个仅仅受知识之间的联系——也就是各个学科的合起来的概念地图——制约的教和学的体系,来解决。

首先,这样的整体知识概念地图——我称之为知识高速公路——要建立起来。当然,建立的方式,可以先从目前的学科分科课程分科体系下的课程和学科开始。但是,将来是要突破这个分科的体系的。也可以直接从构造整个学科甚至整个人类知识的知识骨架开始。

接着,有了这个知识高速公路,可以通过算法和人合作的方式,重新来构造一些课程分类——实际上就是这个知识高速公路上的聚类分析。做了聚类分析之后,我们得到了粗粒化的课程主干道(连边通常是有向的):每一门课程是如何和其他课程联系起来的,内部存在哪些逻辑上的依赖关系,以及内容上的重叠关系等等。当然,实际上,也可以不做这个聚类过程,直接走到下一步。

然后,对于每一门课程,或者直接就是每一个概念,构建教和学的资源,例如书籍、论文、视频课程、讲得好的老师等等。到这里为止,呈现在老师和学生面前的就是一个概念层面的加了资源的知识高速公路,或者是在课程层面的加了资源的课程主干道。

再次,对于学习者,除了有些主干道上的道路所代表的有向联系,不能再有其他学习上的约束。学习者想学习什么,只要逻辑关系上是大概相符的,就可以选来学(部分学生可以跳着学的,就可以让老师个案判断是否允许这么学)。于是,在学习的层面来说,没有专业的边界的限制。同时,在具体课程上,尽量开设同一个主题的多层次课程——豆腐可以凉拌、红烧、麻辣甚至做成臭豆腐——供学习者自己选择。

那么,这个时候,怎么授学位呢?尽管学习过程是不受限制的,除了知识和课程之间的逻辑关系,但是,某专业的证书是可以提出来要求的。例如,物理学专业可以要求,力学、理论力学、统计力学和量子力学是必学课程。具体什么课程当然是要讨论的和选择的,我仅仅举个例子。这四门课分别是什么呢?力学是物理学导论课,知识部分很少有新的,主要是讲物理学家思考什么问题、如何思考、如何计算。后面三个,或者还可以加上相对论,是物理学后续学习的知识和方法的基础。例如学习到最小作用量原理以及用这个原理来统一物理学这个思路和梦想。也就是说,任何一个学科,要有这个学科的导论课——初步交代这个学科的大图景的,然后要有尽量少的核心课程。这些可以作为这个专业毕业授予学位的要求。

顺便,在这样的提一个体系下面,除了临近毕业的时候,学生是完全没有专业和所属的学科和学院的。学什么决定权在学生手上。当然,学科的老师可以去影响和宣传,方式就是通过开设自己的最好的学科导论课和学科核心课。

顺便,说到这个学科导论课,可能有人会觉得和通识课差不多。是的,这就是通识课的意思,但是,不是很多人开设的通识课:通识教育不是肤浅教育,导论课或者通识课一定要用足够简单的例子足够好地体现好学科大图景,在对学科的理解上不能有丝毫的放松,放松的仅仅是更细节的知识。从这一点上来说,通识课的开设比专业核心课,难得多。没有深入永远也不可能浅出,不站在山顶,永远也不可能一览众山,看到概貌。

最后,在教和学的细节方法的层面,要强调系联性思考、批判性思维,要做理解性学习,要培养学生对学科的情感和责任感,要让学生学会学习和思考,要喜欢去做问题解决和提出问题。

我不知道什么时候,这个我理想中的体系能够实现。希望能够找到一群志同道合的以来来实现。

在这样的体系下面,更多的学生有可能可以找到自己,更多的学生可以成为自己,而且鼓励成为自己。每一个毕业生的知识和能力背景,完全就是自己在知识高速公路上用自己的汗水染出来的一张自己的图。我都不能预期培养出来的会是什么样的人,但是,至少是具有创造性的,理解深刻又不太受限制的人。

从知识(招式)到学科大图景(内功)到学习方法(心法)

昨天,我问了正在学习质数合数奇数偶数和整除的心儿三个问题:

  1. 为什么要学质数和合数的概念?
  2. 能够被3整除的数为什么每一位数加起来还是能够被3整除以及为什么要学这样一个知识?
  3. 偶数里面哪些是质数?

第三个问题实际上就是锻炼的思维的复杂程度,以及熟悉一下定义。了解到偶数肯定能够被2整除,因此,除了2自己(0先不管,只考虑自然数先),其他的数都有一个因子是2,于是都是合数。这个问题主要是为了促进对知识的学习,稍微有锻炼思维的目的。

第二个问题是为了展示对于学习的内容要做深入的自己的思考,而不是被动地学习。当我提示把一个多位数例如三位数写成abc=100*a+10*b+c的时候,心儿就拿过去自己算了算,遇到一些困难,但是多想想也就会了。其实,这里还可以讨论充分和必要条件的问题,也就是搞清楚这个条件正好和原来的条件等价。这样除了在学习方法上提示要主动深入多问几个具体知识上的为什么之外,还能够学点数学的思维方式——在数学里面不多不少的刚刚好的条件非常的重要。其中,后半个问题,还能够牵涉到对这个定理的作用的理解:实际上这是把一个更复杂的计算变成一个稍微简单一点的计算。

第一个问题实际上是很难和现阶段的心儿讲明白的——质数实际上代表了乘法里面的独立因子,因此,将来求解方程(或者很多其他任务)的时候就要做因子分解,然后把整体等于零,变成每个因子等于零。因此这个质数的概念首先是知识上必要的东西,还能够体现数学重要思维方式之一“分治,分而治之”(divide and conquer)。如果去设计一下好例子,还是可以让学生体会到质数在知识和学科思想上的价值的——但是,重要的是通过这个问题提示心儿,学习的时候是要问“为什么学习这个”的问题的。当然,答案不是说是不是买菜的时候用得到,而是在整个学科甚至整个人类文明的角度来说,这个知识具有什么样的地位。

这就是我说的,学习很少的具体知识也能够学到学科大图景的意思。只要你从学科大图景(典型对象、典型问题、典型思维方式、典型分析方法、和世界以及其他学科的关系)的角度重新来审视一遍这个知识,问一下为什么要教这个知识的问题。也就是做好从知识到学科再到学习方法的思考和提炼。

顺便,有老师问我,能不能举例子讲讲如何实现“不教知识能够教会学习方法、思维方式和学科大图景吗?”。所有的帖子,基本上,我都是有具体例子的。我不是做教育的,我没有教育的专有名词或者一定要宣扬的理念。我是做科学的。对于我们,没有例子,是没法思考和说话的。因此,这个公众号里面有大量的文章都是讲如何从具体知识具体例子的角度,通过多做思考,来实现“教的更少,学得更多”的。

这样的一个审视,就好像是金庸的武侠小说里面的,从招式到内功到心法。很多时候,练武是要从招式开始的。但是,如果仅仅学到了招式,没有心法,没有内功,则没有太大用处。在这里,具体知识就是招式,学科大图景就是老师和学生需要修炼的内功,学习和教学的思想——依靠系联性思考和批判性思维以学科大图景和学习方法学科情感为目标来多思考以及如何思考“教什么,学什么,为什么”——就是心法。

老师们只要修炼好自己学科的内功,对这个心法有深刻的体会,做一个有心人时时刻刻对所教的知识做这样的审视,肯定能够做到“教的更少,学得更多”。老师们不仅仅要自己问知识层面的为什么,在学科和学习方法的层面上为什么要学习这个,还要帮学生学会来问这些问题。

从一道奥数题说起,继续和题型教学战斗

最近看到一道题:
某车站要在检票前若干分钟开始排队,每分钟里的旅客人数一样多。如果同时开放3个检票口,那么40分钟后检票口前的队伍恰好消失;如果同时开放4个检票口,那么25分钟后队伍恰好消失。如果同时开放8个检票口,那么队伍多少分钟后恰好消失?

这道题听说,在奥数里面叫做“牛吃草”问题,就是要考虑在牛开始吃之前已经有一些草了,还要考虑牛在吃草的同时,草也在长。当然,抽象地来说,这样的情景是存在的,这样的考虑是重要的,尤其是吃的同时草也在长的问题。例如,需要消灭细菌或者病毒的时候,没准就需要考虑细菌的繁殖或者病毒的传播复制。但是,就这个牛吃草本身来说,除非这个草场实在非常非常大,草长的速度是远远赶不上牛吃的速度的,因此,先忽略也问题不大。因此,如果真的有必要考虑这个“牛吃草”问题,倒不如改成“传染病医疗”问题。这样情景上来说,更合理一些。

不过,这个不是我举这道题当例子的目的。我们先按照“传染病医疗”问题来求解这道题。在这里先用简单粗暴的办法,实际上可以通过把简单粗暴办法得到的综合算式来给出一个逻辑过程的方式来解读这个计算过程,从而让学生们在不用未知数的条件下也能够计算。这个逻辑过程的细节我就不重复了,愿意看的可以去看所谓的“牛吃草”问题。

假设已经存在的人有z个,假设每分钟来的人是x(这里假设新进来的人的速度一样),假设每一个检票口每分钟处理的人数是y人(这里,假设各个检票口的进度一样,上车的人也均匀分布在这些检票口的队列上,也不存在某一个检票口会在某个时间每人的情况),假设8个检票口的时候需要t分钟,于是

z+40x = 3*40*y
z+25x = 4*25*y
z+t*x = 8*t*y

通过前两项做差,我们得到
15x = 20y (这一个过程是可以构造逻辑过程来解释的,不需要一定用未知数)
也就是,3x=4y。接着用这个关键求出来x,y当做z的函数(这一步也可以通过构造逻辑过程得到,不一定需要解方程),
x = z/50
y = 3z/200
代入到最后的表达式,得到
z+t*z/50 = t*24/200 z (这一步也是可以通过逻辑得到的,不一定需要用未知数)
于是,t=10。

好了,我们看到,求解这道题的关键在于意识到“开始进站之前已经有一些人了,还要考虑在进站的同时,人还在继续来”。我们还看到,我们在假设x和y的时候,实际上忽略和很多实际问题,做了大量的近似。其中非常根本的一条是这个:最终上车的人数,在每一种情况下,都是不同的,等的时间越长上车的人越多!出题人,你来告诉我,谁家的火车是这样开的?哪家的车站的上车人数是这样的?

这完全就是为了做题而出题!

真正的数学藏在如何对进站问题进行数学描述上,也就是那些简化的假设如何才能比较简单还比较合理。其实,这个检票问题是一个很好的问题,但是绝对不能简单套用排队论的知识,或者牛吃草问题。一定要考虑每一个具体问题的特点,从而来做更合适的假设。对实际问题的合理的抽象和简化是数学非常重要的一步,但是,套类型,套知识,绝对不是数学。

如果真的要解决这个问题,我们可以考虑例如需要上车的人数,站台有空的时间,检票口的处理能力(还要加上一些冗余,来对付突发情况,例如有乘客的票就是多次也刷不上之类的),工作人员数量等因素,来决定每一辆车检票的时间点和窗口数量。这些,显然,是可以依靠数学的,但是,不能靠套类型和套知识的数学。

真的,现在的所谓奥数,真让人担心啊。我们那个时候,老师仅仅辅导一下思路,从来不传授技巧,每一道题,都靠学生自己来构造独特的逻辑过程来解决。

废掉奥数教学、奥数辅导,废掉奥数比赛的额外功能(例如升学),让奥数归于纯粹的兴趣和智力挑战,让数学成为学习到抽象化实际问题的能力和习惯,成为学习到构造性解题的能力和习惯,成为创造性地运用甚至创造数学的能力和习惯,的地方吧。