都21世纪20年代了,学点计算思维,不吃亏!!!

荷兰计算大师Dijkstra说过:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻影响着我们的思维能力。”而思维是人脑对于客观事物的本质及其内在联系间接的概括反应,是一种认识过程或心理活动。

为什么说人人都应学点计算思维呢?

计算思维是人的思维方式,是人类求解问题的思维方法,而不是要使人类像计算机那样思考。计算思维建立在计算过程的能力和限制之上,需要考虑哪些事情人类比计算机做得好?哪些事情计算机比人类做得好?最根本的问题是:什么是可计算的?怎样去计算?

在《计算机的本质》文章中给出了计算学科和计算思维关系图,将社会和自然的计算表达和推理抽象出来,用社会和自然所接受的形式体现计算及结果。将社会和自然的现实问题,抽象成可计算的过程,在这个思维过程中,最重要的是抽象化自动化

从零学习计算思维(人人都应学点计算思维)(1)

图1 计算学科和计算思维关系

那么现实世界中,哪些可以抽象成计算思维呢?

下面这些日常的生活事件,就可抽象成计算问题,体现“计算思维”(论文《Computational Thinking》中案例)

从零学习计算思维(人人都应学点计算思维)(2)

假设现在你需要为4人家庭做一餐晚饭,要求有汤有素菜有荤菜,你应该怎么做?

从零学习计算思维(人人都应学点计算思维)(3)

计算思维是怎么被提出来的呢?

2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of the ACM》杂志上发表了《Computational Thinking》,定义了计算思维。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。(论文PDF下载地址:https://classes.cs.uoregon.edu/09W/cis170/documents/Wing.2006.pdf)

从零学习计算思维(人人都应学点计算思维)(4)

图2 《Computational Thinking》截图

周教授文章中指出,计算机思维有以下几个特点:1)是概念化思维,不是程序化思维;2)是基础的技能,不是机械的技能;3)是人的思维,不是计算机的思维;4)是数学和工程互补融合的思维,不是数学系思维;5)是面向所有人的思维,不仅是计算机科学家的思维。


周教授为了让人们更易于理解,又将它更进一步地定义为:通过约简嵌入转化仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的方法。

国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)于2011年给计算思维做了一个可操作性的定义,即:计算思维是一个问题解决的过程,该过程包括以下特点:

1)制定问题,并能够利用计算机和其他工具来帮助解决该问题;

2)要符合逻辑地组织和分析数据;

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

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

5)分析可能的解决方案,找到最有效的方案,并且有效结合这些步骤和资源;

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


计算思维的作用范围有哪些方面?

非计算机专业人员,学一点算法、计算机编程(比如SQL,Python之类的语言),抽象化技巧,对从商、搞法律、学医或者是自己创业更加有优势,这是因为学习抽象的语言和算法,你就会有一种新的解决问题的技能。

拥有计算思维的人,知道计算能力的强大性,就知道利用计算的能力去解决大规模的、或者很复杂的问题。现在大数据在任何领域都很火,我们只有通过计算技术这种能力,运用超算的基础设施,才能够去解决每一个行业大数据的挑战。随着人工智能发展,这种计算思维方式将会越来越重要。

以上是关于计算思维的讲述,多数观点和思想来源《Computational Thinking》,本人在这方面也需要不断学习,愿我们共同成长。

不知道本文是否让您对计算机有更加深刻的理解?从计算机的视角去理解现今社会发展规律,以及解决问题的方法方式。欢迎关注本人公众号,头条号,私信本人,给予建议者将不胜感激!!!

,