对计算思维的一些认识

计算思维的本质是抽象(Abstract)和自动化(Automation)。它反映了计算的根本问题,即什么能被有效的自动进行。计算是抽象的自动执行,自动化需要某种计算机去解释抽象。

1. 计算思维的定义

计算思维是运用计算机科学的基础概念进行问题求解系统设计、以及人类行为理解 等涵盖计算机科学之广度的一系列思维活动。

2计算思维的本质

从操作层面上讲,计算就是如何寻找一台计算机去求解问题,隐含地说就是要确定合适的抽象,选择合适的计算机去解释执行该抽象,后者就是自动化。

计算思维中的抽象完全超越物理的时空观,可以完全用符号来表示,其中,数字抽象只是一类特例。与数学相比,计算思维中的抽象显得更为丰富,也更为复杂。数学抽象 的特点是抛开现实事物的物理、化学和生物等特性,仅保留其量的关系和空间的形式,而计算思维中的抽象却不仅仅如此。堆栈是计算学科中常见的一种抽象数据类型,这种数据类型就不可能像数学中的整数那样进行简单的相“加”。算法也是一种抽象,也不能将两个算法简单地放在一起实现一种并行算法。

抽象层次是计算思维中的一个重要概念,它使人们可以根据不同的抽象层次,进而有选择的忽视某些细节,最终控制系统的复杂性。在分析问题时,计算思维要求将注意力集中在感兴趣的抽象层次或其上下层,还应当了解各抽象层次之间的关系。

计算思维中的抽象最终是要能够机械的一步一步自动执行。为了确保机械的自动化,就需要在抽象过程中进行精确和严格的符号标记和建模,同时也要求计算机系统或软件系统生产厂家能够向公众提供各种不同抽象层次之间的翻译工具。

计算思维建立在计算过程的能力和限制之上,由人由机器执行。计算方法和模型使我们敢于去处理那些原本无法由个人独立完成的问题求解和系统设计。

3.计算思维的关键内容

当我们必须求解一个特定的问题时,首先会问: 解决这个问题有多么困难?怎样才是最佳的解决方法?当我们以计算机解决问题的视角来看待这个问题,我们需要根据计算机科学坚实的理论基础来准确地回答这些问题。同时,我们还要考虑工具的基本能力,考虑机器的指令系统、资源约束和操作环境等问题。
 
为了有效地求解一个问题,我们可能要进一步问: 一个近似解是否就够了,是否有更简便的方法,是否允许误报和漏报?计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。
 
计算思维是一种 递归思维,是一种 并行处理。它可以把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。例如,对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处;对于间接寻址和程序调用的方法,它既知道其威力又了解其代价;它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。计算思维是一种多维分析推广的类型检查方法。
 
计算思维采用了 抽象分解来迎接庞杂的任务或者设计巨大复杂的系统,它是一种基于关注点分离的方法(Separation of Concerns,简称SOC方法)。例如,它选择合适的方式去陈述一个问题,或者选择合适的方式对一个问题的相关方面建模使其易于处理;它是利用不变量简明扼要且表述性地刻画系统的行为;它是我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信息;它就是为预期的未来应用而进行数据的预取和缓存的设计。
 
计算思维是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维。例如,对于“死锁”,计算思维就是学习探讨在同步相互会合时如何避免“竞争条件”的情形。
计算思维利用启发式的推理来寻求解答,它可以在不确定的情况下规划、学习和调度。例如,它采用各种搜索策略来解决实际问题。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。例如,它在内存和外存的使用上进行了巧妙的设计;它在数据压缩与解压缩过程中平衡时间和空间的开销。
 
计算思维与生活密切相关:
    当你早晨上学时,把当天所需要的东西放进背包,这就是“预置和缓存”;当有人丢失自己的物品,你建议他沿着走过的路线去寻找,这就叫“回推”;在对自己租房还是买房做出决策时,这就是“在线算法”;在超市付费时,决定排哪个队,这就是“多服务器系统”的性能模型;为什么停电时你的电话还可以使用,这就是“失败无关性”和“设计冗余性”。由此可见,计算思维与人们的工作与生活密切相关,计算思维应当成为人类不可或缺的一种生存能力。
 
计算机科学是计算的学问,它研究什么是可计算的,怎样去计算。计算机科学不是计算机编程,像计算机科学家那样去思维意味着远不止能为计算机编程,还要求能够在抽象的多个层次上思维。
 
 
4. 计算思维的期望
 计算思维是每个人的基本技能,不仅仅属于计算机科学家。我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading, wRiting, and aRithmetic--3R),还要学会计算思维。
 
 
 
 
 *****************************
 *** Keep learning and growing. ***
 *****************************

猜你喜欢

转载自www.cnblogs.com/gangle/p/9293997.html