导 读

计算思维是所有学科内部的思想论和方法论,启发而不是灌输对于计算的理解与应用。从学科的典型应用案例着手,阐述解决问题中体现的算法思维和网络思维。

数学思维与计算(计算思维2.0下的计算机教育与计算思维)(1)

李廉

教育部计算机基础课程教学指导委员会副主任、理工类计算机基础课程 教学指导委员会主任,合肥工业大学原校党委书记

从小学、中学,一直到大学,我们所培养学生的培养点主要关注和集中以数学为代表的逻辑思维和以物理学为代表的科学思维。进入信息化以后,大家逐步感到逻辑思维和科学思维有时候显得不那么够用,因此很多人就开始提出计算思维。

计算思维的源流

计算一直伴随人类发展。1945年的时候,国外专家George Polya在《How to Solve It》一书中就提出了用计算方法解决问题的思路,虽然当时的计算机还正在研制。

Wilson提出计算科学,以及相伴的思维。他认为计算是所有科学的研究范式之一,区别于理论和实验,所有的学科都面临算法化的“巨大挑战”。所有涉及自然和社会现象的研究都需要借助计算,使用计算模型做出新发现和推进学科发展。

中国的《中国计算机科学与技术学科教程:2002》教程,已经触及到计算思维了,但是没有提计算思维。

计算思维来源于多个学科。相比与计算机科学,物理学更早的通过信息和信息运动去认知世界;诺贝尔生物奖得主D. Baltimore曾表示:“生物学是信息科学”;Fuchs认为新物理学原理是信息论;ACM前主席G.Forsythe表示:“对于科技教育最有价值的是能够终身受益的通用技能,我认为是自然语言、数学,而计算机科学位于第三。”

计算思维1.0到2.0

计算思维1.0和2.0,经过十几年的演化,人们开始对计算思维认识越来越深刻。

计算思维提供了有关模型和算法的丰富概念,学习和理解计算思维用以产生科学的编程能力,我们不否定通过程序课、编程课学习计算思维的概念。另外,算法必须和程序紧密联系,现在来看,算法不一定要联系程序和计算机,算法是信息处理技术,生物体内的计算也属于计算思维,我们日常生物中也有很多算法,这个算法不需要程序,有的是靠生物自己的本能来完成。

我们从计算思维的变化可以看到,计算思维它里面核心内容到底是什么,可以概括为几点:一是所有学科共有的思维模式,非计算机科学独有;二是计算模型,非数学模型、物理模型;三是算法化认知和解决问题,非公式化、逻辑化;四是机械和有效的处理,非智力型、暴力型,要设计精巧算法;五是非精确思维与求解标准。

计算思维赋能的教学观

通过计算思维角度产生了新的对于自然和社会的认知,即从信息运动和结构的角度重新定义经济活动和社会结构;物质是信息和信息运动的载体,计算思维不能狭义的理解就是实现自动化,是一种信息为本的世界观和方法论。

所以,计算思维赋能的教学观应包括以下几个方面:

首先,计算思维既作为基本的科学对象,同时也具有学科的横向价值,从不同学科领域萌发的计算技术和方法,经过计算机学科的精雕细琢以后,又为解决其它学科的问题提供了新的思想和方法。“计算机科学家”的思维方式并不优于其它方式, 只是提供了一种描述和解决问题的新的和有用的概念范型。

其次,计算思维的第一要点是建立问题模型,即如何实现计算过程,而不仅是具体实施计算过程。将计算思维理解为设计和实现“step by step”的编程过程,忽略了对于自然世界和人类行为的整体理解和科学建模(计算模型)所具有的更为深远和本质的内容。

最后,从根本上理解算法化对于学科领域的重要性,学会基于数据的思考和解决问题的习惯。学习对于问题建立计算模型的方法和规律。

专业内外的计算机课程共同点和差异点

第一,计算思维是所有学科内部的思想论和方法论,启发而不是灌输对于计算的理解与应用。从学科的典型应用案例着手,阐述解决问题中体现的算法思维和网络思维。

第二,培养算法化解决问题的思路和习惯,对于所有事物的重新审视。训练学生算法化的思维习惯,克服数学思维的弊病。

第三,学会用计算模型理解问题和解决问题的方法,采取不精确性和交互性方式解决问题。学会如何设计和实现计算模型,通过计算模型解释问题和建立复杂问题因素之间的关联,引导学生建立非数学完美主义的解决问题的观念和标准,采用交互迭代方式达到问题求解,而不是一次性求解。

第四,正确理解人工智能的工作原理和方法论,建立由具体事例抽象一般理论的新的计算机制,理解机器学习的基本理论和内在性质,把握其中的优势和先天性缺陷。

计算机教育与计算思维的总结

第一,积极推进计算思维2.0的研究,与时俱进。

第二,计算思维是一种认知论和世界观,覆盖所有的学科,计算模型是其核心观念。

第三,我们不是让学生了解计算机科学家做了什么,而是让学生学会如何用计算思维解决本领域的问题。

第四,从信息和信息运动的角度审视和处理问题,从数据中发现知识。基于数据的处理问题方式。

第五,教会学生在生活中使用计算思维,而不仅仅是在编程中使用计算思维,赋能的而不是技能的计算思维教育。

第六,引进新观点,开拓新方法和新视角,继续深化计算思维教育极有必要。

(本文根据李廉教授在2019全国计算机教育大会—“计算思维与赋能教育论坛”上的讲话编辑整理,未经本人确认)

,