系统科学基础课程的教材草稿

最近正在写系统科学基础的教材,欢迎大家提意见。我会一直更新这个工作版本

目前,第二部分,系统科学的数学物理基础已经基本完成,除了随机过程。

第一部分,系统科学导论,还需要很大的功夫,找例子,分类,复述,写评论。
第三部分,系统科学的基础理论,非线性动力学部分也基本完成。复杂网络没有动笔,但也不是难事。其他的部分还需要一些时间。
第四部分,计算附录以及概念地图学习方法,应该也花不了太多时间。

精简教育:Teach Less, Learn More

教学设计上,课程内容与方向的设计,从小学甚至更早开始,就需要一个一般原则,而不是注重各种各样的奇技淫巧,歪门邪道。从知识的角度需要学习的东西很多,学不过来,但是,从对学科的一般认识以及进一步自己学习的角度,需要学习的东西很少很少。

From the beginning of a person’s education, say elementary school or even earlier, there should be a principle, or a general guide line, based on which the whole set of courses curriculum, teaching methods and styles, learning methods and techniques, should be designed. Without such a principle, all those fancy or not-so-fancy techniques and all those creative or not-so-creative teaching methods, are just clever but useless/dishonest tricks. From the perspective of learning as to acquire knowledge, there are too much to learn in every field; from the perspective of learning what is the field and building up a basis from which one can start to learn things in that field by ones’ own, however, there is really not much to learn.

这个一般的原则,也就是正道,我认为是:精简教育,学习最核心的东西。那么什么是最核心的东西呢?学习对一个学科的一般认识(也就是通常所说的:学习某专业就要像一个某某家一样思考)还有进一步自己学习的基础。

This principle, I believe, is: Teach less, learn more. Learn only the core part of a field. So what is the core part? I believe it is to form a general scope of the field, or what commonly expressed as “when you learn a field, you should think like the best scholars in this field”, and learn sufficient basic concept and skills so that one can learn more about this field on ones’ own.

进一步自己学习的基础还有待整理。这里,我写下来我对学科的一般认识。

While waiting for answers for the question of what should be the basic but sufficient concepts and techniques of each individual fields, here I want to talk a little bit on what I think a top expert in the field of the following several fields look at those fields.

数学家:把现实世界抽象成数学问题,把抽象出来的数学问题解决;
物理学家:把现实世界抽象成物理问题,把物理问题转化成数学问题,解决抽象出来的数学问题;
计算机科学家:把现实世界抽象成数学问题,用算法的方式和角度解决这个数学问题;

Mathematicians: Convert real-world phenomena into well-defined mathematical problems, if not well-defined then develop mathematics first to make the problem well-defined, and then solve the abstracted math problems.
Physicists: Convert real-world phenomena into physical problems and then express the physical problems as math problems, and then solve the math problems.
Computer scientists: Convert the real-world phenomena into math problems, and then solve the math problems in an algorithmic fashion.

通常的语言使用者,母语:读和写,其中最主要的是把自己的想法和说的话,转化成文字;
专业的文字使用者:有想法和想说的话,可以用来表达,加上把这些想法和想说的话转化成文字的能力;
通常的语言使用者,非母语:听说读写,利用或者不利用母语,把自己的想法和想说的话,转化成文字和声音。

Language users, native: Reading and writing, convert their ideas and what they want to express into written words.
Profession language users: the previous, plus find something about which they have some ideas or have the desire/inspiration to say something.
Language users, non-native: Listening, speaking, reading and writing, using their native language or not, to convert their ideas and what they want to express into spoken and written words of the target language.

其他科学家,以后再添上。

When I, myself, have the inspiration and also indeed have something non-trivial to say, I will add my understandings of other fields.

所有的不是以这个核心能力为目标的教育和教学都是有害的。学习者可能变的越来越有学识,但是同时变得越来越古板,没有创造性,越来越像一个google服务器——一个供检索的知识容器。

All teaching, or more generally education, if is not based on this general principle, do more harm than good to the learners. People might become more and more educated, but meanwhile become less and less creative, more and more like a machine, or I would like to call it, a google server.

我希望有一天,有人能够把这些真正有必要学习的,对学科的一般认识,进一步自己学习的基础,都整理出来。

I wish one day, there will be others who also respect this picture of education and go through all fields to comb out those core parts, including the general scope of the fields and also the minimum set of basic but sufficient concepts and techniques.

真正的减负在于用更少的时间学会更好的更核心的东西,并且学会高效的学习方法。

If we want our next generation to learn happier, it can not be achieved by simply reducing the work load such as school hours and size of homework, but can only be reached by teaching only the core parts, and teaching it better.

Prof. Alberto Canas added that once the principles/big ideas have been identified, problem-based learning and project-based learning should be used to bring those big ideas down to the earth.

So I suggested the following formula that: Teaching = guidelines/principles/big pictures/big ideas + examples + logic structure. Concept mapping and concept maps can be helpful in constructing/presenting the first and the last, problem-based learning can be helpful in implementing the second.

关于教学评价和教学

今天拿到了本科课程《量子力学》和《系统科学与传统语言文字》(在管理科学这边叫做《数学模型》)的教学评价结果。很有意思。

量子力学和数学模型总分都低于4分(5分制),系统科学与传统语言文字大约4.5分。我看了评价和意见,都挺合理的。包含数学模型与语言文字实际上是一门课两班的学生在评,结果差异很大也是有道理的。

主要的意见是太难。这个真的有。

但是,我的意见是:本来我的课程就不是给所有的学生开的。这个我在上课的时候也强调过。我希望学生能够有自由来选择自己喜欢又上得下去的课程来上。我的理念是:第一,老师是沟通知识和学生之间的桥梁,知识本身的结构决定了最佳的理解和学习方式,可以考虑到学生的接受能力改变传授方式,但是不能改变知识的结构与理解;第二,每一个学生都应该被当作科学家(或者这门课的相应领域的专家)来培养,直到这个学生他/她自己发现不是这样(也有可能通过这个方式,这个学生忽然发现原来自己是这个料,以前就是没有被引进门)。当然,不同的老师,有不同的理念。这个是允许的,必然的。

所以,我希望学校能够做到提供多个平行课程供学生选择,给学生在制定自己的培养方式上更多的选择,最好连必修课都取消,但是保留授予某专业学位的最低核心课程要求。这个就好像牙膏应该有一个国家标准才能叫做牙膏,但是不同牙膏的质地、内容、包装、价格都应该是商家和厂家根据市场定下来,然后顾客去购买一样。

顺便,有一位学生的评价是这样的:改变了我对《自然科学》的看法,改变了我的《系统科学》的理解。我的课程,就是为了这样的人开的。打开一个门,或者一扇窗,让你把脑袋伸进另外一个地方去,看看那个世界的精彩。

但愿,以后来上我的课程的学生都是自己选择来的。

我做研究生的时候

我在三个地方念过研究生:北京师范大学,Simon Fraser University, UBC。对很多学生,我的经验不一定有很大的借鉴意义,但是至少比较小的借鉴意义是有的。我稍作整理,比较随意的整理。

我在北京师范大学物理系的研究生导师是杨展如,我们本科热力学与统计物理的老师。所以在入学之前,1998年底或者1999年初,我就拿到了杨老师找过来的一篇中文的关于“Bose-Einstein 凝聚”的介绍性文章。让我从那里开始了解这个领域,看一看硕士期间可以在这个里面做什么。杨老师那个时候已经是副校长,不能很好地随时跟踪文献的新进展。于是,杨老师说,有一天,杨老师是要从我们这里学习新材料的。(杨老师就是这样一个正直、坦率,心胸开阔的人!我觉得我的心胸也还不算小,但是,有什么想不通的时候,我就想想我身边这些心胸特别宽广的人)于是,我从这个介绍性文章开始,追踪文献,看了大量的英文文章。有的时候遇到杨老师、裴寿镛老师,我就问,这个期刊的缩写到底代表什么等非常弱智的,但是又急需得到帮助的问题。那个时候我们没有google,电子图书以及电子图书馆也基本没有。遇到读不懂的文章,就把主要线路看明白(从哪里开始,做的是什么),怎么做的部分留下来,请教杨老师和其他的老师,还有师兄。杨老师基本上就是一个我随时可以获得帮助的地方,给我指点关于这个领域的方向,指出什么地方可以补充这个领域的基础知识。我觉得这个就是一个导师最应该发挥的作用。(当然,也有另外一种类型的导师,做什么,怎么做基本上都设计好了,学生只用学会如何实现。这样的,也有好的,但是我不喜欢。我现在自己做导师的时候,就算我已经完全设计好了,也喜欢把问题和文献给学生,然后让学生悟出来。当然,悟不出来的时候,问我,我可以给提示。)

后来,有那么一段时间,我找到了一个可以做的方向(大约是外磁场中二维BEC的计算。按照经典统计力学二维系统没有BEC,能级简併度或者说态密度决定的。但是,加了外磁场以后简併度改变了,使得二维系统也可能实现凝聚了),但是经过更加广泛的阅读之后发现,这个问题已经被一组研究者完成了。后来,入学之后,学习了高等量子力学之后,还试过一些别的计算,例如计算凝聚体的形状,速度分布,考虑粒子之间的相互作用等等。也经常发现要么我还做不了,要么已经被其他人解决了。现在想起来,这个就是饶毅说的研究生的第一个阶段:很多事都被做了。其实是涉猎的广泛程度和深入程度都不够,够深的话,可以研究更难的问题,够广的话,可以把它与别的东西联系起来。例如,从够深的角度来说,最近我才知道有一个叫做Lattice Boltzmann的方法,也可以用来求解决定凝聚体形状的方程。从够广的角度来说,我后来发现,其实研究网络的研究者也有把网络与BEC整合在一起的。这一阶段,我主要提高了从阅读大量的文献中,整理研究现状,提炼研究问题的能力。我把它叫做“学会做综述”。

过了这个第一个阶段,主要的工作领域,受包景东老师启发,开始做统计系统的Monte Carlo模拟。在这个问题本身仅仅做了一个算不上数的工作,但是,重要的是,第一学会了数值模拟,第二后来把这个工具用来研究社会分工现象(与狄增如老师合作),把两个不太相关的领域连在了一起来看。而且,这个工作提出(后来发现是再发现而已)的利用Boltzmann分布描述决策的思路,非常深刻。这个时候,我已经基本上学会思考的深入的同时,思考的广泛。这个需要随时思考问题,思考的好的习惯,还需要看大量的文献和书籍来了解这个领域。

但是,其实,我花在看文献和书籍上的时间也不是特别多(还是挺多的,但不是主要时间),主要的时间,我是在思考。通常,我会通过某种方式对某一个领域或者某种方法感兴趣。然后,自己思考这个领域的基本科学问题或者这个方法的基本的精神。接着,找一两本这个领域比较新(有一定的前瞻性)的又比较旧(有很好的基础问题的思考)的书来看,接着想问题,与自己之前的思考对比。然后,尝试问自己,该做什么,能做什么,从哪里动手。这个时候,如果有这个方面的综述,我就可以开始利用综述来检验我思考的做什么的问题。如果没有,就做大量的文献阅读。经常,我会发现很多我想做的事情,确实被做了,或者暂时没有发现,等到我开始这个工作,才发现被做了。这个就是我这种基本上独立思考的工作方式的一个缺点:没有阅读足够的文献。但是,这样的方式,确实省时间。前提是,在技术上的准备,在这个领域的基本问题的认识上,做了比较好的准备。而且,这个自己思考的过程不是浪费,把有意义的工作的思路自己想一遍也是快乐的研究问题的过程。进一步,这样的思考,往往引导我进一下一步,思考其他人还没有解决甚至没有思考的问题,这个就更有意思了。我把这个叫做“学会独立思考”。

在BNU和SFU之间,我花了一年多的时间在系统科学系与系统科学系的老师们一起开展复杂网络和经济物理学的工作,并讲授经济物理学和数学模型的课程,指导学生。我做的事情也基本上是思考做什么,怎么做,看文献,总结研究现状。期间,我们通过努力实现了好几个方面研究论文的零的突破,并成功申请获得了多个自然科学基金。让一个硕士毕业的学生有机会承担着么大的责任,这是很难得的。这也是我选择毕业以后直接回来的原因。听说就有硕士生向当时的系主任王有贵反映为什么让硕士生来给他讲硕士课程的。不过,我后来从别人那里当成故事才知道的这件事情。我从硕士二年级开始就带别的硕士开展工作,所以,我自己从来没有觉得这有什么不合适的。我从小学四年级开始代我们老师讲我们自己班里的作业课,我从来没觉得不合适的。

在SFU的一年(博士,没老板),是我开阔思路的方向上非常有成效的一年:把量子系统和博弈论结合,利用复杂网络的思考方式来解决很多实际系统的问题,思考量子力学基本问题(有关测量和随机性,受裴老师启发)。

进入UBC之后,七年多的硕士加博士期间,只研究一个问题:量子非平衡输运定态的求解。这个问题是我的导师Mona Berciu非常感兴趣的问题,但是从非平衡定态,量子力学基本方程,出发的计算,不是Mona的已有研究领域。所以,同样,我的导师对我的指导方式是提供各种帮助。我思考某个问题过不去的时候,导师是我要找的人;我的推导甚至数值计算需要第二双眼睛的时候,导师是我要找的人。Mona非常了不起,我的所有的公式,她必然自己顺着思路独立推导一遍,我的程序的每一个步骤,她也一定做到心里有数。其中,有一个特别关键的地方,我们困住了很长时间,直到有一天,Mona说,你别给我看你的推导了,我已经明白了你的思路,我自己来。然后,经过Mona引入的一个额外的变换,我的计算中一个含时项就变成了不含时项。这个进展直接使得我们的计算变得看起来非常可行。这个看法直到后来遇到$N$很大的时候,方程的维数$4^N$实在太大,才改变的比较现实。之后,我试探了各种求解方程的高效率的算法(我在这个时候学会了数值线性代数,数值分析的另外一条腿,前一条是Monte Carlo模拟),并行计算,稀疏矩阵的计算等等。但是都没有成功地解开我们预期很容易就能够解开的方程。直到第六年的某个时间,我忽然想起来试试Green函数,接着想起来试试相干态表象。事实证明这两个方法都能够极大程度地提高求解这个方程的效率。

第一件重要的事情:对一个领域的基本问题有自己的认识和思考。这个不一定通过阅读大量的文献来得到,而是阅读合理的数量的文献,加上自己的体会,加上已经掌握的相关领域的知识,和解决这个领域的问题的一般技术
第二件重要的事情:梳理文献,建立这个研究领域的图景。这个需要学会如何阅读文献,加工出合适的信息,还需要如何寻找合适的文献。这方面科学学发展起来的技术可以帮忙。例如寻找这个小领域最有影响力的作者和文章是有帮助的。
第三件重要的事情:如果有一件事情可以让你坐上5年以上的板凳,还是很有激情和动力,那么你很幸运获得了一个非常难得的机会,大多数研究生没有这个可贵的经历。

其他的小的经验:不仅仅你的导师是你的老师,非常熟悉的技术才能成为你的思考的一部分(例如,稳定性分析的概念和技术,你需要熟练到一定程度,才能任何时刻都想得起来自觉地去用它。这是为什么你学习非线性动力学的时候需要做一定的练习量。而不能等到其它研究者在这里用了你才知道,哦,原来,这个也可以用在这里!),开阔的视野,好的技术,对领域的深入的认识对于真正的研究工作都是需要的。

用两个例子来解释大物理学

为了推广我提出的所谓“大物理学”的思路,给学生准备了一个用具体研究工作的例子来阐述什么是大物理学。大物理学就是:把数学、物理学的思想、角度、概念、计算方法、模型推广到非传统物理学的研究对象上,以及推进对这种类型的数学、物理学的思想、角度、概念、计算方法、模型本身的研究的基本问题。其中,如果通过前者促进了后者的发展,那更加是大物理学的核心内容之一。具体的研究对象和研究问题并没有限制。大概来说,按照历史发展,已经有这么几个方面:远离平衡的系统中结构的产生,非平衡系统的基本问题,人类行为(在社会、经济系统之中)的客观一面等等。留待以后慢慢总结。更详细的讨论见:大物理学,Big Physics

第一个例子是关于我们最近的科学学的工作的。第二个例子是我们汉字学习的研究工作。我们计划把其他人的工作也整理一下,如果这个工作:第一、促进了“系统科学”、“大物理学”的基本理论的进展;第二、拓展了“大物理学”的应用领域;或者第三、通过拓展应用,提出了新的基本理论的问题。

为了卖私货,我把其它的例子也放了进去。其中还有一部分给学生门总结的学习资料、如何学习、如何看文章、如何遍程序。部分内容在系统理论进展报告过。JinshanSSBNU