① 简要说明应用计算思维求解问题的一般过程
操作模式 计算思维建立在计算过程的能力和限制之上,由人由机器执行。计算方法和模型使我们敢于去处理那些原本无法由任何个人独自完成的问题求解和系统设计。计算思维直面机器智能的不解之谜:什么人类比计算机做得好?什么计算机比人类做得好?最基本的问题是:什么是可计算的?迄今为止我们对这些问题仍是一知半解。
计算思维用途 计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading, wRiting, and aRithmetic——3R),还要学会计算思维。正如印刷出版促进了3R的普及,计算和计算机也以类似的正反馈促进了计算思维的传播。
计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。当我们必须求解一个特定的问题时,首先会问:解决这个问题有多么困难?怎样才是最佳的解决方法?计算机科学根据坚实的理论基础来准确地回答这些问题。表述问题的难度就是工具的基本能力,必须考虑的因素包括机器的指令系统、资源约束和操作环境。
为了有效地求解一个问题,我们可能要进一步问:一个近似解是否就够了,是否可以利用一下随机化,以及是否允许误报(false positive)和漏报(false negative)。计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。
计算思维是一种递归思维 它是并行处理。它是把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处。对于间接寻址和程序调用的方法,它既知道其威力又了解其代价。它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。
抽象和分解 来迎接庞杂的任务或者设计巨大复杂的系统。它是关注的分离(SOC方法)。它是选择合适的方式去陈述一个问题,或者是选择合适的方式对一个问题的相关方面建模使其易于处理。它是利用不变量简明扼要且表述性地刻画系统的行为。它使我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信息。它就是为预期的未来应用而进行的预取和缓存。计算思维是按照预防、保护及通过冗余、容错、纠错的方式从最坏情形恢复的一种思维。它称堵塞为“死锁”,称约定为“界面”。计算思维就是学习在同步相互会合时如何避免“竞争条件”(亦称“竞态条件”)的情形。
计算思维利用启发式推理来寻求解答,就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,结果是一系列的网页,一个赢得游戏的策略,或者一个反例。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。
考虑下面日常生活中的事例:当你女儿早晨去学校时,她把当天需要的东西放进背包,这就是预置和缓存;当你儿子弄丢他的手套时,你建议他沿走过的路寻找,这就是回推;在什么时候停止租用滑雪板而为自己买一付呢?这就是在线算法;在超市付帐时,你应当去排哪个队呢?这就是多服务器系统的性能模型;为什么停电时你的电话仍然可用?这就是失败的无关性和设计的冗余性;完全自动的大众图灵测试如何区分计算机和人类,即CAPTCHA[注1]程序是怎样鉴别人类的?这就是充分利用求解人工智能难题之艰难来挫败计算代理程序。
计算思维将渗透到我们每个人的生活之中,到那时诸如算法和前提条件这些词汇将成为每个人日常语言的一部分,对“非确定论”和“垃圾收集”这些词的理解会和计算机科学里的含义驱近,而树已常常被倒过来画了。
我们已见证了计算思维在其他学科中的影响。例如,机器学习已经改变了统计学。就数学尺度和维数而言,统计学习用于各类问题的规模仅在几年前还是不可想象的。各种组织的统计部门都聘请了计算机科学家。计算机学院(系)正在与已有或新开设的统计学系联姻。
计算机学家们对生物科学越来越感兴趣,因为他们坚信生物学家能够从计算思维中获益。计算机科学对生物学的贡献决不限于其能够在海量序列数据中搜索寻找模式规律的本领。最终希望是数据结构和算法(我们自身的计算抽象和方法)能够以其体现自身功能的方式来表示蛋白质的结构。计算生物学正在改变着生物学家的思考方式。类似地,计算博弈理论正改变着经济学家的思考方式,纳米计算改变着化学家的思考方式,量子计算改变着物理学家的思考方式。
这种思维将成为每一个人的技能组合成分,而不仅仅限于科学家。普适计算之于今天就如计算思维之于明天。普适计算是已成为今日现实的昨日之梦,而计算思维就是明日现实。
② 什么是计算思维计算思维的本质是什么
计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of the ACM》杂志上给出,并定义的计算思维(Computational Thinking)。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
以上是关于计算思维的一个总定义,周教授为了让人们更易于理解,又将它更进一步地定义为:通过约简、嵌
入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的方法;是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数
据译成代码,是一种多维分析推广的类型检查方法;是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法,是基于关注分离的方法(SoC方
法);是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;是按照预防、保护及通过冗余、容错、纠错的方式,并从最
坏情况进行系统恢复的一种思维方法;是利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法;是利用海量数据来加快计算,在时间和空
间之间,在处理能力和存储容量之间进行折衷的思维方法。
③ 什么是计算思维能力
计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动.
2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M.Wing)教授在美国计算机权威期刊《Communications of the ACM》杂志上给出,并定义的计算思维(Computational Thinking).周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动.
以上是关于计算思维的一个总定义,周教授为了让人们更易于理解,又将它更进一步地定义为:通过约简、嵌
入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的方法;是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数
据译成代码,是一种多维分析推广的类型检查方法;是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法,是基于关注分离的方法(SoC方
法);是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;是按照预防、保护及通过冗余、容错、纠错的方式,并从最
坏情况进行系统恢复的一种思维方法;是利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法;是利用海量数据来加快计算,在时间和空
间之间,在处理能力和存储容量之间进行折衷的思维方法.
④ 计算思维以什么和构造为特征
1、概念化,不是程序化
计算机科学不是计算机编程。像计算机科学家那样去思维意味着远不止能为计算机编程,还要求能够在抽象的多个层次上思维。
2、根本的,不是刻板的技能
根本技能是每一个人为了在现代社会中发挥职能所必须掌握的。刻板技能意味着机械的重复。具有讽刺意味的是,当计算机像人类一样思考之后,思维可就真的变成机械的了。
3、是人的,不是计算机的思维方式
计算思维是人类求解问题的一条途径,但决非要使人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力。是人类赋予计算机激情。配置了计算设备,我们就能用自己的智慧去解决那些在计算时代之前不敢尝试的问题,实现“只有想不到,没有做不到”的境界。
4、数学和工程思维的互补与融合
计算机科学在本质上源自数学思维,因为像所有的科学一样,其形式化基础建筑于数学之上。计算机科学又从本质上源自工程思维。
因为我们建造的是能够与实际世界互动的系统,基本计算设备的限制迫使计算机学家必须计算性地思考,不能只是数学性地思考。构建虚拟世界的自由使我们能够设计超越物理世界的各种系统。
5、是思想,不是人造物
不只是我们生产的软件硬件等人造物将以物理形式到处呈现并时时刻刻触及我们的生活,更重要的是还将有我们用以接近和求解问题、管理日常生活、与他人交流和互动的计算概念。
而且,面向所有的人,所有地方。当计算思维真正融入人类活动的整体以致不再表现为一种显式之哲学的时候,它就将成为一种现实。
(4)计算思维与城乡规划扩展阅读:
一、优点内容
计算思维建立在计算过程的能力和限制之上,由人由机器执行。计算方法和模型使我们敢于去处理那些原本无法由个人独立完成的问题求解和系统设计。
计算思维中的抽象完全超越物理的时空观,并完全用符号来表示,其中,数字抽象只是一类特例。
与数学和物理科学相比,计算思维中的抽象显得更为丰富,也更为复杂。数学抽象的最大特点是抛开现实事物的物理、化学和生物学等特性,而仅保留其量的关系和空间的形式,而计算思维中的抽象却不仅仅如此。
⑤ 什么是“计算思维”
你好,计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of the ACM》杂志上给出,并定义的计算思维(Computational Thinking)。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
以上是关于计算思维的一个总定义,周教授为了让人们更易于理解,又将它更进一步地定义为:通过约简、
周以真
嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的方法;是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法;是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法,是基于关注分离的方法(SoC方法);是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;是利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法;是利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行折衷的思维方法。
⑥ 计算思维最基本的内容
计算思维基本的内容是,运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。涉及理解问题并以一种计算机可以执行的方式表达其解决方案,使用计算机科学中的算法概念与策略来制定、分析和解决问题。
计算思维包括识别模式和顺序、创造算法、设计用于发现以及修正错误的测试,计算思维吸取了问题解决所采用的一般数学思维方法,现实世界中巨大复杂系统的设计与评估的一般工程思维方法,以及复杂性、智能、心理、人类行为的理解等的一般科学思维方法。
(6)计算思维与城乡规划扩展阅读
2006年3月美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of the ACM》杂志上给出并定义的计算思维,同时还强调计算思维是一项跨学科的基本素养,不仅限于计算机领域。
计算思维不仅仅是在设计程序才会运用到,迁移到其他的课程中,计算思维能够帮助你分析问题、选择工具形成自动化的解决方案、选择最优解以及形成通用的解决方案。计算思维不仅是一种适应于计算机科学的概念和思想,更是一种广泛应用于工作、学习、生活中,组织和分析问题的视角。
⑦ 计算思维和理论思维的关系是怎样的
在此之前,“计算思维”在非计算机领域的应用多集中在科研学术圈,如计算化学、计算生物学、计算决策学等。像我这样的普罗大众真正开始了解“计算思维”的价值是在《Computational Thinking》发表之后(的10年)。今天,计算思维成了世界公认的普适思维方式,和理论思维、实验思维一样,任何人在解决任何问题时都可以运用。
计算思维对每个人都意义重大,但却非常容易被误解。有人望文生义,以为计算思维就是关于数学的学问;有人片面理解,以为学了编程就懂了计算思维;有人非要攀高枝,连学个Word、Exel、PPT都要说培养了计算思维。
计算思维被误解成这样,小编决心为它正名,带大家好好认识下计算思维。
计算思维是什么,不是什么
计算思维是什么呢?
在《Computational Thinking》这篇论文中,周以真教授用“硬科学”的术语描述了计算思维:计算思维是运用计算机科学的基本理念,进行问题求解,系统设计以及理解人类行为。也就是说,计算思维是一种解决问题的思考方式,而不是具体的学科知识,这种思考方式要运用计算机科学的基本理念,而且用途挺广的。
想要更快更好的理解计算思维,先来看看周以真教授对计算思维的几个清晰论断。
1 计算机思维是研究计算的。
2 是概念化,不是编程。
3 是基础技能,不是死记硬背的技能。
4 是人的思考方式,不是计算机的思考方式。
5 是数学思维、工程思维的补充和结合。
6 是想法,不是人造产品。
理解了上面6句话,就能在很大程度上减少对计算思维的误解了。
把编程当作计算思维是对计算思维的常见误解之一,甚至一些学计算机专业出身的人也会有类似的观点,其实不然。计算思维是一种概念化的思考方式,而编程则是一种行为,虽然编程的过程中经常会用到计算思维,但计算思维绝不是编程。把信息素养当作计算思维也是对计算思维的常见误解之一,其实计算思维和信息素养完全不同。信息素养注重的是培养人们对信息进行有效利用的方式方法,重点在于利用信息工具和信息,比如Excel、录音机、传感器、QQ的使用,从互联网上找到自己想要的信息等。而计算思维则是研究计算的,研究一个问题中哪些可以计算,怎样进行计算。
计算思维不是一门孤立的学问,也不是一门学科知识,它源于计算机科学,又和数学思维、工程思维有非常紧密的关系。说它和数学思维相关,是因为用计算思维解决问题时,需要将问题抽象为可计算的数学问题,例如比较罗马帝国的崛起和蒙古人的扩张,需要选择适当的数学模型来对国力进行量化计算。在运用计算思维设计大型复杂系统时,需要考虑效率、可靠性、自动化等问题,这些都是工程思维中非常重要的东西。
计算思维是每个人在日常生活中都可以运用的一种思考方式。没错,每个人都可以运用,而且可以用在几乎任何地方。出行路线规划、理财投资选择、科学研究分析、天气预报预测,不论你试图解决什么问题,运用计算思维都能帮你化繁为简,四两拨千斤。
理解计算思维,首先要理解计算
理解计算思维的前提是理解计算,因为计算思维本质上还是研究计算的,研究在解决问题过程中,哪些是可计算的,以及如何计算。
通常我们理解的计算是算术运算,如“1+1=2”,,但运算其实有很多种类,如集合运算、逻辑运算、条件运算等等。集合运算如 “ ∁U(A∩B)=(∁UA)∪(∁UB)”,这里面就没有具体的数值运算了,而是用代表集合的字母进行运算;又比如逻辑运算“1∧0=0”,这个运算里有数值“0”和1,但意义完全不同,这里的“1”代表的是“真”—即命题为真,“0”代表的是“假”—即命题为假,通过用数字“0”和“1”来代换命题的真假,用“∧”来代换逻辑语言里的“并且”,逻辑判断过程也能通过计算来实现。
在上面这三类运算中,“1和2”、“ A、B” “1和0”是计算对象,是用特定符号代表一定的含义(可能是数、集合、命题真假等等);“+”、“∁U、∩、U”和“∧”是运算符,也就是运算规则(可能是加减乘除、可能是求并/补集、可能是判断并且/或者的复合命题)。如果把计算对象用特定的符号串表示,计算的实质就是将已知的特定的符号串,按照预定的规则,一步一步地改变符号串,经过有限步骤,最终得到一个满足预定条件的符号串的过程。
当我们跳出算术运算的局限,理解了计算的本质后,就会发现原来好多看似不可计算的东西都能变得可计算,也就很容易理解计算思维的普适性了。因为经过一定的抽象,我们对很多问题的理解都能用特定的数学语言来描述,接下来,当我们用特定的数学语言去描述解决过程的时候,就是在用计算化的方式来求解了。
计算思维里的人机分工
当我们把一个问题的求解操作变的可计算化后,我们是要靠人力去进行运算吗?NO!运用计算思维就是为了把人从大量的机械的运算中解脱出来,让计算机去做这些事。
在用计算思维解决问题时,人负责把实际问题转化为可计算问题,并设计算法让计算机去执行,计算机负责具体的运算任务,这就是计算思维里的人机分工。
人机分工能大幅提高问题处理的效率,减少出错率,特别是在处理情况复杂,运算量大的问题时。比如出行路线规划,在没有导航软件的时候,我们想要规划从A点到B点的最近的路线,可能要花费不少功夫,往往是我们根据经验进行判断,并不精确,很难有足够的时间和精力去寻找最优解。
当我们用电子地图来表示实际地理情况,用坐标点来表示实际位置时,最短路线的问题就转化为比较地图上A点到B点的各种线段组合的长度问题。从输入起点和目的地到导航软件给出导航路线不到半秒的时间里,后台服务器已经进行了高达千万甚至上亿次的运算,这种效率高出人类N个数量级。
计算思维里的2A
Abstraction (抽象)和Automation(自动化)是计算思维的两大核心特征。
想要理解抽象和自动化之于计算思维的重要性,我们先来看下运用计算思维进行问题求解的关键路径:
<1>把实际问题抽象为数学问题,并建模
将人对问题的理解用数学语言描述出来
<2>进行映射,把数学模型中的变量等用特定的符号代替
用符号一一对应数学模型中的变量和规则等
<3>通过编程把解决问题的逻辑分析过程写成算法
把解题思路变成计算机指令,也就是算法
<4>执行算法,进行求解
计算机根据算法,一步步完成相应指令,求出结果
建立数学模型的过程就是理解问题的过程,并且要把你对问题的理解用数学语言描述出来。这很关键,数学模型的好坏意味着你对问题的理解程度够不够深,而且数学模型还说明了在这个问题中,哪些东西可以计算以及如何进行计算,这可以说是计算思维里最最核心的东西了。这个关键过程需要的核心能力就是抽象能力以及一定的数学基础。
数学建模只是可计算化的第一步,为了让计算机帮我们去求解,我们还需要虚拟的符号来代替的数学模型里的每个变量和运算规则,这个过程就是映射啦!
完成映射,我们就能把解题思路(注意,是解题思路,不是数学模型)用程序语言完整地告诉计算机啦,这个过程就是具体的编程写算法的过程啦!这一步需要较强的编程能力,但编程能力的核心之一也是抽象思维能力。对于编程能力不够强的人来说,映射还有编程的过程可以交给擅长编程的人来做。
关键路径的前3步都是人来完成的,最后一步执行算法进行运算是机器自动完成的,体现了计算思维的自动化的特点。
在整个过程中,抽象是方法,是手段,贯穿整个过程的每个环节。自动化是最终目标,让机器去做计算的工作,把人脑解放出来,中间目标是实现问题的可计算化,体现在成果上就是数学模型、映射、还有算法。
至此,你应该对计算思维有个差不多的理解了。当你再听到某些课程顾问说“我们的课程能培养孩子的计算思维时”,你可以反问一下他们是怎样培养孩子的计算思维的,而不是傻傻地为一个听起来高大上的词汇买单。俗话说“师傅领进门,修行在个人”,真正运用计算思维去解决问题,还需要各位踏踏实实地掌握相关知识,并加以操练才行。
⑧ 周以真在什么时间提出计算思维这个概念的
2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of the ACM》杂志上给出,并定义的计算思维(Computational Thinking)。
周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
以上是关于计算思维的一个总定义,周教授为了让人们更易于理解,又将它更进一步地定义为:通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的方法。
是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方法;是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法,是基于关注分离的方法(SoC方法)。
是一种选择合适的方式去陈述一个问题,或对一个问题的相关方面建模使其易于处理的思维方法;是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;是利用启发式推理寻求解答,也即在不确定情况下的规划、学习和调度的思维方法。
是利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行折衷的思维方法。
(8)计算思维与城乡规划扩展阅读
在计算思维技能中,算法思维具有非常鲜明的计算机科学特征。
有些问题是一次性的,但解决这些问题的方案,则可以不断发展。在同类问题一再出现时,算法思维就可以介入。没有必要重新每次从头思考,而是采用每次都行之有效的解决方案。
算法思维在许多“策略性“棋盘游戏中非常重要。理想情况下需要有保证胜利,或者至少不会输的策略。所有这种策略都是一套规则,告诉你无需思索即怎么做每一步:
也就是计算机科学家称之为算法的东西。如果你能建立这样的一套规则,这不仅可以成为完好游戏的基础,也成为一个设计优秀的计算机程序的基础。无论老幼,只要准遵循这套规则,就可以玩好这场游戏!
算法思维是在思考使用算法来解决问题的方法。这是学习自己编写计算机程序时需要开发的核心技术。
囚徒困境(prisoner's dilemma)是博弈论的非零和博弈中具代表性的例子,反映个人最佳选择并非团体最佳选择。虽然困境本身只属模型性质,但现实中的价格竞争、环境保护等方面,也会频繁出现类似情况。
这个1950年代提出的囚徒困境的典型案例是:两个罪犯准备抢劫银行,但作案前失手被擒。警方怀疑他们意图抢劫,苦于证据只够起诉非法持有枪械,于是将其分开审讯。为离间双方,警方分别对两人说:若你们都保持沉默(“合作”),则一同入狱1年。
若是互相检举(互相“背叛”),则一同入狱5年。若你认罪并检举对方(“背叛”对方),他保持沉默,他入狱10年,你可以获释(反之亦然)。结果两人都选择了招供。孤立地看,这是最符合个体利益的“理性”选择(以A为例:若B招供,自己招供获刑5年,不招供获刑10年;若B不招供,自己招供可以免刑,不招供获刑1年。
两种情况下,选择招供都更有利),事实上却比两人都拒不招供的结果糟。由囚徒困境可知,公共生活中,如果每个人都从眼前利益、个人利益出发,结果会对整体的利益(间接对个人的利益)造成伤害。
为解决“囚徒困境”难题,美国曾组织竞赛,要求参赛者根据“重复囚徒困境”(双方不止一次相遇,“背叛”可能在以后遭到报复)来设计程序,将程序输入计算机反复互相博弈,以最终得分评估优劣(双方合作各得3分;双方背叛各得1分;一方合作一方背叛,合作方得0分,背叛方得5分)。
有些程序采用“随机”对策;有些采用“永远背叛”;有些采用“永远合作”……结果,加拿大多伦多大学的阿纳托尔·拉帕波特教授的“一报还一报”策略夺得了最高分。
参考资料来源:网络-计算思维
参考资料来源:网络-计算思维技能
⑨ 计算思维与机械工程专业的联系
计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
操作模式 计算思维建立在计算过程的能力和限制之上,由人由机器执行。计算方法和模型使我们敢于去处理那些原本无法由任何个人独自完成的问题求解和系统设计。计算思维直面机器智能的不解之谜:什么人类比计算机做得好?什么计算机比人类做得好?最基本的问题是:什么是可计算的?迄今为止我们对这些问题仍是一知半解。
计算思维用途 计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading, wRiting, and aRithmetic——3R),还要学会计算思维。正如印刷出版促进了3R的普及,计算和计算机也以类似的正反馈促进了计算思维的传播。
计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。
当我们必须求解一个特定的问题时,首先会问:解决这个问题有多么困难?怎样才是最佳的解决方法?计算机科学根据坚实的理论基础来准确地回答这些问题。表述问题的难度就是工具的基本能力,必须考虑的因素包括机器的指令系统、资源约束和操作环境。
为了有效地求解一个问题,我们可能要进一步问:一个近似解是否就够了,是否可以利用一下随机化,以及是否允许误报(false positive)和漏报(false negative)。计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。
计算思维是一种递归思维 它是并行处理。它是把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处。对于间接寻址和程序调用的方法,它既知道其威力又了解其代价。它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。
抽象和分解 来迎接庞杂的任务或者设计巨大复杂的系统。它是关注的分离(SOC方法)。它是选择合适的方式去陈述一个问题,或者是选择合适的方式对一个问题的相关方面建模使其易于处理。它是利用不变量简明扼要且表述性地刻画系统的行为。它使我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信息。它就是为预期的未来应用而进行的预取和缓存。
智能机器人
智能机器人
计算思维是按照预防、保护及通过冗余、容错、纠错的方式从最坏情形恢复的一种思维。它称堵塞为“死锁”,称约定为“界面”。计算思维就是学习在同步相互会合时如何避免“竞争条件”(亦称“竞态条件”)的情形。
计算思维利用启发式推理来寻求解答,就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,结果是一系列的网页,一个赢得游戏的策略,或者一个反例。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。
考虑下面日常生活中的事例:当你女儿早晨去学校时,她把当天需要的东西放进背包,这就是预置和缓存;当你儿子弄丢他的手套时,你建议他沿走过的路寻找,这就是回推;在什么时候停止租用滑雪板而为自己买一付呢?这就是在线算法;在超市付帐时,你应当去排哪个队呢?这就是多服务器系统的性能模型;为什么停电时你的电话仍然可用?这就是失败的无关性和设计的冗余性;完全自动的大众图灵测试如何区分计算机和人类,即CAPTCHA[注1]程序是怎样鉴别人类的?这就是充分利用求解人工智能难题之艰难来挫败计算代理程序。
计算思维将渗透到我们每个人的生活之中,到那时诸如算法和前提条件这些词汇将成为每个人日常语言的一部分,对“非确定论”和“垃圾收集”这些词的理解会和计算机科学里的含义驱近,而树已常常被倒过来画了。
我们已见证了计算思维在其他学科中的影响。例如,机器学习已经改变了统计学。就数学尺度和维数而言,统计学习用于各类问题的规模仅在几年前还是不可想象的。各种组织的统计部门都聘请了计算机科学家。计算机学院(系)正在与已有或新开设的统计学系联姻。
计算机学家们对生物科学越来越感兴趣,因为他们坚信生物学家能够从计算思维中获益。计算机科学对生物学的贡献决不限于其能够在海量序列数据中搜索寻找模式规律的本领。最终希望是数据结构和算法(我们自身的计算抽象和方法)能够以其体现自身功能的方式来表示蛋白质的结构。计算生物学正在改变着生物学家的思考方式。类似地,计算博弈理论正改变着经济学家的思考方式,纳米计算改变着化学家的思考方式,量子计算改变着物理学家的思考方式。
这种思维将成为每一个人的技能组合成分,而不仅仅限于科学家。普适计算之于今天就如计算思维之于明天。普适计算是已成为今日现实的昨日之梦,而计算思维就是明日现实。
特性编辑
概念化,不是程序化
计算机科学不是计算机编程。像计算机科学家那样去思维意味着远不止能为计算机编程,还要求能够在抽象的多个层次上思维。
根本的,不是刻板的技能
根本技能是每一个人为了在现代社会中发挥职能所必须掌握的。刻板技能意味着机械的重复。具有讽刺意味的是,当计算机像人类一样思考之后,思维可就真的变成机械的了。
是人的,不是计算机的思维方式
计算思维是人类求解问题的一条途径,但决非要使人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力。是人类赋予计算机激情。配置了计算设备,我们就能用自己的智慧去解决那些在计算时代之前不敢尝试的问题,实现“只有想不到,没有做不到”的境界。
数学和工程思维的互补与融合
计算机科学在本质上源自数学思维,因为像所有的科学一样,其形式化基础建筑于数学之上。计算机科学又从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统,基本计算设备的限制迫使计算机学家必须计算性地思考,不能只是数学性地思考。构建虚拟世界的自由使我们能够设计超越物理世界的各种系统。
是思想,不是人造物
不只是我们生产的软件硬件等人造物将以物理形式到处呈现并时时刻刻触及我们的生活,更重要的是还将有我们用以接近和求解问题、管理日常生活、与他人交流和互动的计算概念;而且,面向所有的人,所有地方。 当计算思维真正融入人类活动的整体以致不再表现为一种显式之哲学的时候,它就将成为一种现实。
总结编辑
许多人将计算机科学等同于计算机编程。有些家长为他们主修计算机科学的孩子看到的只是一个狭窄的就业范围。许多人认为计算机科学的基础研究已经完成,剩下的只是工程问题。当我们行动起来去改变这一领域的社会形象时,计算思维就是一个引导着计算机教育家、研究者和实践者的宏大愿景。我们特别需要抓住尚未进入大学之前的听众,包括老师、父母和学生,向他们传送下面两个主要信息:
智力上的挑战和引人入胜的科学问题依旧亟待理解和解决。这些问题和解答仅仅受限于我们自己的好奇心和创造力;同时一个人可以主修计算机科学而从事任何行业。一个人可以主修英语或者数学,接着从事各种各样的职业。计算机科学也一样。一个人可以主修计算机科学,接着从事医学、法律、商业、政治,以及任何类型的科学和工程,甚至艺术工作。
计算机科学的教授应当为大学新生开一门称为“怎么像计算机科学家一样思维”的课程,面向所有专业,而不仅仅是计算机科学专业的学生。我们应当使入大学之前的学生接触计算的方法和模型。我们应当设法激发公众对计算机领域科学探索的兴趣,而不是悲叹对其兴趣的衰落或者哀泣其研究经费的下降。所以,我们应当传播计算机科学的快乐、崇高和力量,致力于使计算思维成为常识。
⑩ 计算思维的计算思维
操作模式 计算思维建立在计算过程的能力和限制之上,由人由机器执行。计算方法和模型使我们敢于去处理那些原本无法由任何个人独自完成的问题求解和系统设计。计算思维直面机器智能的不解之谜:什么人类比计算机做得好?什么计算机比人类做得好?最基本的问题是:什么是可计算的?迄今为止我们对这些问题仍是一知半解。
计算思维用途 计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading, wRiting, and aRithmetic——3R),还要学会计算思维。正如印刷出版促进了3R的普及,计算和计算机也以类似的正反馈促进了计算思维的传播。
计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。它包括了涵盖计算机科学之广度的一系列思维活动。当我们必须求解一个特定的问题时,首先会问:解决这个问题有多么困难?怎样才是最佳的解决方法?计算机科学根据坚实的理论基础来准确地回答这些问题。表述问题的难度就是工具的基本能力,必须考虑的因素包括机器的指令系统、资源约束和操作环境。
为了有效地求解一个问题,我们可能要进一步问:一个近似解是否就够了,是否可以利用一下随机化,以及是否允许误报(false positive)和漏报(false negative)。计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。
计算思维是一种递归思维 它是并行处理。它是把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处。对于间接寻址和程序调用的方法,它既知道其威力又了解其代价。它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。
抽象和分解 来迎接庞杂的任务或者设计巨大复杂的系统。它是关注的分离(SOC方法)。它是选择合适的方式去陈述一个问题,或者是选择合适的方式对一个问题的相关方面建模使其易于处理。它是利用不变量简明扼要且表述性地刻画系统的行为。它使我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信息。它就是为预期的未来应用而进行的预取和缓存。计算思维是按照预防、保护及通过冗余、容错、纠错的方式从最坏情形恢复的一种思维。它称堵塞为“死锁”,称约定为“界面”。计算思维就是学习在同步相互会合时如何避免“竞争条件”(亦称“竞态条件”)的情形。
计算思维利用启发式推理来寻求解答,就是在不确定情况下的规划、学习和调度。它就是搜索、搜索、再搜索,结果是一系列的网页,一个赢得游戏的策略,或者一个反例。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。
考虑下面日常生活中的事例:当你女儿早晨去学校时,她把当天需要的东西放进背包,这就是预置和缓存;当你儿子弄丢他的手套时,你建议他沿走过的路寻找,这就是回推;在什么时候停止租用滑雪板而为自己买一付呢?这就是在线算法;在超市付帐时,你应当去排哪个队呢?这就是多服务器系统的性能模型;为什么停电时你的电话仍然可用?这就是失败的无关性和设计的冗余性;完全自动的大众图灵测试如何区分计算机和人类,即CAPTCHA[注1]程序是怎样鉴别人类的?这就是充分利用求解人工智能难题之艰难来挫败计算代理程序。
计算思维将渗透到我们每个人的生活之中,到那时诸如算法和前提条件这些词汇将成为每个人日常语言的一部分,对“非确定论”和“垃圾收集”这些词的理解会和计算机科学里的含义驱近,而树已常常被倒过来画了。
我们已见证了计算思维在其他学科中的影响。例如,机器学习已经改变了统计学。就数学尺度和维数而言,统计学习用于各类问题的规模仅在几年前还是不可想象的。各种组织的统计部门都聘请了计算机科学家。计算机学院(系)正在与已有或新开设的统计学系联姻。
计算机学家们对生物科学越来越感兴趣,因为他们坚信生物学家能够从计算思维中获益。计算机科学对生物学的贡献决不限于其能够在海量序列数据中搜索寻找模式规律的本领。最终希望是数据结构和算法(我们自身的计算抽象和方法)能够以其体现自身功能的方式来表示蛋白质的结构。计算生物学正在改变着生物学家的思考方式。类似地,计算博弈理论正改变着经济学家的思考方式,纳米计算改变着化学家的思考方式,量子计算改变着物理学家的思考方式。
这种思维将成为每一个人的技能组合成分,而不仅仅限于科学家。普适计算之于今天就如计算思维之于明天。普适计算是已成为今日现实的昨日之梦,而计算思维就是明日现实。