语文在字的层面的理解型学习

汉字可以一个一个来记忆和学习,也可以在课文中通过理解其用法来学习。这个就是通常学生学习汉字的方法。在实际学习过程中,这种学习方法要付出大量的记忆性的努力,还有通过大量的重复练习来巩固。

对于中国人,这个不是大问题,因为,汉语是已经会的,能够认字和写字也就解决了大部分的问题了。

对于不会汉语的人来说,由于同时要学会汉字和汉语,两者的联系又不是很紧密(看到一个汉字不能很好地提示其含义和读音,还有用法)。以语言和词汇为主的学习方式导致汉字成了一个语言的简单的记忆单位。例如“单位”这个词,有可能英语背景的学习者直接就整体认知成为”unit”,而不能明白其实“单”是”single”的意思“位”是”unit”或者“position”的意思,更加不能明白为什么“单位”两个字合起来就能表示”unit”的意思。于是,也就不能迁移(例如理解“单身”——如果也能够拆分成“single body”的意思就很好学会了)。同样的情况可以发生在“汉语”这个词上。只有理解了“汉语”的内在结构才能明白“汉语、汉字、汉族、汉学”等等之间的内在联系。这个说的是在词汇的层次要注意构成词汇的汉字之间的联系,也就是词汇的联系。

汉语其实还有更加深刻的内部结构:汉字本身也是有内部基本单位的,这些单位也是通过某种联系有机地结合在一起的。例如“位”这个字,为什么是”position”的意思呢?其实,这是两个不同的部分“人”和“立”,合起来表示“人站着的位置”的意思。这个是汉字的非常重要的特征。一个好的学习者,或者好的学习方案就要利用好这个特征。

例如,“黑”这个字来源于把“器皿”放在“火”上烤。如果你干过这样的事情,例如小时候玩蜡烛,就知道什么是黑了。接着这个黑字,如果我们把这个积累在器皿上的黑东西扣下来,揉成一团,象“土”一样,就得到了“墨”。再例如,跋山涉水的“涉”,原来的写法(现在还能够稍微看出来一点点),是两个脚趾头的“止”放在“水”的两边,于是就是徒步过小河的意思。顺便出道题,“往”为什么不念“主”的音,而是念“王”的音啊?通过这些例子,我相信读者就可以体会到,一旦把字的结构如何拆分、为什么这样的拆分合起来可以表达这个字的读音含义,那么,这个字就容易学了,甚至学会了也更容易用了。也就是,学活了,效率高成本低了。

于是,这就有了两个问题:第一,这样的汉字内部结构的拆分和解释的基础数据我们有吗?第二,有了这个基础数据,我们能够如何帮助汉字学习呢?

第一个问题,其实是汉字研究内部的问题。不过,如果没有考虑到第二个问题的话,其拆分,当然也很有用,不一定能够满足后面的需求。幸好,在汉字的历史上这样的拆分是有的,例如《说文解字》,尽管还不够。

汉字结构网络与理解型学习系统可以看到我们的拆分数据,以及分析计算的结果。这是一个大大的图:fullmap

第二个问题,分两个层次。在个体的层次,有了这个基础的拆分,就能够促进汉字学习者做理解型学习,也就是明白汉字的结构以及从这个结构引申到含义和读音,从而减少记忆负担。在整体的层次,我们可以问类似这样的问题:我们应该先学习哪些汉字,后学习哪一些呢?我们如何快速低成本地检测一个学习者认识哪一些不认识哪一些汉字呢?两个问题还可以合起来,了解了这个学习者所认识的字和不认识的字以后,如何利用这个信息来促进汉字的学习呢?例如,很容易想到,学习那些跨度不太远的与已经认识的字有内在联系的字可能会更容易一些。

我们的研究实际上,主要关注这个整体性的问题,也就是学习顺序、高效检测方法、个性化学习顺序这几个问题。当然,与汉字研究专家合作,建设汉字结构基础数据库也是正在开展的一个工作。

长期来看,我们还需要把汉字和汉语结合起来,开发学习材料,利用篇章的学习来带动汉字的学习,而且这个汉字的学习还需要一定程度上照顾我们的理想中的学习顺序。学习材料的开发和实验应该是一个循环上升的过程。推广或者产品化也是需要考虑的问题,不过那是其他人的事情了。很多的周边产品也可以考虑,例如,在汉字结构数据的基础上,开发一个图片或者动画形式的识字产品。例如,把整个学习顺序和检测顺序,以及学习材料做成一个汉字学习系统(软件)。

在这个工作里面,系统科学的思想,体现在从个体层次的问题到整体层次的问题的思考问题的角度上。另外,在技术上,我们需要设计好的数学模型来解决学习顺序的计算,高效检测算法的制定。同时,系统科学还体现在把一个领域的问题研究的比较深入以后,可以迁移出来,或者把别的领域的方法迁移过来。也就是系统科学所关注的类似的系统存在的一般性。

例如,实际上,你会发现,汉字的这样的利用汉字内部结构和联系(同时也是汉字之间的联系)的方式来促进学习(学习顺序和检测的问题),同样可以用来学习数学、物理学等逻辑关系比较清楚的科学。甚至,如果能够把条理不清楚的学科整理出条理来,学习效果的提升程度,应该比条理清楚的更好。

实际上,这个工作里面提出和发展的思想就是我们提出的“教的更少,学得更多”的理解型学习教学的核心。

参考文献:
1、Xiaoyong yan, Ying Fan, Zengru Di, Shlomo Havlin, Jinshan Wu, Efficient learning strategy of chinese characters based on network approach, PloS ONE, 8, e69745 (2013).
2、科普作家Philip Ball在www.bbc.com/future上对这个工作的述评

几个项目召唤研究者

除了要求比较高的非平衡疏运理论、汉字结构与汉字学习项目,目前,还有几个相对来说比较容易上手的项目需要多个研究者。我把它们总结在这里。

  1. 广义投入产出和拓展PageRank研究一个系统中主体的排名和相互影响
  2. 最后通牒博弈理论和实验的研究
  3. 几个移动App的开发

广义投入产出和拓展PageRank研究一个系统中主体的排名和相互影响
我们最近提出的广义投入产出方法和拓展的PageRank算法,可以用来讨论学术单位(大学和研究所、国家、作者)、学术领域、期刊、文章等各种主体的排名和相互关系。本质上就是问这样的问题:如果某一个主体的贡献缺失,对整体产生什么样的影响,对其他每一个主体个体产生什么影响。

实际上,这两个分析方法还可以用于经济领域的排名和相互影响,产业链或食物链中产品或者物种的排名和相互影响,专利领域和各个专利在整个专利研究中的排名和相互影响。甚至,如果有数据,例如有研究经费、研究论文、专利、专利的经济效益这个大系统的数据,我们可以讨论这样的问题:某一项研究在整个经济和科学技术中的地位。

目前,论文发表的数据比较全、专利的数据有一部分、经济领域的数据比较全、食物链的数据有相当一部分,需要研究者来开展研究。如果是研究生,就需要学习我们的方法(思想、算法和程序),然后(可能需要稍作修改)运用到以上的各种数据上,然后与各个领域的专家一起来完成找到值得呈现的结论,最后完成文章的写作。这里每一个不同的主体,例如研究领域、作者、期刊、大学等等等等,都是一个独立的有待完成的工作。

这里的具体问题主要是科学计量学和经济学,但是,如果你学会方法以后,找到其他的方向可以运用这个方法来回答那个领域内部的研究者感兴趣的问题,那么,只要找到合适的数据,你就可以开展相应的研究。

最后通牒博弈理论和实验的研究
在最后通牒博弈中,基于完全理性的博弈理论给出的结果是提议者给出最少的不为零的钱给接受者,而接受者接受这个提议。实际实验和观察的结果都不符合这个理论结果。于是,构造一个理论能够给出与实验和观察相符的结果就是一个非常重要的问题。

在现有的理论中,基本上还是坚持决策者的行为是在追求某种目标函数的最优化的这样一个思路。只不过,考虑的因素,除了钱,还包含公平性、利它性、声誉、报复、博弈着之间的联系等。当然,博弈的基本精神就是,在考虑最优的时候,不仅仅要考虑在对方行为确定的情况下自己的最优,还需要考虑对方的行为也是通过假设“我”的行为确定的情况下做优化来确定的。因此,这个最优化不是简单的单一主体和单一目标的最优化,而是多主体、多目标(通常一个主体一个目标,也可以更多)的最优化。

更一般地来说,除了“最优”的思路,我们还可以考虑“更优”的思路,也就是说,决策者不是选择最优的那个行动来执行,而是按照一定的比例来选择更优的行动(不是最好的也会被选中)。

更更一般地来说,没准,把所有考虑的因素放到一个目标函数里面,然后来考虑最优或者更优,都是理论上极大的简化。因此,有可能需要一个放弃整个这样的目标函数优化的思路来构造理论。注意,我们的大部分物理学其实也是符合这个思路的一个理论。当然,在我们不得不这样做之前,我们还是希望在这个思路的范围内来构造我们的博弈决策的理论。

具体到最后通牒博弈,我们就需要找到这样的一个目标函数,并且,这个函数里面的量都是可定义和可测量的,里面的参数,如果有的话,也是可以确定出来的。而且,根据这样的一个目标函数,我们可以通过最优或者更优的方式来给出理论结果,并能够与实验和观察相符。

目前,我们的实验方案已经基本确定下来,初步的结论也很有意思,不过,还有大量的实验工作和数据处理、理论模型的建构等工作需要展开。如果你有兴趣做一些对理论有基础性贡献的,用数学物理的角度(或者说科学的角度)来做一些社会科学理论研究的,工作,那你可以来尝试一下这个。

几个移动App的开发
在研究工作以及作为一个科学家的日常生活中产生了很多可以分享给其他人的产品的想法。有实现的价值。

例如,最近我想起来实现一个多次多通道计时器。多通道就是有多个计时的任务相互重叠,一个没有完成另一个就已经开始的情况。多次就是一个计时任务中需要设置多个提醒的时间点的情况。多次在学术报告中会经常出现,例如离结束5分钟、2分钟和结束分别提醒。多通道在完成多任务的时候经常出现。这样的功能,也可以通过专门的硬件来实现,但是在手机时代,用手机App来实现是最好的方式。当然,这个App非常小众,钱途堪忧,对需要的人却很有价值。

其他的更多的ideas还包括强制事件和日程管理、课程和报告点评等等。有兴趣和能力的,可以一起来做做。

教育到底应该做什么?

教育的根本职责是让受教育者学会和开始思考,给自己树立一个驱动力,一个人生的目标,并且从而成为整个社会的驱动力。教育的次要的目的是为受教育者进一步自己学习做好准备,这个准备包含学习意愿、学习方法、核心基础知识、学科的核心思想和方向大图景几个方面。

一个梦想和驱动力有多重要?自己能够形成自己的梦想,选择自己的道路,有多重要?用一个不太恰当的例子来说明。两个人面对一样的每一天几乎都重复的,“无聊的”生活。一个有自己的追求和思考,通过思考和这个世界历史上(和现在)最有创造力的人交流。一个为了活着。你觉得生活体验能够一样吗?因此,至少梦想、动力和自由是欺骗自己的很好的理由,就算也许有人觉得你挺惨。教育的根本目的,我认为,就是让你思考人生,思考别人不思考的问题,确定目标,有选择的自由和欲望。

就教育的次要目的的这几个方面的准备来说,理解和内化这些基础、思想,梳理大方向,把它们变成自己思考的基础,在对学科的情感方面受到教育者的影响,才是真正做好了进一步学习的准备。

学习完整的知识绝对不是目标。老师们绝对不是搬运工。从教科书搬到课堂上,希望学生能够从课堂上搬到脑子里面。那么老师到底要做什么呢?

大部分的老师,都在做无脑教学:找一本教材,自己看看,跟着讲一遍,或者已经看过一两本教材,跟着或者揉合起来讲一遍。小到一门课,大到一个专业,到底要教学什么,学什么,基本上是没有思考的问题,因为前辈们已经定好了,有了一个规范。信息技术使得大部分记忆性知识变得非常容易获得。现在生产力的提升大部分来自于提出和解决前人没有解决的问题。这两点——原则上应该会很大程度上影响教学和教育的事情,基本上没有进入教师的脑袋。积累和创新、迁移的关系,理解和自发运用的重要性,没有被大多数教师认知。

于是,我们看到,学生们进了大学之后,就知道跟着老师的脚步来学习,听课之后觉得无聊,游戏、金钱、美女或者美男、知己或者精神伙伴的诱惑力又实在太大,经常平时不学习,也不思考学些什么,到期末两周的时间集中复习划重点,然后考试,接着忘记。于是,大学,成了最不学的地方。努力了很多年考上大学,就是为了可以不学习。

这个时候,当老师的怎么办,搞教育的怎么办?

教育和教学,实在是不能产生奇迹的:我们不能指望把一个东西塞进学生的脑袋,然后学生就懂了,理解了,行为就改变了。我们要珍惜学生的时间,珍惜学生能够跑到你这里来学习的时间,尽可能在最短的时间里面,教他/她这辈子最有用的最少量的东西。学生也要珍惜自己的时间,珍惜能够来到这样的老师这里学习的时间。那,在这个要求下,到底学什么?

一方面,思考比较深入的学科内部的老师注意到教知识确实是有问题的,但是不知道知识之外,可以教什么,让知识来体现什么。另一方面,有思想的教育家或者心理学家或者社会活动家在呼吁要教给学生能力或者素质,但是没有一个发展学生能力和素质的方法,以为给学生少做点作业,多上几节钢琴课、多欣赏几次毕加索、甚至多听听京剧就是素质和能力教育。这就是没有指导思想的学科的老师和没有专业背景的教育工作者的共同的悲哀。实际上,两者的结合就能够解决问题。

学生要有人生的目标,要学习如何思考,养成思考的习惯(喜欢思考),有思考的基础。不过,思考不是瞎想的意思。第一,要保持对世界的好奇,并喜欢去追问。第二,要能够深入下去。这样,就必须从一般性的思考发展进入到学科性的思考。人生的目标可以很多种确定的方式。至少其中的一种,应该是从曾经获得的快乐中来寻找。例如,从体会到思考、探寻和理解某些现象(天体的、生命的、运动的、思维的、抽象的、艺术的等等)的中获取的快乐,没准就可以选择这些作为人生的目标。要养成思考的习惯,也要县体会到深入思考的快乐。因此,最关键的事情就是如何思考,思考什么,典型的思考方式和概念基础。

所有的这些问题,都不能通过泛泛的思考或者思维的教学来实现,而是需要在具体学科具体问题中,通过引领学生思考来实现。因此,解决人生目标动力和学会思考的问题的关键,就是以上两种老师的结合:有教育思想的学科专家。当然,让学科专家成为有教育思想的人,可能比让有教育思想的人成为学科专家,要来的简单。

这就是我们现在在概念地图系列课程《学会学习和思考》里面做的事情,让学生体会到每一个学科的基本面貌:基本问题、典型思维方式、学科理论中最核心的用于帮助学生继续学习的少量内容、典型分析方法,并且呈现有深度的思考,养成思考的习惯,并进而喜欢它。

例如,在物理学科,我们所选择的核心知识的教学要体现“什么是物理学”,包含一些典型的问题以及一些典型的思考方式,还要包含数学模型在物理中的特殊地位。例如,力学的思想——事物的状态、状态的变化和变化的原因——在物理学里面是非常重要的;在变化的原因方面,相互作用也就是力的概念贯穿物理学的所有学科;在探索相互作用的形式和规律上,还原论或者说分解成更小的部分的思想,以及期望在更高的层次实现一致的描述的想法,也是一定要在教学中体现的;量子物理学促使我们对现实和理论之间的关系,做更加深入的思考,这个也是需要体现的;所有的物理理论的表现形式都是某种数学结构,这个也是要在教学中体现出来的。

当然,在更小的层次的具体教学的过程中,还有很多关于“什么是物理”的认知,例如在运用Newton力学解力学题的时候一定要注意每一个系统里面的受力情况,做到具体问题具体分析,参考系坐标系的选择都不是一概而论的。

这些都是在选择具体教学内容的时候需要考虑的。按照这个必须反映“什么是这门学科”的标准,任何一门科学(非科学的学科不清楚),核心的内容都是不多的。这个时候,我们就有很多的时间让学生来思考问题,引领学生来思考问题,并自学(自己拓展阅读和完成作业,体会这个学科是什么,尝试喜欢这个学科)。

学生的拉车和看路

作为老师,一半的时间在看路,一小半的时间在教书,剩下的时间在拉车。由于技术上的积累已经比较多,概念上的积累完全可以和看路结合起来(纯粹概念上的积累的事情已经很少做,尽管我还是做,也喜欢做),并且有学生帮忙拉车,于是可以多看看路。

但是,学生呢?

技术上有很大的鸿沟需要跨越,而且是通过做中学的方式来跨越;概念上的积累倒是可以部分地依赖于课程,但是同样需要在运用中理解,否则就不是真的理解。没有研究经验、技术方法、知识和理解上的积累,看路也是迷迷糊糊。那就不看?

学生就是拉车的牛,路走得多了也就学会了走路?

一个学科的思想、发展方向,这个学科的基本问题、大的根本性的研究问题和对这些基本问题的回答,这些,都不看了?

要看的话,什么时候来看,什么时间来看?这是个问题,我仅从自身的经历来尝试回答一下。

在本科的阶段(高中的时候看过的《从一到无穷》之类的,不成系统,就不算了)看了第一推动丛书的几本(尤其记得这几本:数学:确定性的丧失 可怕的对称 终极理论之梦 时间之箭),也许因为本来就爱物理,被其中的物理的美和伟大的梦想深深地吸引。后来按照裴寿镛老师的推荐看了Feynman的系列小册子(《别闹了Feynman》、《物理定律的特性》、《光和物质的奇异性》等等),按照杜婵英老师的推荐看了《混沌:开创新科学》。还有自己找的《物理学的进化》、《数学模型导论》等等。现在仍然记得当时心潮澎湃,感叹为什么不早生100年(Schwinger还是谁说每一代的物理学家都这样感叹),还有那份雄心壮志。其中Bender的《数学模型导论》有关于什么是科学和什么是数学的深刻的思想。

这个阶段的看路,主要是体会物理学是什么。专业书籍里面算的上看路的,是一条道的,倒是看的不多。也就Feynman物理学讲义一列算是道,尤其是《力学》和《量子力学》那两卷。其实Landau的书也算是道,可惜当时没有看,后来上了研究生才看的《力学》。Dirac的《量子力学原理》倒是断断续续看过,可惜Von Neumann的《量子力学的数学基础》直到博士快毕业了才认真看。喀兴林的《高等量子力学》把基础概念部分讲的非常好和Ballentine的《量子力学现代教程》除了基础概念讲得好,还提示你思考量子力学的解释。《Speakable and Unspeakable in Quantum Mechanics》(仅看了其中几篇)讨论了量子力学的基础。这些让我们思考物理学是什么的科普书籍、专业书籍、论文,我都看作是看路的一部分。偶然看到的《大自然如何工作》打开了一扇窗户,展示了复杂性和涌现性的一角。

后来,当了老师,重新把广泛阅读捡起来,看了《如何看一本书》、《Learn More, Study Less》、《科学研究的艺术》、《Mathematics: A Very Short Introduction》、《Complexity: A Very Short Introduction》、《Learning, Creating, and
Using Knowledge》,并且整理了这些年看过的好书,主要是教材类的,见工具、课程与学习资料。现在,顺便也就整理一下教材以外的对我的科学观具有重要影响的书籍。这样做的潜在的期望就是能够对学生有用。

可以,问题来了,一直在拉车的学生,会停下来看看这些激发思考、深化思想,但是没有什么直接用处的书吗?

从这个角度来说,很有必要开设一门读书的课:阅读跟这个学科的大图景相关的书籍,然后参与讨论。在这样的课程建立之前,只能希望学生能够自己主动去看看这些包含了大量的思想财富的书籍了。

编程的学习

必要性:当你对世界的运行有一个猜想或者理解的时候,你想检验一下;当你有这个世界运行的数据,你想发掘一下;当你有一个问题没法解析求解,你想大概看一下,你都需要运用计算机,而且通常是自己编程,来解决问题。

这个时候,最重要的是学会像计算机语言一样思考问题。具体来说,反映在面向过程编程上就是:知道流程的每一步,程序–想象成你自己–会面对什么数据什么情况,下一步做什么,尤其是所有流程控制的关键点。反映在面向对象的编程上面,就是要把问题转化成为对象和对对象的操作来解决。要搞清楚什么时候创建对象,什么时候改变对象的状态,用户做什么会激活这些创造对象和改变对象状态的事情。

这个像计算机一样思考回到传统的编程的时候你熟悉的语言就是画出流程图,以及搞清楚对象的抽象接口。

具体到语言的学习,不同的语言有不同的优势。可以考虑利用C语言来做科学计算和核心计算分析模块,利用Python来做字符处理、组装程序,用R语言来做统计分析,利用shell语言来做组装程序、输入输出和增加程序灵活性的控制。了解大量的程序包,并且熟悉其中的一部分。例如,所有的矩阵运算可以考虑lapack,傅立叶分解可以利用FFTW,一般积分插值等数值计算可以用gsl等等。

算法,语言本身,只要不是开创,是很简单的事情,通过编写一两个程序,也就学会了。进一步,我们不是真的计算机科学家,因此,算法方面,大多数时候,应该站在巨人的肩膀上,用其他人开发好的程序库来实现。语言本身大概包含程序的基本结构、数据类型、流程控制,库函数。前面的三个几个小时编一两个程序就能学会。后面的,用到再学,先大概浏览知道有哪些功能即可。

学会像计算机一样思考,了解语言和程序包之后,就需要开始写程序。写程序需要有良好的习惯和风格,例如变量和函数的名称要有意义,利用好注释,本功能拆分成尽量独立和能重用的子程序。缩进、大小写尽量保持一致。

当好科学家不是一件容易的事情,你希望各种理念和工具上,都走在世界的前面。