计算机科学领域,周以真(Jeannette M. Wing)是以倡导计算思维而闻名于世,她认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。

这位亚裔科学家1979年获得麻省理工学院(MIT)的电子工程和计算机科学学士和硕士学位,1983年获得MIT计算机科学的博士学位。她的主要研究领域是形式方法、可信计算、分布式系统、编程语言等。1993年她与图灵奖得主芭芭拉·利斯科夫合作,提出了著名的Liskov代换原则,是面向对象基本原则之一。2004至2007年她曾担任卡内基梅隆大学计算机学院院长;2013年1月加入微软研究院,担任微软全球资深副总裁,负责微软研究院全球各核心研究机构及微软研究院学术合作部的工作。

卡内基梅隆大学前校长Jared L Cohon评价说:“周以真是当今世界上最有创新精神、最具原创力的计算机科学家之一。她在科研、教学和行政上均作出了重大贡献。NSF不可能找到一个比周以真更好的人选。”

在卡内基梅隆大学,周以真的严厉也让她在学生中闻名。一个学生叫她“Dragon Lady”——这个不太友好的词本用于形容强大神秘、盛气凌人的东方女子,但周以真接受了这个称呼。最让周以真感到满足的事情,莫过于看到学生在被复杂概念折腾得死去活来之后,最终掌握她所传授的知识。在卡内基梅隆大学,“Dragon Lady”渐渐成为饱含学生敬意的昵称。

这位既醉心教研,又不懈学习其他知识的科学家在计算机科学之外的领域同样多才多艺。她曾在中国研习舞剑,也学习武术,是唐手道黑带四段。此外,周以真还有扎实的芭蕾舞功底,也跳过探戈、现代舞、爵士舞乃至踢踏舞。她所掌握的才艺如此之多,人们不禁要问她是怎么挤出时间学这么多东西的。“日程表啊。”她说。周以真的青春活力数十年不减,究其原因,她说那不过是因为“天性乐观,过着简单的生活”。

在周以真的众多成就中,她于2006年发表的《计算思维》(Computational thinking)是最为人称道的成果之一。周以真倡导运用计算机科学的基础概念解决问题、设计系统并理解人类行为的思维方式。这一理念推动了计算机科学在全球教育领域的发展。她期盼所有年轻人都能从计算思维中获:益,并鼓励他们张开怀抱去拥抱跨学科研究的新理念。“如果我们希望做未来的弄潮儿,我们就需要去创造未来。”她说。 

留学生:什么是计算思维?

周以真:简而言之,计算思维就是像计算机科学家一样思考。当然,这并不是个令人满意的回答,因为我还得解释什么是计算机科学。计算机科学是计算的学问——什么是可计算的,怎样去计算。

实际上,计算思维是一种思考方式,是用计算机所能有效执行的方式来对问题进行表述并提出解决方案——这里所说的“计算机”既可以指机器,也可以指人。换句话说,计算思维也是一种解决问题的方式。

留学生:计算思维可以做什么?

周以真:计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(3R),还要学会计算思维。正如印刷出版促进了3R的普及,计算和计算机也以类似的正反馈促进了计算思维的传播。

计算思维涉及运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。

当我们必须求解一个特定的问题时,首先会问:解决这个问题有多么困难?怎样才是最佳的解决方法?计算机科学根据坚实的理论基础来准确地回答这些问题。表述问题的难度就工具的基本能力。必须考虑的因素包括机器的指令系统、资源约束和操作环境。

为了有效地求解一个问题,我们可能要进一步问:一个近似解是否就足够了,是否可以利用一下随机化,以及是否允许误报(false postive)和漏报(false negative)?计算思维就通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。

计算思维是一种递归思维。它是并行处理。它是把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处。对于间接寻址和程序调用的做法,它既知道其威力又了解其代价。它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。 

留学生:有没有什么用计算思维解决问题的例子?

周以真:举个例子,如果你要做一顿饭,既要煮饭又要炒青菜炒肉,但又不能做好菜了但饭还没煮熟,要怎么做?这三项任务都需要花费资源和时间。在做饭这件事上,你就相当于一个操作系统。我们在计算机科学中所学习的,正是如何调配有限的资源,完成所有任务。

一般来说,计算思维中最重要的几个思维过程是抽象、分解以及组合。所谓“抽象”,是指忽略所有不相关的复杂细节,而只专注于问题关键部分的能力。你会注意到,我刚刚并没有提及“锅是啥颜色的”,“厨房有多热”,因为这些都是不相关的细节。

“分解”能让我们将问题分割成一个一个小的部分,我们将这些小部分各个击破,最终通过“组合”将各部分重整起来,形成一个针对原问题的解决方案。

这种解决问题的方式是可以规模化的,远超人手可及的范畴——当你在用笔记本电脑的时候,有上千个进程同时在占用上千种不同的资源,但你还是可以用它完成工作。因为它在用计算思维解决问题。

留学生:这样看来,计算思维不仅仅属于计算机科学家?

周以真:许多人将计算机科学等同于计算机编程。有些家长为他们主修计算机科学的孩子看到的只是一个狭窄的就业范围。许多人认为计算机科学的基础研究已经完成,剩下的只是工程问题。当我们行动起来去改变这一领域的社会形象时,计算思维就是一个引导着计算机教育家、研究者和实践者的宏大愿景。

我们特别需要走进大学之前的听众,包括老师、父母、学生,向他们传送下面两个主要信息:智力上的挑战和引人入胜的科学问题依旧亟待理解和解决。这些问题和解答仅仅受限于我们的好奇心和创造力;同时一个人可以主修计算机科学而从事任何行业。一个人可以主修英语或者数学,接着从事各种各样的职业。计算机科学也一样。一个人可以主修计算机科学,接着从事医学、法律、商业、政治,以及任何类型的科学和工程,甚至艺术工作。

计算机科学的教授应当为大学新生开一门称为“怎么像计算机科学家一样思维”的课程,面向所有专业,而不仅仅是计算机科学专业的学生。我们应当使入大学之前的学生接触计算的方法和模型。我们应当设法激发公众对于计算机领域中的科学探索之兴趣,而不是悲叹对其兴趣的衰落或者哀泣其研究经费的下降。所以,我们应当传播计算机科学的快乐、崇高和力量,致力于使计算思维成为常识。

留学生:你认为哪个学科会因计算机科学而发生最大的变化?

周以真:我相信所有学科都能从计算机科学的进步中获益,反过来,计算机科学也能从所有其他学科的发展中得到好处。所以要从那么多学科里挑一个是很难的,不过要是硬要选的话,目前我会选生物。

一方面,计算机科学向生物学提供了许多形式模型来表现或解释复杂系统在互动时的动态变化——毕竟操作系统本身就是一个由交互过程组成的复杂系统。另一方面,计算机科学家发明了能分析大量数据的技术,机器学习也让我们得以揭示隐藏在大数据中的规律。

反过来,生物学也在推动计算机科学的进步。任何生物系统中发生的相互作用,无论是规模还是本质都远超当今计算方法所能企及的地步。更远地看,生物系统可以被看做信息处理系统。我们或许能利用自然或者合成的生物系统的计算能力。

留学生:近年来人工智能和虚拟现实发展飞快,在你看来,计算机科学的未来将是怎样的?

周以真:现在是所谓“人工智能的春天”。计算机视觉、语音、机器翻译和自然语言处理领域,各自经过了数十年缓慢而持续的发展。到现在,我们已有能力将它们融合起来。微软正将这些人类智能中的不同子任务整合起来,希望让计算机看得见、听得懂、说得出、学得会。

我们也正置身于一个“移动为先,云为先”的时代。这意味着无论何时何地,每个人都能通过小型设备获取海量数据与巨大的计算能力。所谓“普适”,就是指任何人在任何时间地点都能计算。当然,现实还是会给我们的热情泼冷水,我们仍面临着种种重大的技术难题。 

留学生:机器学习取得了前所未有进步,面对可能随之而来的道德问题,比如隐私问题,我们做好准备了吗?

周以真:当前,互联网的规模让第三方得以轻易地获取我们的个人信息,数据挖掘和机器学习又进一步让推断我们的个人习惯和偏好变得简单,使第三方与我们的互动更加个人化:向我们推荐书籍啊,提醒我们朋友的生日啊什么的。不管是心甘情愿或是毫不知情地,人们都在用部分隐私换取更多效用。

因此,我们需要更好更公开地交流个人隐私问题:企业与消费者、政府与公民、技术人员与政策制定者、计算机科学家与社会科学家、科学家与伦理学家之间,都需要进行沟通。我们应该开发新的技术让人了解他人知道自己的哪些信息,也应该有新的政策则应促进某种隐私保护技术的推广,使它更加具有影响力。