电脑程序为什么也能写诗呢?红楼梦后40回究竟是不是曹雪芹所写?路口红绿灯的时间长短是如何决定的,为什么有的长,有的短?回答这些问题,实际上都要用到“计算机思维”。
一、什么是计算机思维?
计算机思维,英文是Computational Thinking,是一种分析和解决问题的方法。它是一种先将问题分解,再用计算知识找出问题解决方案或答案的方法。
计算机思维由四个主要部分构成:
1、分解(Decompose)。就是把问题进行拆分,将一个大问题分解为若干小部分,同时弄明白各部分的特点。
比如,我们想创造一个能自动给植物浇水的机器人,那么就要想,这个机器人应该分解为哪些功能部件。
2、模式识别(Pattern Recognition)。找出第一步拆分出来的各部分之间的相似点和区别,也就是模式,或者说趋势,用以后续做出预测。
还拿浇水机器人举例,我们需要给拆解出来的那些功能部件进行分类,这个分类可能是根据设计外观,可能是根据实现难度,还可能是根据其他我们需要的条件。分类并不是唯一的,不同的分类方法能找到不同的趋势。
3、模式归纳(Pattern Generalization)。又叫抽象化(Abstraction),找到第二步中这些模式形成背后的更一般的、通用的规律。
比如,对分到一类中的那些部件,我们还要想想看,如何通过一个设计或者一个生产方法把它们生产出来。模式归纳就是从很多相似的数据中找到公式。如果我们前面识别出的模式无法归纳,那么说明识别阶段很可能是有问题的。
4、算法开发,(Algorithm Design)。针对同一类或者说同一模式的相似问题,给出一系列逐步的解决方案。
比如我们已经针对一类零部件找到了一个生产方法,那接下来就是一步步把这个方法列出来。任何人都可以根据这个方法生产出我们需要的零部件,最终组装成自动浇水的机器人啦。
计算机诞生后,人们正在越来越多的领域中开始应用计算机思维解决问题。这一思维方式,或者说分析和解决问题的方式,带动了物理、生物、化学、社会研究、乃至艺术等诸多领域的发展。
实际上,当我们提出一些容易被计算机解决或者通过大数据分析寻找规律的问题的时候,我们就已经在运用计算机思维思考了。
二、计算机思维和计算机科学有什么区别?
很多人常常搞不清计算机思维与计算机科学,其实二者泾渭分明。
计算机科学(Computer Science)是一个具体的学科。
就如同数学和文学一样,它是系统性研究信息和计算的科学理论以及理论在计算机系统中应用的技术型学科。它的研究者和应用者都是这个学科领域的学生、学者和专家。举个简单的例子,大家日常用的各种手机app,是程序员使用各种计算机语言编写创造的,这就是计算机科学的一种具体应用。
而计算机思维如前面所讲,是人们分析和解决问题的一种思维方式。每个人都可以学习和应用。这和你是否会计算机语言,是否会编程等完全没有关系。
三、计算机思维为什么很重要?
计算机思维是随着计算机应用的普及和计算机科学的发展被日益完善、广泛传播和认可的。这种思维方式是一种理性的、数学化的、抽象的思维方式,它并不是计算机科学诞生后才出现的,事实上,数学等很多理工类学科的研究方法都能看到计算机思维的模型和影子。
随计算机科学的发展和应用的普及,这个世界越来越数据化。实物和各类信息,比如名画、乐谱、人们的关系等等,都通过数据信息的方式被保存下来,也因此越来越多的问题可以通过数据分析与计算的方式解决,也就是使用计算机思维去找到解决方案。所以,计算机思维也就越来越重要。
到现在,可以说任何学科背景和年龄段的学生都应该学习计算机思维。它是一种能让人受益匪浅的普适性技能。
计算机思维让学生们面对复杂的、开放性的、高不确定性的问题时更加的有信心,因为它提供给了学生一个普适性的、面对任何问题都有效的入手方法,让学生不至于束手无策。
计算机思维让学生们不但能使用已有的理论或模型,更重要的,它帮助学生们更好的发现事物的本质、联系与规律,让学生们自己创造出新的理论或模型。也就是说,它能赋予学生创造的能力,成为创新者。
四、如何学习和掌握计算机思维?
正如前面所说,计算机思维早已存在,我们学习各种学科、特别是理工类学科的时候,都有接触和部分的学习到它。所以,我们无需太过担心和恐惧,学习和应用它不是什么难题。恰恰相反,它是帮我们解决难题的存在。
无论你是家长还是老师,计算机思维都不是你需要独立出来教授给孩子的内容,只需要在日常的教育中略作优化即可。
在开始的时候,我们应通过日常生活中的问题或案例来说明计算思维的应用,帮助孩子逐步理解它是什么、如何生效以及有什么好处。
然后,从简单的问题开始,比如解决数列的问题,或是改善自己的生活计划等,让孩子尝试去使用它。慢慢的,这种思维方式会成为孩子的一种习惯,进而帮助他更好的学习和解决问题。
现在,让我们想想开头的问题吧。
为什么电脑程序也能写诗了呢?当我们将海量的诗词录入电脑后,就能够通过计算机去分析诗词的类型、特征、词汇等等,并按照由此归纳的模型去生成新的诗歌。看似艺术性的问题,演化成为了数据分析和计算问题。
当今的世界,正面临越来越大的不确定性,知识的更新换代甚至超过了人们的掌握能力,各行各业都要求从业者有多方面的、跨行的综合性能力,学习已有模型然后据此解决问题的方法越来越行不通了。计算机思维这一思维方式能够帮助我们、和我们的孩子更高效的整合多学科的已知信息,并能更好的创新和突破。