金课孵化器之理解型学习

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

答案就是:促进对世界的理解的,促进对学科大图景的理解的,促进提升理解世界、理解学科大图景的方法的课程,就是金课(之一种)。学科大图景指的是一个学科的一个学科的典型研究对象、典型研究问题、典型思维方式、典型分析方法、和世界还有其他学科的关系。方法指的是通用的思维方式——例如批判性思维(只有经过自己的理性或者实验验证的东西才是一个学习者能相信并且成为认识世界的基础的东西)、系联性思考(理解任何一个东西都要通过把这个东西联系到之前已经经受过理性或者实验检验的东西上面),以及学习方法——例如理解型学习、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的方式,来更新软件。操作系统本身程序库里面包含的相应软件,不一定能够实现这些功能。

汉语拼音的系统化可拼读化:只增加一个字母,就能完全拼读,而且规则变少

最近在帮逸儿学习汉语拼音。这个很多时候能够拼读,很多时候又不能够拼读的汉语拼音确实是一个烦人的东西。这样的辅助发音体系还最好有,不能完全扔了。所以,可以考虑做局部的调整。这样的调整,本质上,就是从完全准确的完整的汉字读音列表开始,例如用通用国际音标来标记,然后,选择一些能够合并的音合并起来,使得用比标准国际音标更少的表音符号就能够比较准确地标注汉字的读音。当然,实际上修改起来会遇到各种困难,例如现在已经习惯的人,现在已经做出来的文字系统出版系统等,都会是阻力。所以,这里,仅仅列做来能做的一点点修改,那些仅仅修改一点点地方就能够使得系统化程度更高,可拼读程度更高的地方。

  1. 第一个要改变的就是引入ə,用来区分e的两个音:e和ə。前者是例如在ei,en,er,eng里面的发音,后者例如在ie(iə),üe(üə)里面。
  2. 第二个要改变的就是利用引入的ə,用重新标注uo(uə)和ou(əu)。
  3. 第三个顺便统一uo(uə)和o。这两个音实际上略有区别,但是,为了简单记,不如合起来算了。例如,玻(bo)璃和玻(buo,buə)璃实际上,差不多。这样就相当于取消了字母o的单独发音。
  4. 第四个,那么o怎么办呢,还需要保留吗?需要,而且发音方式是ɔ的发音,仅仅用在ao和ong里面。
  5. 第五个,用ŋ取代ng里面,省的ng(嗯歌,讷歌,都拼不出来ŋ的发音)不可拼读。
  6. 第六个,取消去不去掉ü上两点的规则,以及表声调的位置的规则。例如可以设定这样的规则(能够不变的就不变,能够少一件事,就少一件事):一直保留ü,一直把声调标注在第一个元音字母上。
  7. 第七个,ian改成ien,üan改成üen。例如,线(xian)条是不可拼读的,只有线(xien)条才是,选择是(xüen ze)。
  8. 第八个,允许元音字母出现在第一个,也就是允许没有声母的拼音;同时允许只有声母的拼音。前者,例如ua,iou(顺便让iu回到iou,让ui回到uei)。后者例如sh(诗,建议也修改为符号ð),zh(蜘,建议也找个单个的新符号),ch(吃,建议也找个单个的新符号),z,c,s。这样也就顺便取消了拼音字母y,w。
  9. 第九个,最重要的一个,取消所有的固定拼读韵母,完全通过把发音连起来——拼读起来——来读汉语拼音。

有了上面的修改,韵母a, o, e, i, u, ü成了a, u-ə, e, ə, i, u, ü, o。中间的u-ə不是基础字母,于是,基础字母成了a, e, ə, i, u, ü,o。

另外n,r,ŋ三个字母比较特殊,一定程度上扮演了韵母的角色。不过,按照我们的新的规则,我们不需要区分声母韵母,直接合起来读过去就行了。

从这七(其实是6.01个,最后的o仅仅在两个地方用得到)个字母除法,ai, ei, ao, uo, ou, iu, ui, ie, üe, an, en, in, un, ün, ang, eng, ing, ong,ian, uan, üan, iang, iong, uang, 所有这些固定组合就都不需要了,换成如下能够拼读的: a-i(表示两个字母合起来读就行), e-i, a-o, u-ə, ə-u, i-ə-u, u-e-i, i-ə, ü-ə, a-n, e-n, i-n, u-n, ü-n, a-ŋ, e-ŋ, i-ŋ, o-ŋ,i-e-n, u-a-n, ü-e-n, i-a-ŋ, i-o-ŋ, u-a-ŋ.

声母方面,我们留下来了:b,p,m,f,d,t,n(完全按照英文音标的发音,不再需要它来扮演nu和un两个角色了,都大概读作“en”),l,g,k,h,j,q,x,zh,ch,sh,r,z,c,s。

有了这些,我们就完全能够拼读了:一字一音,没有固定读法,直接通过组合——也就是连读——来发音。例如,线条(x-i-e-n t-i-a-o),绚烂(x-ü-a-n l-a-n),无穷(u q-i-o-ŋ), 无缺(u, q-ü-ə)。

当然,这样的修补工程不能完全实现最大的系统化——也就是用最少的基本发音单位来表达所有的读音并且完全可拼读。如果想完全系统化,还是要通过先用国际音标把所有的发音标准确,然后再合并近似的方法。例如,q,x,j的存在和合理性,以及是不是有更好的方案,就是一个需要从这个根本的系统化角度来讨论的问题。当然,以上的讨论仅仅是原理性的讨论,真的改起来,尽管长期来看肯定是好事,但是,短期来看代价还是太大。有兴趣的学生,尤其是学习我的《系统科学导引》的学生,可以拿这个来练练手,体会一下什么是系统科学。

顺便,这里也体现了把数学和科学的技术和思想,尤其是系统的思想——用最少的单元来足够准确地表示事物,用于问题识别和问题解决。可惜了,当年设计这个汉语拼音的时候,可能数学家、物理学家没有太多的参与。

按道理,赵元任的数学物理都很好的啊。当然,我这个修补也不一定比赵元任的汉语罗马字强,倒是更简单了,并且,显然比目前的汉语拼音强——我这个是完全可拼读的。