原来,计算思维该这样理解

容易被误解的计算思维

2006年,卡内基·梅隆大学周以真教授首次系统性地定义了计算思维。这一年,她在美国计算机权威期刊

《Communications of the ACM》上发表了题为《Computational Thinking》的论文,由此开启了计算思维大众化的全新历程。

图片发自简书App


在此之前,“计算思维”在非计算机领域的应用多集中在科研学术圈,如计算化学、计算生物学、计算决策学等。像我这样的普罗大众真正开始了解“计算思维”的价值是在《Computational Thinking》发表之后(的10年)。今天,计算思维成了世界公认的普适思维方式,和理论思维、实验思维一样,任何人在解决任何问题时都可以运用。

计算思维对每个人都意义重大,但却非常容易被误解。有人望文生义,以为计算思维就是关于数学的学问;有人片面理解,以为学了编程就懂了计算思维;有人非要攀高枝,连学个Word、Exel、PPT都要说培养了计算思维。

计算思维被误解成这样,小编决心为它正名,带大家好好认识下计算思维。

计算思维是什么,不是什么

计算思维是什么呢?

在《Computational Thinking》这篇论文中,周以真教授用“硬科学”的术语描述了计算思维:计算思维是运用计算机科学的基本理念,进行问题求解,系统设计以及理解人类行为。也就是说,计算思维是一种解决问题的思考方式,而不是具体的学科知识,这种思考方式要运用计算机科学的基本理念,而且用途挺广的。

图片发自简书App


想要更快更好的理解计算思维,先来看看周以真教授对计算思维的几个清晰论断。

1 计算机思维是研究计算的。

2 是概念化,不是编程。

3 是基础技能,不是死记硬背的技能。

4 是人的思考方式,不是计算机的思考方式。

5 是数学思维、工程思维的补充和结合。

6 是想法,不是人造产品。

理解了上面6句话,就能在很大程度上减少对计算思维的误解了。

把编程当作计算思维是对计算思维的常见误解之一,甚至一些学计算机专业出身的人也会有类似的观点,其实不然。计算思维是一种概念化的思考方式,而编程则是一种行为,虽然编程的过程中经常会用到计算思维,但计算思维绝不是编程。把信息素养当作计算思维也是对计算思维的常见误解之一,其实计算思维和信息素养完全不同。信息素养注重的是培养人们对信息进行有效利用的方式方法,重点在于利用信息工具和信息,比如Excel、录音机、传感器、QQ的使用,从互联网上找到自己想要的信息等。而计算思维则是研究计算的,研究一个问题中哪些可以计算,怎样进行计算。

计算思维不是一门孤立的学问,也不是一门学科知识,它源于计算机科学,又和数学思维、工程思维有非常紧密的关系。说它和数学思维相关,是因为用计算思维解决问题时,需要将问题抽象为可计算的数学问题,例如比较罗马帝国的崛起和蒙古人的扩张,需要选择适当的数学模型来对国力进行量化计算。在运用计算思维设计大型复杂系统时,需要考虑效率、可靠性、自动化等问题,这些都是工程思维中非常重要的东西。

计算思维是每个人在日常生活中都可以运用的一种思考方式。没错,每个人都可以运用,而且可以用在几乎任何地方。出行路线规划、理财投资选择、科学研究分析、天气预报预测,不论你试图解决什么问题,运用计算思维都能帮你化繁为简,四两拨千斤。

理解计算思维,首先要理解计算

理解计算思维的前提是理解计算,因为计算思维本质上还是研究计算的,研究在解决问题过程中,哪些是可计算的,以及如何计算。

图片发自简书App


通常我们理解的计算是算术运算,如“1+1=2”,,但运算其实有很多种类,如集合运算、逻辑运算、条件运算等等。集合运算如 “ ∁U(A∩B)=(∁UA)∪(∁UB)”,这里面就没有具体的数值运算了,而是用代表集合的字母进行运算;又比如逻辑运算“1∧0=0”,这个运算里有数值“0”和1,但意义完全不同,这里的“1”代表的是“真”—即命题为真,“0”代表的是“假”—即命题为假,通过用数字“0”和“1”来代换命题的真假,用“∧”来代换逻辑语言里的“并且”,逻辑判断过程也能通过计算来实现。

图片发自简书App


在上面这三类运算中,“1和2”、“ A、B” “1和0”是计算对象,是用特定符号代表一定的含义(可能是数、集合、命题真假等等);“+”、“∁U、∩、U”和“∧”是运算符,也就是运算规则(可能是加减乘除、可能是求并/补集、可能是判断并且/或者的复合命题)。如果把计算对象用特定的符号串表示,计算的实质就是将已知的特定的符号串,按照预定的规则,一步一步地改变符号串,经过有限步骤,最终得到一个满足预定条件的符号串的过程。

当我们跳出算术运算的局限,理解了计算的本质后,就会发现原来好多看似不可计算的东西都能变得可计算,也就很容易理解计算思维的普适性了。因为经过一定的抽象,我们对很多问题的理解都能用特定的数学语言来描述,接下来,当我们用特定的数学语言去描述解决过程的时候,就是在用计算化的方式来求解了。

计算思维里的人机分工

当我们把一个问题的求解操作变的可计算化后,我们是要靠人力去进行运算吗?NO!运用计算思维就是为了把人从大量的机械的运算中解脱出来,让计算机去做这些事。

图片发自简书App


在用计算思维解决问题时,人负责把实际问题转化为可计算问题,并设计算法让计算机去执行,计算机负责具体的运算任务,这就是计算思维里的人机分工。

人机分工能大幅提高问题处理的效率,减少出错率,特别是在处理情况复杂,运算量大的问题时。比如出行路线规划,在没有导航软件的时候,我们想要规划从A点到B点的最近的路线,可能要花费不少功夫,往往是我们根据经验进行判断,并不精确,很难有足够的时间和精力去寻找最优解。

当我们用电子地图来表示实际地理情况,用坐标点来表示实际位置时,最短路线的问题就转化为比较地图上A点到B点的各种线段组合的长度问题。从输入起点和目的地到导航软件给出导航路线不到半秒的时间里,后台服务器已经进行了高达千万甚至上亿次的运算,这种效率高出人类N个数量级。

计算思维里的2A

Abstraction (抽象)和Automation(自动化)是计算思维的两大核心特征。

想要理解抽象和自动化之于计算思维的重要性,我们先来看下运用计算思维进行问题求解的关键路径:

<1>把实际问题抽象为数学问题,并建模

      将人对问题的理解用数学语言描述出来

<2>进行映射,把数学模型中的变量等用特定的符号代替

      用符号一一对应数学模型中的变量和规则等

<3>通过编程把解决问题的逻辑分析过程写成算法

      把解题思路变成计算机指令,也就是算法 

<4>执行算法,进行求解

    计算机根据算法,一步步完成相应指令,求出结果

     

图片发自简书App

建立数学模型的过程就是理解问题的过程,并且要把你对问题的理解用数学语言描述出来。这很关键,数学模型的好坏意味着你对问题的理解程度够不够深,而且数学模型还说明了在这个问题中,哪些东西可以计算以及如何进行计算,这可以说是计算思维里最最核心的东西了。这个关键过程需要的核心能力就是抽象能力以及一定的数学基础。

数学建模只是可计算化的第一步,为了让计算机帮我们去求解,我们还需要虚拟的符号来代替的数学模型里的每个变量和运算规则,这个过程就是映射啦!

图片发自简书App


完成映射,我们就能把解题思路(注意,是解题思路,不是数学模型)用程序语言完整地告诉计算机啦,这个过程就是具体的编程写算法的过程啦!这一步需要较强的编程能力,但编程能力的核心之一也是抽象思维能力。对于编程能力不够强的人来说,映射还有编程的过程可以交给擅长编程的人来做。

关键路径的前3步都是人来完成的,最后一步执行算法进行运算是机器自动完成的,体现了计算思维的自动化的特点。

在整个过程中,抽象是方法,是手段,贯穿整个过程的每个环节。自动化是最终目标,让机器去做计算的工作,把人脑解放出来,中间目标是实现问题的可计算化,体现在成果上就是数学模型、映射、还有算法。

至此,你应该对计算思维有个差不多的理解了。当你再听到某些课程顾问说“我们的课程能培养孩子的计算思维时”,你可以反问一下他们是怎样培养孩子的计算思维的,而不是傻傻地为一个听起来高大上的词汇买单。俗话说“师傅领进门,修行在个人”,真正运用计算思维去解决问题,还需要各位踏踏实实地掌握相关知识,并加以操练才行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容