跨学科计算思维教学的认识与实践浅谈
摘 要:本文介绍了一门跨学科课程的内容与教学实践的体会,该课程以网
络为中心,以社会学与经济学的若干经典问题为背景,以应用数学和计算机科学
的基本概念为语言,向学生展示了一种交叉学科尤其是计算思维在社会科学中运
用的广阔图景。同时,作者也对当下开展跨学科与计算思维教学活动的背景和意
义以及开展这类教学活动实践的可行性提出了认识与思考。
关键词:跨学科;计算思维;社会科学;本科生课程;认识;实践
一、“跨学科”与“计算思维”
近年来,在我所处的工作环境中,能感到有两股思潮:一是“跨学科”,二是
“计算思维”。有关呼吁或者宣示在许多场合都能听到,人们愿意用这样两个词语
描述他们的想法和工作,国内外都是如此。这种氛围,10年前体验不多,20年
前感受更少,也就是近几年才浮现起来的。尽管现在看得见摸得着的东西似乎还
不多,也有些人表示疑惑,但我体会其所代表的方向性和潮流感是明显的。
我相信这两个观念。这种信念的准确来源难以说清楚,但触发在于一次某国
外大学董事会代表团访问北京大学,我参与接待,其中一位著名大学前校长在听
完了我们学校的情况例行介绍后问了这样一个问题:How Peking University
is addressing the critical challenges our mankind is facing? 我立刻
感觉这是一个好问题,这后面有个潜台词,那就是大学的教育不能不关注人类发
展所面临的重大共性问题。在这样的发问下,简单报告一个大学有多少学科、多
少经费、多少成果等等就显得比较苍白了。
人类现在面临什么重大问题?换言之,现在面临的问题与以前有什么显著不
同?从第一次工业革命算起,过去二百多年来,人类经济社会发展的主旋律是追
求不断提高的生产效率,是要以最少的成本生产最多的产品,是GDP。然而,
近几十年来这种情形发生了变化,虽然这个地球上一些地方依然有贫困与饥饿,
但从人类已经创造出来的生产力来看,现在面临的主要挑战已不再是吃饭穿衣的
困难,而是自然资源消耗过快、全球变暖、环境污染、医疗保障、非传统安全、
老龄化、贫富差距过大等严峻问题。
从我熟悉的角度来看,我认为解决这些问题有两个共同的要求,一是多学科
交叉,二是离不开计算。这里所说的多学科交叉,不同于在传统学科划分基础上
的协作,而是不同学科的思想在方法论层面的融合;这里所说的计算,不仅是用
计算机作为工具来提高解决问题的效率,更是计算思维在理解问题本身、寻求解
决问题途径中的作用。图灵奖获得者,加州大学伯克利分校Richard Karp教授
去年发表过一篇文章Understanding Science Through the Computational
Lens,讲的就是计算思维在推动其他科学门类的发展中会发挥日益重要与深刻的
作用。
二、“网络、群体与市场”课程的开设
鉴于上述体会与认识,我们开始花一些时间考虑跨学科与计算思维的问题。
最后认定,可以从教学做起,也算是符合我们在大学工作的本意,其中也受到罗
格斯大学Fred Roberts教授的文章The Challenges of Multidisciplinary
Education in Computer Science的影响。于是,经过一两年的准备,2011年
秋天与社会学教授邱泽奇老师在北大开出了一门以社会学和经济学问题为背景、
以网络分析为手段、以计算思维为线索的本科生公选课程“网络、群体与市场”。
今年春天有幸也在北航高等工程学院讲了一遍;夏天又办了一个全国教师培训
班,用一周的时间,向来自35所学校的38名老师介绍了这门课的主要内容和教
学精神。
课程的内容不仅特别,也很丰富,下面给出我在北大开课申请上描述的内容。
1.图论与社会网络。课程将从讨论网络的结构性特征开始,进入社会网络
分析主题,包括介绍社会学中著名的“弱关系的优势”、“结构平衡”等经典概念,
也要讨论在计算机技术支持下进行大规模在线社会网络实证研究的相关方法和
结果。
2.博弈论基础。除了结构性特征蕴含丰富的社会性含义外,由网络互连起
来的实体的互动行为更是精妙多彩。刻画这些行为相互作用的成熟的技术工具即
是博弈论。我们通过例子展开相关讨论,包括不同拍卖形式的性质以及在网络流
量模式中出现的一些悖论现象。
3.网络中的市场和策略性相互作用。市场参与者之间的相互作用能够自然
地看成是网络中发生的现象。通过网络建模,我们讨论个体在网络结构中的地位
与其交易能力的关系。通过这样的讨论,学生们能够感受到图论和博弈论原理在
网络行为分析中联动的情境。
4.信息网络和World Wide Web。学生们应该已经了解了互联网及其应
用的一般知识。这里要讨论将World Wide Web看成一个网络的宏观形象,搜
索引擎怎么利用信息之间的关系来进行网页排名以及搜索引擎广告位定价的市
场机制。
5.网络动力学的总体模型。网络促进了信息(包括观点、信念、创新、技
术等)的流动。这里讨论在人群总体意义上流动是如何发生的。所谓“人群总体”
是指网络本身可能看不见(但存在),从而我们只能观察到聚集效应。这一部分
会介绍一些有趣的现象,包括信息的级联、在市场上产品成功的转折点、幂律、
长尾和齐布夫定律等。
6.网络动力学的结构模型。这一部分讨论当了解网络结构细节的时候,事
物是如何在网络中传播扩散的。所谓“事物”包括信息、行为、疾病等。小世界现
象以及线粒体夏娃的存在性都是这一部分的亮点。
7.制度及其聚合行为。基于网络及其隐含的信息传播能力,我们讨论对一
些制度的性质的认识,由此可能激发学生对一些领域的政策提出新的见解。这些
将通过一些经典例子来解释,涉及信息在市场中的作用以及产权等。
三、认识与体会
以这门非传统的课程为背景,经过几轮教学实践,体会颇深,而且每一轮都
有新的收获。首先,学生们对这样的教学内容很感兴趣。这门课上,我们谈到大
量十分熟悉的话题,包括社会网络、匹配市场、小世界现象、信息的不对称对市
场行为的影响等等,但不是像通常做介绍性报告那样泛泛而谈(那样的报告,一
般信息量大但缺乏挑战性思考),而是依托社会学和经济学的一些观念,用数学
和计算机科学的语言对有关现象进行详尽的分析推理,尤其是让学生能够欣赏到
某些看起来随机发生的社会行为和经济行为所体现出来的过程就是一个优化计
算的过程,从而常常有熟悉之中、意料之外的效果。举一个例子,社会网络中的
小世界现象是人们耳熟能详的,但大都只是知道当年Milgram的实验所带来的第
一个认识,即任意两个人之间存在大量短路径,所谓六度分隔。人们一般不知道
那个实验还带来另一个惊奇,即为什么那些被转发的信件能够实际上沿着短路径
到达目的地。短路径的存在性并不必定意味着分散搜索过程一定会实现在短路径
上。另一个例子是幂律、长尾、齐布夫定律等与流行性相关的几个概念的关系。
这几个术语现在常见于各种文献资料中,一谈到网络大数据,几乎离不开它们,
也是人们乐此不疲展示的现象。这几个概念之间似乎是有关系的,但这种关系只
是当我们从市场的角度来解释这几个概念的时候,一个将它们串起来的线索才自
然显现出来。我体会到,有两种课程对学生是有益的:一种是教他们学会将来用
得着的方法和工具;另一种是让他们得到启迪,产生对生活、对科学的憧憬。这
门课重在后者。
其次,计算机专业的教师能上好这样的课。这是一门定位在本科层次的跨学
科课程,学生可以来自多个不同专业(例如这学期北大又开了这门课,学生分布
在十多个院系),对于计算机专业的教师来说,需要补充一些社会学和经济学的
基础知识,但主要都是一些常识性的内容,因此不会有乍听起来那么困难。对比
之下,这门课要讲出计算思维的味道,我觉得计算机专业的教师也许要比其他专
业的教师容易一些。而且,课程各部分内容相互独立性较强,可以较方便地剪裁
成不同规格的课程,例如天津大学计算机学院这学期给2012级新生开了一门概
论性质的课“计算社会学前沿研究”,1个学分,就取材于上述内容。
最后,教材很关键。这种教学实践目前能够有效地开展,得益于康奈尔大学
的David Easley教授(经济学家)和Jon Kleinberg教授(计算机科学家)合
编的一本优秀教材Networks, Crowds, and Markets,我们将它译成了中文,
叫做《网络、群体与市场》。在学习翻译这本教材的过程中,也是感触颇深,其
涵盖的知识面之宽、思想性之强,令人赞叹。同时,我们也学习他们在康奈尔大
学组织教学活动的实践——用网络讲网络,利用公开的博客来收集学生的作业,
从而以几乎零成本达到一种学生之间交流和相互启发的目的。
再放眼望去,除了康奈尔大学外,斯坦福大学、麻省理工、密西根大学,剑
桥大学等国外优秀大学都已经纷纷开出了相关课程,这无疑体现了一种共识。因
此,我认为在计算机专业的教学活动中引入一些跨学科元素应该且将成为一种普
遍的实践。而让计算思维潜移默化在其他专业的教学内容中则是我们计算机专业
学人的一种责任,这不只是因为计算机专业要面向未来发展,更是为了促进自然
科学与社会科学的未来发展,我们应该在人才培养方面作出符合时代特征的贡
献。