大学计算机基础python-大学计算机基础最新章节_曾一著_掌阅小说网

1.2 计算思维

1.2.1 计算思维的提出

随着计算机科学领域研究成果的不断丰富和完善,计算机技术已经应用于非常广泛的领域,如普适计算、商业智能、计算物理、计算医学等,与这些领域之间的融合越来越紧密,对它们的发展产生了深远的影响,已经成为这些领域不可或缺的组成部分。艾兹格·W.迪科斯彻(Edsger Wybe Dijkstra,荷兰人,计算机科学家,图灵奖获得者)曾说过:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。”可以预见,运用计算机学科的思想方法和技术解决各类问题必将成为现实,而能够正确理解计算机学科的基础概念,能够灵活运用各种思想、方法和技术解决实际问题将成为未来人才的必备技能。因此,对不同学科背景的人进行计算机科学教育,使他们熟悉和掌握计算机学科的各种思想和方法,通过训练成为一种思维方式,并能在面对问题时自觉、有效地运用成为当前教育的一个目标。

那么,什么是计算思维呢?

目前国际上广泛使用的计算思维的概念是由美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M.Wing)教授于2006年3月在美国计算机权威期刊

Communications of

the ACM上给出并定义的计算思维(Computational Thinking)。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。周以真还指出:“计算思维代表着一种普遍的认识和一类普适的技能,每一个人,而不仅仅是计算机科学家,都应热心于它的学习和应用。”计算思维的本质是抽象和自动化。如同所有人都具备“读、写、算”(简称3R)能力一样,计算思维是必须具备的思维能力。

中国科学院计算所李国杰院士说:“计算思维运用计算机科学的基础概念求解问题、设计系统和理解人类行为,它选择合适的方式陈述一个问题,对一个问题的相关方面建模,并用最有效的办法实现问题求解。”李国杰院士还认为,计算机科学本质上源自数学思维和工程思维。然而,计算思维远远不只是为计算机编程,它是抽象的多个层次上的思维,与“读写能力”一样,是人类的基本思维方式。他强调:“计算思维是每个人的基本技能,不仅仅属于计算机科学家。”计算思维是一种本质的、所有人都必须具备的思维方式,就像阅读、写字、做算术一样,成为人们最基础、最普遍、最适用和不可缺少的基础思维方式。

学者、教育者和实践者们关于计算思维的本质、定义和应用的大量讨论推动了计算思维在社会的普及和发展,但到目前为止,都没有一个统一的、获得广泛认可的关于计算思维的定义。所有的讨论和研究大致可分为两个方向:其一,是将“计算思维”作为计算机及其相关领域中的一个专业概念,对其原理内涵等方面进行探究,称为理论研究;其二,是将“计算思维”作为教育培训中的一个概念,研究其在大众教育中的意义、地位、培养方式等,称为应用研究。理论研究对应用研究起到指导和支撑的作用,应用研究是理论研究的成果转化,并丰富其体系,两者相辅相成,形成对计算思维的完整阐述。

1.2.2 计算思维的概念性定义

概念性定义源自于对计算思维的理论研究,意在系统地阐述该名词的本质、内涵、外延及要素。计算思维的概念性定义主要来源于计算科学这样的专业领域,从计算科学出发,与思维或哲学学科交叉形成思维科学的新内容。计算思维的概念性定义主要包含以下两个方面。

1.计算思维的内涵

国内目前对计算思维的讨论大部分属于理论研究的范畴,对计算思维内涵存在两个方面的认识:一方面认同和支持美国计算机科学家周以真教授对计算思维的定义。另一方面,延续国内学者自20世纪90年代对计算思维的关注历程,教育部高等学校计算机基础课程教学指导委员会(简称“教指委”)在2012年提出了关于计算思维的定义,认为理论科学、实验科学和计算科学作为当今社会支持科学探索的三种重要途径,分别对应科学思维的三种思维形式,即理论思维(Theoretical Thinking)、实验思维(Experimental Thinking)和计算思维(Computational Thinking),其中计算思维又称构造思维,是指从具体的算法设计规范入手,通过算法过程的构造与实施来解决给定问题的一种思维方法。它以设计和构造为特征,以计算机学科为代表。计算思维就是思维过程或功能的计算模拟方法,其研究的目的是提供适当的方法,使人们能借助现代和将来的计算机,逐步实现人工智能的较高目标。

2.计算思维的要素

计算思维是一个综合概念,其中包含的各种思维要素界定了计算思维的外延,并形成了计算思维的表达体系。计算思维要素作为研究中的一个重点,不同的研究者有不同的提法。

周以真认为计算思维补充并结合了数学思维和工程思维(Mathematical and Engineering Thinking),在其研究中提出体现计算思维的重点是抽象的过程,而计算抽象(Computational Abstraction)包括(并不限于):算法(Algorithms)、数据结构(Data Structures)、状态机(State Machines)、语言(Languages)、逻辑和语义(Logics and Semantics)、启发式(Heuristics)、控制结构(Control Structures)、通信(Communications)、结构(Architectures)。我国教指委提出的计算思维表达体系包括计算、抽象、自动化、设计、通信、协作、记忆和评估八个核心概念。国际教育技术协会(International Society for Technology in Education,ISTE)和美国计算机科学老师协会(Computer Science Teachers Association,CSTA)的研究中提出的思维要素则包括数据收集、数据分析、数据展示、问题分解、抽象、算法与程序、自动化、仿真、并行。

CSTA的报告中提出了模拟(Simulation)和建模(Modeling)的概念。美国离散数学与理论计算研究中心(DIMACS)发起的“9~12年级课程中计算思维的价值”(The Value of Computational Thinking across Grade Levels 9-12,VCTAL)项目认为计算思维中包含了计算效率提高,选择适当的方法来表示数据,做估值,使用抽象、分解、测量和建模等因素。

以上各方从不同的角度进行的分析归纳,有利于对计算思维要素的后续研究。提炼计算思维要素进一步展现了计算思维的内涵,其意义在于:

①计算思维要素相较于内涵而言更易于理解,能够使人将其与自己的生活、学习经验产生有效连接。

②计算思维要素的提出是计算思维的理论研究向应用研究转化的桥梁,使计算思维的显性教学培养成为可能。

3.计算思维是问题解决的过程

“计算思维是问题解决的过程”这一认识是对计算思维被人所掌握之后,在行动或思维过程中表现出来的形式化的描述,这一过程不仅能够体现在编程过程中,还能体现在更广泛的情境中。周以真认为计算思维是制定一个问题及其解决方案,并使之能够通过计算机(人或机器)有效地执行的思考过程。国际教育技术协会(ISTE)和美国国家计算机科学技术教师协会(CSTA)通过分析700多名计算科学教育工作者、研究人员和计算机领域的实践者的调研结果,于2011年联合发布了计算思维的操作性定义,认为计算思维作为问题解决的过程,该过程包括(不限于)以下步骤:

(1)界定问题,该问题应能运用计算机及其他工具帮助解决;

(2)要有逻辑的组织并分析数据;

(3)通过抽象(如模型、仿真等方式)再现数据;

(4)通过算法思想(一系列有序的步骤)形成自动化解决方案;

(5)识别、分析和实施可能的解决方案,从而找到能有效结合过程和资源的最优方案;

(6)将该问题的求解过程进行推广并移植到广泛的问题中。

由此可见,作为问题解决的过程,计算思维先于任何计算技术早已被人们所掌握。在新的信息时代,计算思维能力的展示遵循最基本的问题解决过程,而这一过程需要能被人类的新工具(即计算机)所理解并能有效执行。因此,计算思维决定了人类能否更加有效地利用计算机拓展能力,是信息时代最重要的思维形式之一。

1.2.3 计算思维的特性

1.计算思维是概念化,而不是程序化

因为计算机科学不是计算机编程,而是要像计算机科学家那样去思维,进而要求能够在抽象的多个层次上进行思维。

2.计算思维是根本的,不是刻板的技能

根本技能是每一个人为了在现代社会中发挥职能所必须掌握的。刻板技能意味着机械地重复。具有讽刺意味的是,当计算机像人类一样思考之后,思维可就真的变成机械的了。

3.计算思维是人的思维方式,不是计算机的思维方式

计算思维是人类求解问题的一条途径,但决非要使人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力。是人类赋予计算机激情。反过来,是计算机给了人类强大的计算能力,人类应该好好利用这种力量去解决各种需要大量计算的问题。

4.计算思维是数学和工程思维的互补与融合

计算机科学在本质上和所有学科的形式化基础都是建立在数学之上一样,也来源于数学思维。由于人类建造的计算机系统是一个能够与实际世界互动的系统,计算机科学在本质上又来源于工程思维。基本的计算机系统受到的限制,迫使计算机科学家必须进行计算性思考,不能只是单纯地进行数学思考,而要开扩视野,用构建虚拟世界的自由来使人类能够设计出超物理世界的各种系统。所以计算思维是数学与工程思维的互补与融合。

5.计算思维是人类的思想活动,不是人造的物品

计算思维不止是以人类生产的软件、硬件等人造物的物理形式到处呈现并时刻融入人们的生活,更重要的是,它是人类用以接近求解问题、管理日常生活、建立与他人交流和互动的计算概念。因此,不能把计算机科学只等同于为计算机编制程序,也不能把主修计算机科学局限于狭窄的就业范围,更不能认为计算机科学的基础研究已经完成,只剩下工程实现的问题了。当人们行动起来去改变这个领域的社会形象的时候,计算思维就是一个引导着计算机教育家、研究者和实践者的宏大愿景了。

1.2.4 计算思维的内容

计算思维是通过约简、嵌入、转化和仿真等方法,把一个困难的问题阐释为如何求解它的思维方法。

计算思维是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法。

计算思维采用抽象和分解的方法来控制庞杂的任务或进行巨型复杂系统的设计,是基于关注点分离的方法。

计算思维是一种选择合适的方式陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法。

计算思维是按照预防、保护原则及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法。

计算思维是利用启发式推理寻求解答,即在不确定情况下的规划、学习和调度的思维方法。

计算思维是利用海量数据来加快计算,在时间和空间之间、在处理能力和存储容量之间进行折中的思维方法。

像计算机科学家那样去思维意味着远远不限于能为计算机编程,还要求能够在抽象的多个层次上思维。计算机科学不止于计算机。

计算思维无处不在,当计算思维真正融入人类活动时,它作为一个问题解决的有效工具,人人都应掌握,处处都会被使用。

计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。当我们必须求解一个特定的问题时,首先会问:解决这个问题有多么困难?怎样才是最佳的解决方法?计算机科学根据坚实的理论基础来准确地回答这些问题。表述问题的难度就是工具的基本能力,必须考虑的因素包括机器的指令系统、资源约束和操作环境。

计算思维利用启发式推理来寻求解答,就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,结果是一系列的网页,一个赢得游戏的策略,或者一个反例。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。

计算思维是利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。我们来看一些日常生活中的事例:当一个学生早晨去上学时,他把当天所需的东西放进背包,这就是“预置和缓存”;当有人弄丢了自己的物品,你建议他沿着走过的路线去寻找,这就叫“回推”;在什么时候停止长期租用的物品而为自己买一个呢?这就是“在线算法”;在超市付费时,你应当去排哪一个队呢?这就是“多服务器系统”的性能模型;为什么停电时你的电话仍然可以用呢?这就是“失败的无关性”和“设计的冗余性”。当计算思维真正渗透到每一个人的生活之中的时候,“预置和缓存”“回推”“在线算法”“多服务器系统”“失败的无关性”和“设计的冗余性”等专业词汇也就成为人们的日常语言了。

GB8Ms3PNHEi3CuMoKk2wg4ScC6eXfpk/44EyBuYYiaZuWFuU8NhtFnSqZi364Vkx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值