查看原文
其他

计算思维 2.0 与新工科

李廉 计算机教育 2023-12-17

李廉

0 引 言

在新工科专业建设和教育改革中,很自然地提出了对于学生科学思维能力的培养。思维能力培养处于人才培养的顶端,是决定学生看待问题和处理问题的基本思路和方法论,也在一定程度上决定学生的世界观和价值论,因此在面向信息社会的教育教学改革中,计算思维顺理成章地成为新工科建设重点内容与核心观念。计算思维既作为基本的科学对象,同时又具有学科的横向价值;在当前面向信息时代的新工科建设中,计算思维能力的培养与数学和物理学的思维能力一样,在人才培养中都具有中心的价值。

1 对于计算思维的再认识——计算思维2.0

2006年,周以真教授在美国ACM通讯上发表文章[1],提出计算思维的概念,激发和推进了学术界和社会对于计算思维的普遍关心和热烈探讨。一些专家把计算思维概括为“像计算机科学家那样的思考问题和解决问题”,或者认为“计算思维是对于问题的抽象和分解”等。这些认识对于理解什么是计算思维无疑是有帮助的,但不够科学和准确,可以进一步追问,计算机科学家是如何思考和解决问题的?抽象和分解在数学中早已有之,计算思维与数学思维有什么区别?要回答这些问题,需要对计算思维进行更加深入的研究和探索。

实际上早在1945年,GeorgePolya已经提出了计算及其相应的思维方式[2]。随着现实计算机(即数字计算机)的问世和广泛应用,计算对于科学各个领域的影响逐步渗透和扩大。到了1982年,诺贝尔物理奖获得者KennethWilson提出科学计算的概念,并强调关于计算的思维在物理学研究中的重要性。Wilson前瞻性的预测计算将会是所有科学的研究范式之一,所有的学科都可以通过计算发现新的现象和规律[3]。后来的科学发展证实了Wilson的预言,由计算技术进步带来的安静却深刻的革命从物理学开始,蔓延到其他学科,促进了很多新的方向和新的发现。生物学以DNA研究开创了生物信息学的新领域;化学从理论化学中演变出计算化学,其中的工作甚至获得1998年的化学诺贝尔奖;甚至于目前的所有学科,只要在前面加上“计算”两字,都有可能成为新的方向。30多年间,计算已经和正在改变许多学科的面貌,导致具有广泛影响的“计算化”趋势。这种改变的源头不单纯是从计算机科学输入的,而是从学科自身发展的内部产生的,计算机科学本身也在这个过程中得到快速发展,并为这种改变起到推波助澜的作用。从起源来讲,计算思维不是唯一来自计算机科学的,而是来自于所有学科的。

从方法论角度来说,将计算思维归结于“像计算机科学家那样思维”,虽然基本能够说明问题,但是终归不够全面和客观。每一个学科都有自己看待问题和解决问题的思想脉络和解决方法,不同学科之间在方法论方面的相互借鉴和交流也是必要的,但是由此就将计算思维认为只是计算机科学家才具有的思维模式,却不符合事实。由于计算技术和装置的发展,计算越来越渗透到各个学科,在某些学科甚至成为发现新现象和新规律的主要手段[4]。在这些斐然成就的背后,计算手段的引入只是提供了新的思想方法,关键还是学科内部的知识和规律起了决定性的作用。计算机科学家并不能包揽天下,解决所有学科中的实际计算问题,反而是其他各个学科的专家在掌握了计算的基本知识后,在本学科做出开创性的工作。

这种将计算思维看作计算机学科专属的观点,在一定程度上影响了教育观念,在一些面向非计算机专业开设的计算类课程中,过多讲授计算机方面的知识,按照计算机专业的要求安排教学内容,而对如何将计算的基本思想(即计算思维)与本学科知识融合涉及不多,使得学生苦于学习超越本学科的知识,而仍旧茫然不知如何应用。近几年来计算机和各个学科的专家一直在通力合作,鼓励和推动融合本学科的计算机课程,希望这样的课程能够更多地培养学生对于计算的理解和应用能力,而不是培养计算机专家。

近10几年来,随着对计算思维理论的深入研究以及实践应用经验的丰富,关于计算思维的本质内涵也有了越来越深刻的认识,以上对于计算思维认知的深化过程也说明了这一点。计算思维不仅仅是计算机科学家解决问题的思想方法,还是所有科学家在使用计算解决问题时所具有的思维模式,它的关键是计算模型,把握好模型以及建模思想是理解和应用计算思维的关键。Alfred V. Aho于2011年提出,计算思维是一个思想过程,能够利用信息处理装置通过计算步骤和算法解决问题,计算模型是核心概念[5]。古代科学发展史中就有理性主义和经验主义的流派,理性主义更多地关注建立研究模型,从中整理出自洽的具有逻辑结构的理论,而经验主义更多地关注对于客观现象的描述。托勒密提出地心说模型,并由此建立了地日的运行模型,为人们提供了计算行星运行规律的基础,也提供了检验计算结果的依据,后来哥白尼提出的日心说就是在这种指导下的创新工作。擅长各种测量的巴比伦人,虽然测量精度远远超越了当时的其他人,但是无法做出观察之外的成果。在科学观察和科学思维两个方面,理性主义以及模型论无疑做得更好,并进而发展成为现代科学的基本概念。

在当代的物理学、数学、生物学等各个学科中,都需要提出不同的模型来阐述问题和进行论证。毫无例外,当采用计算的方式解决问题时,自然就需要建立相应的计算模型。计算模型具有与数学模型和物理模型不同的形式和性质,计算思维就是对于计算模型理论的思考和诠释。每一个学科中都蕴含着丰富的有关计算和计算模型的内容,学习和培养的任务是把它开发出来。我们通常还会听到其他的思维形式,如程序思维、互联网思维、大数据思维、算法思维、工程思维等,这些形式有些属于计算思维(如互联网思维、程序思维),有些属于几种思维的混合(如算法思维、工程思维)。

计算思维的这些发展与深入形成了计算思维2.0的版本。新的观念更加强调从科学思维的整体上理解计算思维,从不同学科的共性和差异性之间寻找计算思维的价值和意义,以期计算思维成为一种“有用的”思维模式,而不是形而上和华丽的理论辞藻。

2 计算思维处理问题的特点

当前大学计算思维培养基本是从学习程序语言开始的。程序语言课程既能够让学生了解通过编写程序解决问题的思路和方法,体现了循环、迭代、接口、移植、递归等与计算思维密切相关的概念,同时这又是一门在科学研究和工程实践中实用的技术,是一个合适的选择,但计算思维本身并不只是编程序,而是其背后更为深刻的内容。一些重要的阐释计算思维特点的概念,需要在培养中予以训练和认知,这样才能真正理解什么是计算思维,它与数学、物理课程中的思维形式有什么不同。在这里我们讨论几个具有鲜明特点的计算思维模式,虽然不能概括全部,但是也能从中领略计算思维的要义和原则。

第1个概念是可行性。在数学和物理课程中,学习了很多模型和建模的方法,这些模型主要是数学模型或者物理模型。这类模型把研究对象抽象为一个数学方程式或者实体之间的物理系统,通过推理和实验的方法寻找问题的答案,但是计算却需要另外一种模型,这种模型能够“现实地”实施计算并得到相应的结果,这种现实性表现在多个方面,如承载计算的装置可以实际制造出来,实现计算的步骤是有限的和确定的,需要的资源消耗(包括时间)是可以承受的等。

可行性在不同的应用环境下有不同的含义,对于长期国民经济规划来说,几小时乃至几天的计算时间是允许的,对于股票市场的走向预测,甚至几秒钟都是不能容忍的。这些要求使得计算模型形成了与数学模型、物理模型不一样的特点,成为科学研究的第三种范式模型。在理论计算机科学中,图灵机作为通用的模型,定义了有关计算的概念和相应的过程,是一个万能的计算模型,但从另外一个角度看,图灵模型也许是最无用的模型,几乎不可能“可行地”解决任何一个哪怕是最简单的现实问题。计算在很多程度上具有工程属性,像数学那样仅仅指出问题求解方案的存在性是不够的,需要真正将其构造出来。计算机科学提供了各种算法理论和计算装置,为各学科提供了解决问题的基础和方法依据,然而不同的学科在实际进行“计算化”的过程中,需要设计适合解决本学科问题的计算装置和相应算法,这些对于计算机专家来说,经常会力所不及。只有通过各领域专家与计算机专家的全力合作,才能构建解决领域问题的可行框架与方法。

第2个概念是不精确性。我们对于数学模型解决问题所具有的精确性有着根深蒂固的深刻印象,即使像统计学那样专门研究不确定性的科学,它的基础也仍然是确定的数学公理,因此本质上仍然是精确数学,就像爱因斯坦所说的“上帝不会掷骰子”。在诸如社会学、人类行为学等领域,表现出来的不确定性却难以用数学语言加以描述,更不要说建立数学模型求解。面对这种类型的问题,需要借助和引进不精确计算的概念。从理论上说,计算先天就是近似的和不精确的,图灵模型是一种离散的计算装置,它只能逐个比特地进行操作,对于数学中常用到的实数在图灵模型中不可表示,从而也是不可计算的,但这丝毫不影响用离散的计算装置求解现实问题。这里面涉及一些有关有限与无限、精确与近似之间的微妙关系。维克托•迈尔-舍恩伯格在《大数据时代》一书中指出:“当我们掌握了大量新型数据时,精确性并非那么重要,而我们同样可以掌握事情的发展趋势。大数据不仅让我们不再期待精确性,还让我们无法实现精确性。然而,除了一开始会与我们的直觉相矛盾之外,接受数据的不精确和不完美,我们反而还能够更好地进行预测,更好地理解这个世界”[6]

为了更好地描述计算在认知过程、生命演化、社会结构、经济运行、环境变迁等领域的核心作用,Valiant提出了一种新的计算的观点,就是“可能近似正确”计算,即所谓PAC计算(probablyapproximatecorrect),这种计算模型不仅认为计算过程是近似的,而且这种近似性还是概率的,即PAC计算是一种关于近似的概率计算[7]。这种计算理论在人工智能、机器学习、认识模式等领域被充分证明是有效的和稳健的,成为当前数据科学的基础算法理论和方法框架,Valiant本人也因此获得2010年的图灵奖。

精确推理对应着逻辑关系和因果关系,在数学和物理学研究中是基本的依据,只有解释现象之间因果关系的结论,才被认为是可接受的正确结论,但在社会人文科学等领域,也包括绝大多数工程领域,不精确计算对应的关联关系也占据了重要的位置,解释现象之间的关联关系在很多场合下,特别是社会学领域和工程领域也是可以接受的,是可行的方案,而且有时几乎是唯一可行的解决方案。一个正确问题的不准确答案要远胜过错误问题的准确答案。计算思维对于不精确计算的观点、理论、方法以及实现策略是区别于数学和物理学的重要分界。

第3个概念是交互性。我们在软件开发中已经多次体会到交互在其中的重要性,但凡稍微复杂的计算任务都不可能一次性完成设计和实施,其中既涉及对于计算任务本身的理解和资源应用,又涉及计算环境的不确定性和变化性。交互性在计算过程中所起的作用实际上更加深刻。根据Valiant在文献[7]中提出的观点,一个好的算法应该具有应对计算环境变化的能力,这一点在传统的算法分析课程中一般不讲。传统的算法一般假定计算装置和环境不变,算法(或者程序)设计开发出来后,其计算环境基本是恒定的,变动的无非问题的规模和一些参数,但生命演化和人类认知的过程却不是这样,计算装置(如人本身)或者环境(如自然界)也是经常变化的,如何设计算法有效应对这种变化是必须考虑的问题,即算法对于环境的自适应能力。在生命进化过程中,这种“计算”是通过先天的遗传变异和后天的学习过程实现的。在实际的计算机软件开发中,有些软件比较“皮实耐用”,就是因为应对环境的自适应能力比较强,而获取这种能力,在开发和使用过程中与环境的交互就显得十分重要,通过交互不断进行修改和完善(如MVC模式),这种开发软件的思维模式就明显属于计算思维。交互式计算在计算机科学中有专门的研究和描述,与传统算法的关系也已经有了深刻的研究[8]

这3个概念只是计算思维所表现出来的众多特点中的一部分。当然这里还需要强调一点,计算思维、逻辑思维和实证思维之间并不是非此即彼那样泾渭分明。3种思维之间有些内容是相通的,计算中经常需要通过逻辑加以证明,通过实验加以验证。3种思维虽然各有特色,各有侧重,但是如果非要把3种思维模式分得很清楚,既不可能,也不必要,在实际中更加关心的是3种思维形式的综合应用,从而具备创新地解决问题的能力。

进入信息社会,对于信息的处理或者计算已经成为解决各种问题的基本手段,处理的对象也不限于自然科学领域,更多的是在社会科学和人文科学领域,特别是对于人工智能研究的兴趣,促进了计算这个古老技能的新发展,对于什么是计算、如何应用计算的思维内容已经有了极大的丰富,对于其本质的理解也有了全新的深入,由此带来的相关思维和技术进步,已经不是传统的数学和物理学能够包含的。新的应用带来新的观念和新的思维,这是自然而然会发生的事情。

3 计算思维在新工科教育中的意义

从小学到大学,基本上是由数学和物理学两大类课程训练科学思维能力的。从数学中,我们学到了严谨的逻辑思维能力;从物理学中,我们学到了理性的实证能力。相对于信息社会人才培养的要求来讲,对于计算思维的培养总体上比重仍显较低。从计算思维的角度,产生了新的对于自然和社会的认知,即从信息运动和结构的角度重新定义经济活动和社会结构。电子政务、数字媒体、智慧城市、网络安全等新概念应时而起,产生了许多颠覆性的创新。人类已经进入大数据时代,出现了数据密集型科学。从传统的随机采样、精确求解、因果关系,转变到全体数据、近似求解、关联关系,提供了人类认识复杂系统、认知智能行为的新手段和新思维。

由于信息技术已经渗透到工科的所有领域,各个学校在建设新的教学体系时,普遍增加了信息类课程的份量,使用信息处理和计算技术解决可能出现的问题。在全面培养学生的科学思维能力和综合素质背景下,进一步加强计算思维能力培养以及在此基础上的系统能力和创新能力培养,都是教育改革的新课题。要培养学生在面对问题时具有计算思维的主动意识,养成应用计算思维解决问题的习惯。

对于计算机专业的学生,计算思维既作为基本的科学对象,同时又具有学科的横向价值,从不同学科领域(包括计算学科自身)萌发的计算技术和方法,经过计算机学科的精雕细琢以后,又为解决其他学科的问题提供新的思想和方法。通过计算模型解释问题和建立复杂问题因素之间的关联,引导学生建立非数学完美主义的解决问题的观念和标准,采用交互迭代方式达到问题求解,而不是毕其功于一役的一次性求解。在理解复杂的社会问题、经济运行以及人类行为方面,计算思维提供了一种描述现实世界的新的和有用的概念范型。

对于非计算机专业的学生,学习计算机相关的课程,不是了解计算机科学家做了什么,而是学会如何用计算思维解决本领域的问题,知道在他们所从事的学科领域,计算能做什么和如何做;正确理解人工智能的性能和原理,理解机器学习的初步理论和适用范围,把握其中的优势和先天性缺陷[9]。计算思维关注的是计算的科学和文化内涵,提供了一种描述现实和工程技术的合理范型。计算思维的第一功能是提出问题和设计解决问题的系统,而不仅是学会和重复某些技巧[10]。计算已成为“各门科学研究的一种基本视角、观念和方法,并上升为一种具有世界观和方法论特征的哲学范畴”[11]

计算思维的一些基本概念也能够应用到教育本身,现在一些高校结合教学改革,创造性地提出全新的教学理念,如循环迭代式的学习模式颠覆了传统的先知识后能力的顺序型课程设计,理论学习和实验学习的交互式过程提供了新的更加富有成效的教学方法。在这些改革的共同作用下,打造适应未来社会的新的教学体系愿景可期。一个好的教师应该不断为学生提供下一个学习目标,并推荐适当的例子帮助学生掌握概念和技巧。学习是在没有设计者的前提下,获取定性和定量知识的过程,教师只是学习的指导者,而不是设计者。在这样的环境下,学生在学习过程中才可能科学地构建属于自己的知识结构,其创新能力和超越传统的力量就自然蕴含其中。


参考文献

[1] Wing J M. Computational thinking[J]. Communications of the ACM, 2006, 49(3): 33-35.

[2] Polya G. How to solve it: A new aspect of mathematical method[M]. Princeton: Princeton University Press. 2004: 73-74, 95-97.

[3] Wilson K G. Grand challenges to computational science[J]. Future Generation Computer Systems, 1989, 5(2-3): 171-189.

[4] 李廉. 方法论视野下的计算思维[J]. 中国大学教学, 2016(7): 16-21.

[5] Aho A V. Computation and computational thinking[J]. The Computer Journal, 2012, 55(7): 832-835.

[6] 维克托·迈尔-舍恩伯格, 肯尼思·库克耶. 大数据时代: 生活、 工作与思维的大变革[M]. 盛杨燕, 周涛, 译. 杭州: 浙江人民出版社, 2012: 54-58.

[7] Valiant L. Probably approximately correct: Nature's algorithms for learning and prospering[M]. New York: Basic Books, 2013: 66-72.

[8] 李廉. 关于计算思维的特质性[J]. 中国大学教学, 2014(11): 7-14.

[9] United Nations Educational, Scientific and Cultural Organization. Artificial intelligence in education: Challenges and opportunities for sustainable development[EB/OL]. [2020-04-02]. https://unesdoc. unesco. org/ark:/48223/pf0000366994.

[10] Voogt J, Fisser P, Good J, et al. Computational thinking in compulsory education: Towards an agenda for research and practice[J]. Education and Information Technologies, 2015(20): 715–728 .

[11] 郝宁湘. 计算: 一个新的哲学范畴[J]. 哲学动态, 2000(11): 32-36.


作者简介:李廉,合肥工业大学教授,曾经在兰州大学学习和任教,担任过兰州大学计算机科学系主任、信息科学与工程学院院长。2013—2018 年任教育部高等学校大学计算机课程教学指导委员会主任,2014—2019 年任计算机学会理论计算机专业委员会主任。2014 年,参加“能力培养课程改革总体规划”方面的工作获国家教学成果二等奖。2018 年,参加“计算思维教学改革”方面的工作获安徽省教学成果一等奖。在教学方面关注计算思维的理论研究和在教学实践中的推进,新工科建设教学体系以及教学形态的改革和创新。在科学研究方面主要兴趣是大数据分析与计算理论、机器学习、因果推理等领域。llian@hfut.edu.cn。


引文格式:李廉.计算思维 2.0 与新工科[J].计算机教育,2020(6):优先出版.

(完)

(微信编辑:史志伟)


更多精彩:

【目录】《计算机教育》 2020年第5期

2020年中国高校计算机教育大会会议通知(江苏南京)

北大李晓明教授:当认识到“在线教学也行”之后…

从“偶然”的疫情大爆发到“必然”的线下线上教学结合

“齐心协力战疫情”在线教学网络研讨会成功召开

征稿启事:“疫情下的线上教学”

做好网上教学的几点建议——北京理工大学李凤霞

【目录】《计算机教育》2020年第4期

【目录】《计算机教育》2020年第3期

大学老师该如何保障在线教学质量?看专家怎么说

【目录】《计算机教育》 2020年第2期

【校长专访】加快推进计算机科学教育 做数据科学教育的探路人——华东师范大学副校长周傲英教授专访

主编寄语:由“墙上的咖啡”想到的计算机教育

【目录】《计算机教育》 2020年第1期

【言十系列】计算机专业本科课程质量问题分析与建议

【目录】《计算机教育》 2019年第12期

【目录】《计算机教育》 2019年第11期

日本东京大学计算机本科课程设置分析与启示

北京大学人工智能课程教学改革与实践

新工科与大数据专业建设

《计算机教育》杂志入选《CCF推荐中文科技期刊目录》!!!

【言十系列】去伪存真——从ESI指标谈起

他山之石可以攻玉——中外计算机教育研究文章汇编


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存