1.4.1 计算思维的概念及特征
2006年3月,美国卡内基·梅隆大学计算机系主任周以真(Jeannette M Wang)教授在美国计算机权威杂志《Communication of the ACM》上发表并定义了计算思维。周以真教授指出:计算思维就是运用计算机科学的基本概念去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动。学会计算思维,是信息社会中创新的需要。文章中指出,计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading,w Riting , and a Rithmetic,3R),还要学会计算思维。犹如印刷出版促进3R的普及,计算和计算机也以类似的正反馈促进了人类计算思维的传播。这种思维在不久的将来,会成为每一个人的技能组合,而不仅仅限于科学家。随即这一概念被国内外计算机界、社会学界以及哲学界的广大学者进行了广泛的研究与探讨。
计算思维的概念一经提出,就引起了国内外很多研究者的关注。2007年,微软研究院资助美国卡内基·梅隆大学建立了计算思维中心,以寻找计算机科学与其他领域交叉研究的新方法。2008年,ACM公布的《CC2001计算机科学教学指导草案》也明确提出应该将计算思维作为计算机科学教学的重要组成部分。国内学者董荣胜论述了计算思维与计算机方法论的关系;学者朱亚宗指出计算思维、实验思维和理论思维是人类三大科学思维方式,并指出交叉创新是计算思维创新发展的根本途径。
自然科学领域公认有三大科学方法,即理论方法、实验方法与计算方法。有专家指出,与三大科学方法相对应,人类认识世界和改造世界就有三种思维,即理论思维(以数学学科为代表)、实验思维(以物理学科为代表)和计算思维(以计算机学科为代表)。究竟什么是计算思维?计算思维(Computational Thinking,CT)是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。它的本质是抽象和自动化。下面的内容是表达计算思维的一些重要概念。
● 计算思维是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。
● 计算思维是一种递归思维,它是并行处理,它采用了抽象和分解来迎接庞杂的任务或者设计巨大复杂的系统。
● 计算思维是基于关注分离的方法(Separation of Concerns,SOC方法)这种方法选择合适的方式对一个问题的相关方面建模,使其易于处理。
● 计算思维能力是形式化描述和抽象思维能力以及逻辑思维方法。
计算思维的特征可描述为:是概念化而不是程序化,是根本的而不是刻板的技能,是人的而不是计算机的思维方式,是数学和工程思维的互补与融合,是思想而不是人造物,面向所有的人、所有的地方。计算思维的本质是抽象和自动化。抽象体现在完全使用符号系统甚至形式化语言;自动化体现在算法实现最终是机械地按步骤自动执行。因此,计算思维是一种形式规整的、问题求解的和人机共存的思维。典型的计算思维包括一系列广泛的计算机科学的思维方法:递归、抽象和分解、保护、冗余、容错、纠错和恢复,利用启发式推理来寻求解答,在不确定情况下的规划、学习和调度等。