1.4.3 计算思维的概念
1.计算思维产生的背景
2005年6月,美国总统信息技术咨询委员会给美国总统提交了报告《计算科学:确保美国竞争力》,该报告认为虽然计算本身也是一门学科,但是它具有促进其他学科发展的作用,21世纪科学上最重要的、经济上最有前途的前沿研究都有可能通过先进的计算技术和运用计算科学来解决。该报告建议将计算科学长期置于美国国家科学与技术领域中心的领导地位。
2006年3月,美国卡内基·梅隆大学计算机科学系系主任周以真(Jeannette M.Wing)教授在美国计算机权威期刊Communications of the ACM杂志上首次提出了计算思维(Computational Thinking)的概念。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
2007年美国国家科学基金会制定了“振兴大学本科计算教育的途径(CPATH)”计划。该计划将计算思维的学习融入计算机、信息科学、工程技术和其他领域的本科教育中,以增强学生的计算思维能力,促成造就具有基本计算思维能力的、在全球有竞争力的美国劳动大军,确保美国在全球创新企业的领导地位。
2011年度美国国家科学基金会又启动了“21世纪计算教育”计划,计划建立在CPATH项目成功的基础上,其目的是提高中小学和大学一、二年级教师与学生的计算思维能力。
2.计算思维的定义
国际上广泛认同的计算思维定义来自周以真教授:计算思维是人们运用计算机科学的基思维活动。
计算思维融合了数学思维、工程思维和科学思维。它如同所有人都具备的“读、写、算”能力一样,是必须具备的思维能力。
计算思维本身并不是新的东西,长期以来都在被不同领域的人们自觉或不自觉地采用。
为什么现在需要特别强调?这与人类社会的发展直接相关。我们现在所处的时代,称为“大数据”时代,人类社会方方面面的活动从来没有像现在这样被充分地数字化和网络化。人们在商场的消费信息,就会实时地在国家信用中心的计算机系统中反映出来。移动通信运营商原则上可以随时知道每个人的地理位置。呼啸在京广线上的高铁列车的状态,随时被传给指挥控制中心。也就是说,对于任何现实的活动,都伴随着相应数据的产生。数据成为现实活动所留下的“痕迹”。现实活动难以重演,但数据分析可以反复进行。对数据的分析研究实质上就是计算,这就是计算思维的用武之地。
3.计算思维的特性
计算思维虽然具有计算机的许多特征,但是计算思维本身并不是计算机的专属。实际上,即使没有计算机,计算思维也会逐步发展,甚至有些内容与计算机没有关系。但是,正是由于计算机的出现,给计算思维的发展带来了根本性的变化。计算思维有如下特征:
(1)计算思维是概念化的,不是程序化的
计算思维不是计算机编程,而是要求能够在抽象的层次上进行思维活动,用计算思维的概念去思考、解决问题。计算机科学不只是关注计算机,就像音乐产业不只是关注麦克风一样。
(2)计算思维是根本的技能,不是刻板的技能
计算思维是一种根本技能,是每一个人在现代社会中所必须掌握的。刻板的技能意味着简单的机械重复,计算思维是灵活的、具有创造性的思维。
(3)计算思维是人类的思维,不是计算机的思维
计算思维是指导人类求解问题的一条途径,但决非要使人类像计算机那样思考。计算机枯燥且沉闷,只能机械地执行预先存储的指令。人类聪颖且富有想象力,其思维千变万化。
(4)计算思维是思想,不是人造物
计算思维是一种思想,不是工厂的产品,重要的是用计算的概念进行问题求解、对日常生活进行管理,以及与他人进行交流和互动。
(5)计算思维是数学和工程思维的互补与融合
计算机科学在本质上源自数学思维,它的形式化基础建于数学之上。计算机科学又从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统。所以计算思维是数学和工程思维的互补与融合。
(6)计算思维面向所有的人、所有地方
当计算思维真正融入人类活动的整体时,它作为一个解决问题的有效方法,人人都应当掌握,处处都会使用到。
4.计算思维的本质
抽象和自动化是计算思维的本质。计算思维中的抽象完全超越物理的时空观,并完全用符号来表示。与数学和物理科学相比,计算思维中的抽象显得更为丰富,也更为复杂。
计算思维通过约简、嵌入、转化和仿真等方法,把一个困难的问题表示为求解它的算法,可以通过计算机自动执行,所以具有自动化的本质。