什么是计算思维

wiki对于计算思维定义如下:

Computational thinking (CT) refers to the thought processes involved in formulating problems so their solutions can be represented as computational steps and algorithms.[1]In education, CT is a set of problem-solving methods that involve expressing problems and their solutions in ways that a computer could also execute.[2]It involves automation of processes, but also using computing to explore, analyze, and understand processes (natural and artificial)

程序员为什么要学习计算思维

计算思维是指导程序员如何通过编程利用计算机来解决计算问题。

学习计算思维有以下作用:

  1. 更好地从计算机与编程角度来理解问题
  2. 更好地从计算机与编程角度来写代码
  3. 更好地发挥计算机的能力与效率
  4. 利于跨学科解决问题,可以将一个其他学科的问题转化为一个计算问题

计算思维的核心与关键

  1. 分解与组合:将一个大问题分解为更易于解决的子问题,然后利用子问题的结果来组合来解决原始的大问题,最典型的例子就是二分查找。

  2. 模式与模型: 分析与查找模式与模型,找到重复通过迭代解决问题,或者通过公式来描述问题,最典型的例子就是动态规划。

  3. 抽象:抽象的过程是不断做减法,找到核心的过程。最典型的例子就是在linux中一切都是object。

  4. 算法:用算法编排指令利用计算机的计算能力来完成具体问题的计算,同时用复杂度来量化算法。

如何应用计算思维

  1. 确定问题与边界,以解决问题为导向,总是围绕具体的问题展开思考

  2. 理解问题(明确问题的输入,输出,限制等),并准备问题的数据

  3. 根据问题的输入,输出,限制等,通过抽象与分解等方式简化问题

  4. 确定用常用的模型与模式来解决问题

  5. 根据模型与模式设计算法

  6. 编程完成算法的实现

  7. 测试算法

  8. 分析与迭代