一、计算思维的定义
计算思维(Computational Thinking,CT)
周以真:计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类行为的涵盖了计算机科学之广度的一系列思维活动。
针对上述定义解释如下:
①求解问题中的计算思维
利用计算手段求解问题的过程是:首先要把实际的应用问题转换为数学问题,可能是一组偏微分方程,其次将PDE离散为一组代数方程组,然后建立模型、设计算法和编程实现,最后在实际的计算机中运行并求解。前两步是计算思维中的抽象,后两步是计算思维中的自动化。
②设计系统中的计算思维
任何自然系统和社会系统都可视为一个动态演化系统,演化伴随着物质、能量和信息的交换,这种交换可以映射为符号变换,使之能用计算机进行离散的符号处理。
当动态演化系统抽象为离散符号系统后,就可以采用形式化的规范描述,建立模型、设计算法和开发软件来揭示演化的规律,实时控制系统的演化并自动执行。
③理解人类行为中的计算思维
王飞跃:计算思维是基于可计算的手段,以定量化的方式进行的思维过程。计算思维就是应对信息时代新的社会动力学和人类动力学所要求的思维。在人类的物理世界、精神世界和人工世界等三个世界中,计算思维是建设人工世界需要的主要思维方式。
利用计算手段来研究人类的行为,可视为社会计算,即通过各种信息技术手段,设计、实施和评估人与环境之间的交互。
二、计算思维的详细描述
计算思维是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个人们知道怎样解决的问题。
计算思维是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法。
计算思维是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法,是一种基于关注点分离的方法。
计算思维是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模并使其易于处理的思维方法。
计算思维是按照预防、保护及通过冗余、容错和纠错方式,从最坏情况进行系统恢复的一种思维方法。
计算思维是利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法。
计算思维是利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行折中的思维方法。
三、计算思维的特征
1.概念化,不是程序化
计算机科学不是计算机编程。像计算机科学家那样去思维意味着远远不仅限于计算机编程,还要求能够在抽象的多个层次上思维。计算机科学不只是关注计算机,就像音乐产业不只是关注麦克风一样。
2.根本的,不是刻板的技能
计算思维是一种根本技能,是每一个人为了在现代社会中发挥职能所必须掌握的。刻板的技能意味着简单的机械重复。
3.是人的,不是计算机的思维
计算思维是人类求解问题的一条途径,但决非要使人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力。是人类赋予计算机激情。计算机赋予人类强大的计算能力,人类应该好好的利用这种力量去解决各种需要大量计算的问题。
4.是思想,不是人造物
不只是将生产的软硬件等人造物到处呈现给我们的生活,更重要的是计算概念,它被人们用来问题求解、日常生活的管理,以及与他人进行交流和互动。
5.数学和工程思维的互补与融合
计算机科学在本质上源自数学思维,它的形式化基础建筑于数学之上。计算机科学又从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统。所以设计思维是数学和工程思维的互补与融合。
6.面向所有的人,所有地方
当计算思维真正融入人类活动的整体时,它作为一个问题解决的有效工具,人人都应当掌握,处处都会被使用。
四、计算思维的本质
抽象(Abstract)、自动化(Automation)。
它反映了计算的根本问题,即什么能被有效的自动进行。
计算是抽象的自动执行,自动化需要某种计算机去解释抽象。
从操作层面上讲,计算就是如何寻找一台计算机去求解问题,隐含地说就是要确定合适的抽象,选择合适的计算机去解释执行该抽象,后者就是自动化。