CCCF专栏 | 如何以计算的视角来思考

2019 年 4 月 22 日 中国计算机学会


我对计算思维持如下立场:我强烈支持其目标,并相信每个人都应该对计算技术如何运作,以及它对科学、商业、管理、教育和社会等诸多领域所产生的影响有所了解。同时,我非常担心关于计算思维的任何计划都会被那些害怕计算在教育中占据一席之地的人所领导。


关键词:计算思维


“一月底的某一天,我于下午六点离开北京前往华盛顿,并于我启程前的十五分钟抵达华盛顿。”我想以此开始本期话题,它将聚焦计算思维这一主题,我将引述两件不同且相互抵触的故事。首先篇首的话使我回想起最近参加的CCF颁奖晚宴,我在晚宴上受到组织者的亲切招待。


第二件事是我离开北京飞往华盛顿。我的确是在周日晚上六点启程,并且在官方时间同一天的五点四十五分到达。如果暂且忘掉这种“时间收缩”是由人为的全球时区系统造成的这一事实,我们会使自己回想起中国古代哲学家惠子所提出的“历物十事”1。他用这些陈述来探索逻辑和语言的概念,这一哲学思想与本期的主题“计算思维”有关。


虽然很难将惠子的思想与构成计算思维的基础——分析哲学直接联系起来,但是这些观点或许已经被那些构建了计算基础的希腊哲学家们认识到。古希腊哲学家亚里士多德和欧几里德生活的时代比惠子晚200年,由他们的工作所开启的一系列思想最终孕育出现代计算机科学。这一系列的思想归功于莱昂哈德·欧拉(Leonard Euler)、查尔斯·巴贝奇(Charles Babbage)、乔治·布尔(George Boole)、库尔特·哥德尔(Kurt Godel)、约翰·冯·诺伊曼(John Von Neumann)、赫伯特·西蒙(Herbert Simon,又名司马贺),以及许多其他学者。在某个时刻,我们或许需要探寻惠子和墨家是如何参与到其中的。


当我们讨论计算思维时为何要从哲学家开始?因为计算思维关注于教育,而这种教育并非出于培养计算机科学家或工程师的目的,而是为了启迪普罗大众。因此,我们从哲学——而不是从数学、工程或是逻辑学开始。其基本想法是,计算思维应该教会人们该如何更清晰地去思考这个由数字计算所创造的世界。这是一个令人敬佩的目标,而且毫无疑问,任何需要帮助朋友、上司或客户理解新型计算机系统的人都能够立即看出人们对于计算更深入的理解所带来的益处。


计算思维的概念通常认为是由周以真(Jeannette Wing)教授提出,她在计算机研究领域担任过多项重要职位,包括就职于美国国家科学基金会、卡耐基梅隆大学、微软研究院和哥伦比亚大学。2006年,她撰写了一篇题为《计算思维》的文章,这篇文章引发的讨论一直延续至今。(该论文可以在ACM数字资料库获得,DOI 编号 10.1145/1118178.1118215,该链接指向原文的多个翻译版本,包括一篇中文译文。)


关于该文章的大多数讨论关注于其中对计算的定义。由于大部分评论者来自计算机领域,他们大体上支持周的观点,即我们应该鼓励甚至要求人们学习计算思维。周将这一主题广义地归纳为一门基础课程——“计算机科学家该如何思考”。她列出了应该被包含在这门课程中的五项要点。首先,她认为这样的课程应当涉及那些不用编程的概念,应当关注计算机程序背后的概念而不是程序本身。如果想要树立计算在人类知识库中的核心地位,那么这将是一个合理的起点。


其次,周提出计算思维应当是基础性的,而不是刻板的。据此,她认为计算思维应该给学生提供工具,让他们能够对实际问题进行推理,而不是教他们一堆需要死记硬背的公式和术语。同样的,如果想要建立计算的核心地位,这将是另一个要点。


从以上两点出发,周引出了第三个令人略有些惊讶的观点。她声称计算思维是属于人类的,而非机器的思维方式;是关于人类如何构思和使用数字技术,而不是关于数字技术本身。这一点非常关键,因为生产或工业管理是计算的源头之一,而这往往被人们忽视。显然计算来源于数学,并受到了工程学根本性的影响。计算与生产之间的联系也是显而易见的,这种联系体现在使用工具的工作、生产货物或提供服务的劳动力等诸多共通要素上。然而,这一点在计算机课堂上鲜有讨论。


例如,巴贝奇在其关于生产的一本书中描述了他的第一台计算机器。这本名为《论机械和制造业的经济》(On the Economy of Machines and Manufactures)的书于 1831 年出版。在书中巴贝奇非常清楚地看到计算和工厂生产之间的联系。他指出,计算可以被分割,就像体力工作可以被分割那样。他还指出,专业化机器,即我们今天的计算机,能够替代工业工人。而计算的准备工作,巴贝奇写到,“像极了生产棉纺、丝织的熟练工,或是其他类似的工作。”


周的第四个观点是,计算思维是对数学和工程技巧的补充和融合。这一点展现了她思维的广度。如果我们研究一下规划或设计一项计算中的工程要素,将会发现它包括如下四个基本步骤:首先将问题抽象出来,并转化为计算机可以处理的符号集合。接着分析问题,将其拆分为若干个子问题。然后综合出一个问题的解,并以适合计算环境的方式集成这些元素。最后将解依照某种逻辑顺序进行重新排列。


这四个步骤经常是同步进行的,或至少是被安排在一个活动周期。我们对问题抽象、分析、合成和排序,然后重复这一过程。我们还需要额外的一个步骤,这一步稍稍超出了计算机或软件工程的范畴。我们需要发挥想象力,将问题的解映射到现实世界中。当然,优秀的软件工程师已经培养出了这种想象力。他们可以预见到程序何时会偏离人类的经验,何时能提供令人惊讶的新见解。


最后,周提出了一个让我犹豫的观点。她认为计算思维应该是一种思想,而不是人造物,应该是普适的而非狭义的。一个根本性的原因让我为此感到担心。曾经有许多学术领域都为自己学科的教育提出过类似的目标。当担心其领域将在人们的心目中变得无关紧要时,人们通常会这样做。例如在美国,曾经有过一次名为“伟大书籍(The Great Books)”的名著阅读运动。它的支持者认为,每个人都应该研读一系列有关西方思想的经典读物。这项运动在 20 世纪 30 年代由芝加哥大学的校长法迪曼(Clifton Fadiman, 1904~1999)发起。他声称欧美社会的一切都蕴藏在这些书籍中,因此社会中的每个人都应该对其有所了解。那个时候学生们开始倾向于就读工程或者商科专业,因此在他推销“伟大书籍”计划时,学生们认为这些书几乎没有价值,无法引起他们的阅读兴趣。“伟大书籍”计划曾在美国短暂流行,但在其后的数年间逐渐式微。虽然在许多大学中都有该计划,但被它所吸引的学生数量却极为有限。


因此,我对计算思维持如下立场:我强烈支持其目标,并相信每个人都应该对计算技术如何运作,以及它对科学、商业、管理、教育和社会等诸多领域所产生的影响有所了解。同时,我非常担心关于计算思维的任何计划都会被那些害怕计算在教育中占据一席之地的人所领导。这些人可以轻松地建立一个这样的计划,旨在让学生欣赏计算机科学家所做的事情,而不是去帮助社会大众更清楚地了解数字交互。如果我们的策略遵循前人的模式,将会发现自己处于这样的境况:尽管计算已被确立为人类知识的核心,但它却依然游离于教育体系之外。


我认为这是未来10~15年计算机教育所面临的挑战。我们该如何构建一个课程体系来帮助人们更清晰地思考计算,而不仅仅去重申计算以及计算机科学家的重要性。我们也许应该效仿惠子发展新的“历物十事”,促使人们去思考计算,以及由其引发的矛盾。或许可以从以下三点开始:


1. 何时程序将不再是编程?

2. 最大的程序永不停息;最小的程序从未开始。

3. 我的程序今天开始运行,但在昨天已经结束。


我想把剩下的部分留给读者来完成。希望计算思维的“历物十事”能有助于确立计算思维的中心地位,并展示如何向大众普及计算思维。

 

作者介绍

戴维·阿兰·格里尔

(David Alan Grier)

2018 CCF杰出贡献奖获得者。电气与电子工程师协会计算机学会(IEEE-CS)前任主席、IEEE Fellow(会士)、Computer杂志主编。乔治·华盛顿大学名誉教授,华盛顿特区Djaghe LLC公司技术总监。grier@gwu.edu

CCCF特邀译者:孙晓明

中国科学院计算技术研究所研究员


脚注


1惠子(公元前390年~公元前317年),名施,战国中期宋国(今河南商丘)人。著名的政治家、哲学家,名家学派的开山鼻祖和主要代表人物。他的著作已经全部佚失,现在能见到的“历物十事”出自《庄子·天下》,是惠子提出的10个名辩命题,贯穿着“合同异”的哲学思想,含有辩证的因素,和后期墨家一样认为物质世界是由微小的不可再分割的物质粒子所构成。——编者注




CCF推荐


【精品文章】


点击“阅读原文”前往CCF数图相关栏目。


登录查看更多
3

相关内容

哲学一词译自「philosophy」,字面意思是「爱智慧」。哲学主要是对自我和世界做最根本的探究和反思。古代希腊、印度、中国等文明都产生了自己的哲学,如今以古希腊为源头的西方哲学发展最盛。哲学的主要分支有形而上学、认识论、逻辑学、伦理学、美学、政治哲学、科学哲学、心灵哲学等。
【纽约大学】最新《离散数学》笔记,451页pdf
专知会员服务
123+阅读 · 2020年5月26日
【Manning新书】现代Java实战,592页pdf
专知会员服务
98+阅读 · 2020年5月22日
中科大-人工智能方向专业课程2020《脑与认知科学导论》
CCCF译文 | 机器学习如何影响本科生计算机课程
中国计算机学会
6+阅读 · 2019年2月18日
专栏 | 字节跳动李航:智能与计算
机器之心
5+阅读 · 2019年1月21日
《常用算法之智能计算 (五) 》:模糊计算
数盟
8+阅读 · 2018年12月24日
CCCF专栏 | 联邦学习
中国计算机学会
26+阅读 · 2018年11月19日
CCCF专栏:李航 | 人工智能的未来 ——记忆、知识、语言
中国计算机学会
6+阅读 · 2018年3月16日
CCCF专栏:黄铁军| 也谈强人工智能
中国计算机学会
5+阅读 · 2018年2月15日
CCCF专栏 | 生成式对抗网络的研究进展与展望
中国计算机学会
13+阅读 · 2017年11月17日
【人工智能】重磅:中国人工智能40年发展简史
产业智能官
7+阅读 · 2017年11月12日
Arxiv
20+阅读 · 2019年11月24日
Learning Discriminative Model Prediction for Tracking
Arxiv
11+阅读 · 2018年5月13日
Arxiv
5+阅读 · 2018年2月26日
Arxiv
25+阅读 · 2017年12月6日
VIP会员
相关VIP内容
相关资讯
CCCF译文 | 机器学习如何影响本科生计算机课程
中国计算机学会
6+阅读 · 2019年2月18日
专栏 | 字节跳动李航:智能与计算
机器之心
5+阅读 · 2019年1月21日
《常用算法之智能计算 (五) 》:模糊计算
数盟
8+阅读 · 2018年12月24日
CCCF专栏 | 联邦学习
中国计算机学会
26+阅读 · 2018年11月19日
CCCF专栏:李航 | 人工智能的未来 ——记忆、知识、语言
中国计算机学会
6+阅读 · 2018年3月16日
CCCF专栏:黄铁军| 也谈强人工智能
中国计算机学会
5+阅读 · 2018年2月15日
CCCF专栏 | 生成式对抗网络的研究进展与展望
中国计算机学会
13+阅读 · 2017年11月17日
【人工智能】重磅:中国人工智能40年发展简史
产业智能官
7+阅读 · 2017年11月12日
相关论文
Arxiv
20+阅读 · 2019年11月24日
Learning Discriminative Model Prediction for Tracking
Arxiv
11+阅读 · 2018年5月13日
Arxiv
5+阅读 · 2018年2月26日
Arxiv
25+阅读 · 2017年12月6日
Top
微信扫码咨询专知VIP会员