计算思维:通过拆解和重组学习#

Computational Thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent [Cuny, Snyder, Wing, 2010]

计算思维的实现过程#

  • 定义问题

  • 寻找解决方案

  • 任务分解

  • 重组

  • 自动化实现

“The creation of any sort of novelty in art, science, or practical life–consists to a substantial extent of a recombination of conceptual and physical materials that were previously in existence” (Nelson and Winter,1982, p.130)

每个人都曾经掌握计算思维#

想一下我们小时候是如何拆玩具的!

  • 定义问题: 玩具汽车是如何运动的?

  • 寻找解决方案:拆!

  • 任务分解:先拆掉螺丝、然后打开、观察

  • 重组:重新组装起来

  • 自动化实现:日常生活中一般没有这一步

编程也是一个拆开黑盒子并重组的过程!#

  • 定义问题: 如何计算一个小说的单词数量?

  • 寻找解决方案:使用字符串的处理方法

  • 任务分解:读取小说、去掉标点符号、然后按照空格”分词“、最后列表中的元素数量

  • 重组:组装起来,写成一个函数

  • 自动化实现:调用函数

如果遇到问题怎么办?#

  • 首先,明确问题是什么。

    • Python在出错的时候一般都会告诉我们问题是什么。

  • 其次,尝试理解问题

    • 很多人看到出错就懵了,似乎完美的人生不能容许污点。

    • 使用help函数

  • 再次,如果搞不懂可要学会使用搜索引擎

    • 很多同学在提问题之前没有搜索过。

  • 此外,拆开代码找到解决办法后重新组装起来

    • 多做案例分析

      • 如果是for循环中的代码出问题,可以使用break阻断并使用print输出结果以便检查