每次被问到什么是计算思维?我都会回答,计算思维就是解决问题的方法;不知道是不是答案太简单,后面就会接着问,什么是解决问题的方法?如果有人这样问,你会怎么回答?我的答案是,解决 — 问题— 的 — 方法 ,接着问的人头上就会出现大大的问号。
以下提到的工程师泛指程式设计师、开发人员或是会编程的人。
You don’t have to be an expert in coding or the periodic table, but having the ability to think the way these experts do will help you tremendously.
It’s not necessarily that you’ll be writing code, but you need to understand what can engineers do and what can they not do
- Bill Gates
微软创始人比尔·盖兹说:不一定要会编程,但学习工程师的思考方式,了解编程能做什么以及不能做什么,对未来会很有帮助。
我以前会在公司开编程课,不管是企划、设计师、研究员还是兼职都可以报名,很妙对吧,为什么不是针对工程师?其实开课只是为了帮大家建立共同的沟通语言。
很多时候争执不是因为出了什么问题,而是不了解彼此的工作方式及遇到的困难;让更多人能学习编程,用这样的方式来建立同理心,之后在沟通上遇到的问题也就越来越少了。
那时隐约感受到想教大家的东西不只这些,只是当时说不出个所以然,现在才知道我真正想分享的观念,有个专有名词叫「计算思维」。
那到底什么是计算思维?计算思维就是工程师面对问题时如何思考,以及找出问题的交互关系,并建立永久性解决方案的过程。
工程师在解决问题时有特定的思考流程,面对一个问题,首先将问题拆解成许多的小问题(拆解问题),接着找出问题彼此间的关联性或规律性(找到模式),然后将问题简化,忽略细节(建立抽象化),最后针对这个问题提供一个完整的解决方案(完成演算法)。
计算思维就是工程师在面对问题时如何思考,以及找出问题的交互关系,并建立永久性解决方案的过程。
这样的思考方式除了能提升工作效率,还能减少错误的发生;也可以用在日常生活及所有复杂的问题上,这也是西方国家倾全力推广程式教育的原因,就连前美国总统欧巴马、名模、街友都开始学编程了。
计算思维的四大步骤:
一、拆解:将数据,流程或问题拆解成可管理的大小;
二、模式识别:寻找问题间的相似处、趋势或规律;
三、抽象:只关注重要信息,忽略不相关的细节;
四、演算法:建立解决问题的流程或规则,同时能解决其他类似的问题。
我是不是该开始学编程?但为什么要学?现在不学未来真的会被淘汰吗?其实不一定需要学编程,真正需要学习的是工程师如何思考,编程只是方法之一,也是现今最常见、最有效的方法;但透过这样的方式学习计算思维,至少得先熟悉一种编程语言,然后累积丰富的开发经验,对多数人来说是非常大的考验。
近年来计算思维的重要性越来越受到重视,美国计算机教师协会(CSTA)与国际教育技术协会(ISTE),在2019 年的计算机教育标准草案融入了大量的计算思维教学规范,希望将计算思维融入到一般课程设计,不管是数学、科学、音乐或艺术都能结合计算思维,让学习计算思维变得更加容易。
最后想说的是,工程师不是未来唯一的选择,你还是可以是音乐家,艺术家、科学家、心理学家或创业家,但学习计算思维,在未来会对你产生非常大的帮助。
很高兴知道你读完了这篇文章,喜欢吗?喜欢的话可以给我掌声,支持我写更多相关的文章,别忘了 Follow 喔!也欢迎您分享您的想法。