硬课和上大学的目的,让金课从硬课开始

我自己的课都是以“教的更少,学得更多”的理念来设计的。核心理念也就是:学科大图景、理解型学习。主要操作方式就是把一个学科一门课的大图景(典型对象、典型问题、典型思维方式、典型分析方法、和世界以及其他学科的关系)整理出来,然后选择最少的概念和例子,来体现好这个学科大图景。在这个过程中,大部分的内容都是留给学生自学的。学生怎么自学呢,通过布置作业,然后学生做作业的时候重新回忆课程内容、看书、做题。一般来说,有技能性任务(例如计算或者画图)的课程会布置大约五道题每两周。按照中等学生的情况来估计,每道题大约五小时,加上看书和复习时间,以及有必要的情况下找助教、老师、同学讨论的时间,大约每两周需要40小时左右的时间。如果基本上是理念性的课程,则基本上每两周一本书要细读和做读书报告,每周一本书要略读。时间消耗上,也差不多是每周20小时。期末一般来说还要提交一份课程大作业。

这样的课程负担,跟国外学校比起来,是偏少的。我自己在UBC上学的时候,第一学期选了三门课程(量子、场论、电动),主管研究生的系主任就找我谈话,说你确定能够同时学习这三门课,请你在两个星期之后来找我一趟。当然,我的情况特殊,内容都是已经学过一遍的(当然,实际上,通过UBC的研究生课学到的内容深度和加深的对世界的理解,还是远远超过我在师大的研究生阶段学的这几门课的)。但是,就算这样,每一道场论的题基本上还是要花5-10小时,然后,每周3-5道这样的题。电动的题稍微耗时少一点。量子倒是能算的就容易算,不能算的就不会出成作业题。就这样,也是大约合起来每周40小时以上。对于大多数的内容上没学过的学生,要是选这样三门课,还要加上搞懂内容的时间,我怀疑得差不多每周60小时。这样的话,确实,系主任要来关注一下了。

就算有再好的老师,每一门课,也基本上是自己通过“在老师引导下的”自学(看书、做作业、和老师助教同学讨论、运用)来学会的。如果老师能够给你在大图景上的引导,加上合适的学习材料和作业的选择、作业的反馈、参与讨论,那么,这已经是了不起的学习的机会了。我还记得我在师大上本科的时候自己做吉米多维奇和它的关于线性代数的兄弟习题册,以及自己拉队伍做数学模型(队伍的指导老师狄增如也是我们几个人闯进门拉进来的,而且一拉就进了)的岁月,以及在理科一阅览室白老师帮我们选书以及问我们“今天你们考完试了,你还在阅览室带着干什么”的日子。

可是,我回来以后,自己当老师的时候,发现,学生们可基本不是这样想的。他们希望一门课就是老师在黑板上讲讲,他们坐着听一听,最好没有作业,最好考试的东西都是可以在期末的一两周之内记住的。我不知道对大学课程的这样的期望是哪里来的。我也不明白,如果是这样一个期望,那来上大学做什么?这样的讲座或者偶尔一两次课是可以有的,启发你思考人生,认识世界。但是,如果是课程,则还需要下真功夫,因为就算启发了之后,还需要真的下功夫来真的理解世界才行:之前人类文明的积累,不管是知识还是思维方式、分析方法,总要成为你认识世界的基础才行啊。我不知道,如果大学的学习都是符合这样的期望的课程的话,开设大学做什么?

学生把珍贵的时间拿出来,家里还要出钱,如果像国外一样的话还要付高额的学费,然后,就是为了能够舒舒服服地把日子过完,管它能不能学到东西?同学们,你们不觉得这很不划算吗?

学校把学生们的时间花掉,还要雇佣大量的研究者来讲课,还要投资各种软硬件设施,就是为了让学生们把在大学的日子舒舒服服地过完,管他能不能学到东西?大学呀,你不觉得这很不划算吗?

我真的不知道什么时候,大学成了这个样子,大学生成了这个样子。大学呀,那些极少数能够坚持上硬课的老师,能够把学科大图景把握好讲出来,甚至还能够让学生们体会到研究者对这个学科的热爱的老师,是你难得的财富。大学生们,那些极少数能够真的把时间投入到学习(和学习之余的玩乐),企图领会到这个学科是什么,甚至看一看我喜欢哪个学科喜欢做什么的学生,是你们之中难得的想清楚的人。

由于学科的差别,从内容上来衡量一门课是水课还是金课是有难度的(当然,有难度不是就不能做,还得做。例如看内容是不是体现学科大图景之类的),但是,从学生学习工作量的形式上,很容易看出来,并且很容易执行:这门课学生的作业量必须超过某个底线的时间(例如20小时每周)、这课都必须有正课时间之外的学生必须参加的习题课。

当然,一部分的水课也是要存在的。但是,建设金课,或者至少“硬课”就可以从这个形式上的要求开始。

金课孵化器之理解型学习

大学确实非常有必要,尽管中小学更有必要,来建设“金课”消灭“水课”,尽管什么是金课什么是水课还是一个问题。在这里,我提出来一个答案,还有做到这个答案的内涵的一个方法,以及一条道路。看看能不能实践一下。

答案就是:促进对世界的理解的,促进对学科大图景的理解的,促进提升理解世界、理解学科大图景的方法的课程,就是金课(之一种)。学科大图景指的是一个学科的一个学科的典型研究对象、典型研究问题、典型思维方式、典型分析方法、和世界还有其他学科的关系。方法指的是通用的思维方式——例如批判性思维(只有经过自己的理性或者实验验证的东西才是一个学习者能相信并且成为认识世界的基础的东西)、系联性思考(理解任何一个东西都要通过把这个东西联系到之前已经经受过理性或者实验检验的东西上面),以及学习方法——例如理解型学习、WHWM分析性阅读和写作、概念地图。

怎么才能做出来这样的金课?首先,建设者必须是学科的专家,能够把学科大图景明确写下来,并且把这个(子)学科的概念地图——包含哪些核心概念还有这些核心概念之间的联系——做出来,并且阐述清楚概念地图和学科大图景之间的联系,也就是用具体的概念和具体的研究案例把学科大图景的各个方面体现出来。这个需要建设者具有这个(子)学科的比较深入的研究经验。没有用过的东西只能道听途说,用过了就能分享深刻的理解和体会。其次,还得是对于培养下一代有心的人。除了从学科大图景的角度,经常还需要从学习者的角度来思考教什么怎么教的问题。最后,还需要这个建设者能够抽出来一定的时间。尤其是第一轮设计和实验教学阶段,可能消耗的时间会远远比拿着一本书就开始讲要多得多。解决了人的问题,那剩下的就是实践中改进的问题了。

为了让这个建设和实践过程更加顺利,可以组织一个讨论班。讨论班甚至可以用课程的形式每周把时间固定下来。例如每周三个小时,给每一个参与建设的老师相当于三个学分的教学工作量的认定。在讨论班中,除了一开始讲授理念和展示例子,每一位参与者都需要引领大家一起来建设(子)学科的概念地图,明确(子)学科的大图景,确定教什么。然后,选择其中的章节来试讲和进一步调整。如果在讨论班内部基本上实践通过,则在下一年开设教学实验课程。

具体成果形式上,首先是课程设计,也就是课程甚至(子)学科的教学大纲。其次,是课程讲义和教材。接着,如果条件成熟(不能强求,不能求快)还可以拍摄视频课程让更多的人受益。将来,如果能够在更大范围内整合,我们还可能形成整个人类知识的概念地图和学习资源库——知识的学习仅仅受概念之间的逻辑关系的制约,而没有学科专业等人为的制约,而且学习者想学什么,都可以得到最好的学习材料,甚至学习顺序上的指导,以及基于概念之间关系的学习检测和认证。当然,真正的成果是受这样的教育出来的学生,以及这些学生将来建设的学科。

团队维护的网站

cloud.systemsci.org 团队云存储,用的owncloud平台,放在北京师范大学(219.224.31.20反向代理)。

cmap.systemsci.org 概念地图网站,用的CmapServer平台,放在北京师范大学(219.224.31.20反向代理)。

game.systemsci.org 博弈实验平台,用的oTree平台,放在北京师范大学(219.224.31.20反向代理)。

hpc.systemsci.org 计算平台,用的jupyter+SageMath平台,以及lapack, petsc, slepc, MKL等计算包(后面这些需要本地ssh登录——例如ssh hpc.systemsci.org -p 7712 使用),放在北京师范大学(219.224.31.43反向代理)。

www.edutopian.org 概念地图为基础架构的课程系统,建设中,暂时只能内部测试,放在北京师范大学。

www.revdi.org 综述文献点评网,建设中,暂时只能内部测试,放在北京师范大学。

www.systemsci.org 团队成员博客群,已经搬到阿里云上。

www.bigphysics.org 团队研究项目整理网站,已经搬到阿里云上。

www.learnm.org 汉字理解型学习网站,已经搬到阿里云上。

阿里云服务器地址,47.93.254.253。ubuntu虚拟机。

学校识别,GRID和google 自定义搜索(custom search engine) api

由于研究工作需要(城市以及学校之间的学术支撑和利用关系、作者姓名识别),需要对文章的作者单位做一个识别。

目前,已经有Grid.ac(https://www.grid.ac/)做了这样的工作,并且提供编码以后的全数据下载

我们也对Grid给出来的结果做了初步测试,结果很不错。不过大约有10%需要人工干预,或者至少人工确认一下。在这个10%之中,通过wikipedia或者google搜索,可以发现,大约有40%左右还是正确的,剩下的就需要从wikipedia或者google搜索来获取数据了。

其中,https://www.google.com/cse/ 提供了用户自定义搜索(针对某个网站+全网)的API。

对于需要人工确认的学校名称、地址,除了调用wikipedia数据(data dump 或者 api)之外,还可以用这个google 自定义搜索(custom search engine) api来实现。例如,这是一个以wikipedia和系统科学人为特定网站设定的(同时也包含了全网的结果的)自定义搜索:https://cse.google.com/cse?cx=003079937312448303458:6csbgejecua

甚至,google还允许你用JSON API的方式来格式化获取搜索结果,而不仅仅是网页形式。不过,这个JSON API的方式每天的上线是1万次,并且不能全网搜索。

latex to rtf, doc, docx, odt

1. 用latex2html可以把文件先转换成为一个html文件。这个时候可以选择用mathjax格式的数学公式,还是图片格式的数学公式。如果选择图片格式,则latex2html会生成一堆图片。
2. 得到html格式的文档之后,用openoffice打开,就能够转存成为odt,doc, docx等格式。

实际上,第一步也可以通过tex4ht来完成(mk4ht oolatex, 或者,htlatex)。如果用tex4ht来完成,很多的公式默认情况下会保留文字。当然,和latex2html一样,都可以通过参数来控制数学公式的输出,例如变成mathjax、mathml格式。

用latex2rtf也可以直接实现转换latex为rtf(latex2rtf -M12)。

用pandoc原则上也能实现这个功能,不过,公示显示、公式交叉引用、参考文献这些没有上面的几个方案效果好。

注意,上面无论哪个工具,都依赖于ImageMagick的convert。有必要可以通过从源文件编译安装ImageMagick的方式,甚至从源文件安装latex2html的方式,来更新软件。操作系统本身程序库里面包含的相应软件,不一定能够实现这些功能。