计算思维
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算思维
姓名:李睿
摘要:
计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
Abstract::
Computational thinking is a process that generalizes a solution to open ended problems. Open-ended problems encourage full, meaningful answers based on multiple variables, which require using decomposition, data representation, generalization, modeling, and algorithms found in Computational Thinking
关键词:
计算机思维,计算机网络体系结构
提出:
2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊《Communications of the ACM》杂志上给出,并定义的计算思维(Computational Thinking)。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
关键内容:
计算思维是一种递归思维,是一种并行处理。它可以把代码译成数据又把数据译成代码。它是由广义量纲分析进行的类型检查。例如,对于别名或赋予人与物多个名字的做法,它既知道其益处又了解其害处;对于间接寻址和程序调用的方法,它既知道其威力又了解其代价;它评价一个程序时,不仅仅根据其准确性和效率,还有美学的考量,而对于系统的设计,还考虑简洁和优雅。计算思维是一种多维分析推广的类型检查方法。
计算思维采用了抽象和分解来迎接庞杂的任务或者设计巨大复杂的系统,它是一种基于关注点分离的方法(Separation of Concerns,简称SOC方法)。例如,它选择合适的方式去陈述一个问题,或者选择合适的方式对一个问题的相关方面建模使其易于处理;它是利用不变量简明扼要且表述性地刻画系统的行为;它是我们在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信息;它就是为预期的未来应用而进行数据的预取和缓存的设计。
计算思维是按照预防、保护及通过冗余、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维。例如,对于“死锁”,计算思维就是学习探讨在同步相互会合时如何避免“竞争条件”的情形。
计算思维利用启发式的推理来寻求解答,它可以在不确定的情况下规划、学习和调度。例如,它采用各种搜索策略来解决实际问题。计算思维利用海量数据来加快计算,在时间和空间之间,在处理能力和存储容量之间进行权衡。例如,它在内存和外存的使用上进行了巧妙的设计;它在数据压缩与解压缩过程中平衡时间和空间的开销。
计算思维与生活密切相关:当你早晨上学时,把当天所需要的东西放进背包,这就是“预置和缓存”;当有人丢失自己的物品,你建议他沿着走过的路线去寻
找,这就叫“回推”;在对自己租房还是买房做出决策时,这就是“在线算法”;在超市付费时,决定排哪个队,这就是“多服务器系统”的性能模型;为什么停电时你的电话还可以使用,这就是“失败无关性”和“设计冗余性”。由此可见,计算思维与人们的工作与生活密切相关,计算思维应当成为人类不可或缺的一种生存能力。
讨论:
周以真教授说过:智力上的挑战和引人入胜的科学问题依旧亟待理解和解决。这些问题和解答仅仅受限于我们自己的好奇心和创造力;同时一个人可以主修计算机科学而从事任何行业。一个人可以主修英语或者数学,接着从事各种各样的职业。计算机科学也一样。一个人可以主修计算机科学,接着从事医学、法律、商业、政治,以及任何类型的科学和工程,甚至艺术工作。在我看来,计算性思维实际上是一个思维的过程。计算性思维能够将一个问题清晰、抽象地描述出来,并将问题的解决方案表示为一个信息处理的流程。它是一种解决问题切入的角度。现实中针对某一问题你会发现有很多解决方案的切入角度,而我所提倡的角度就是计算性思维角度。计算思维我认为它包含了数学性思维和工程性思维,而其最重要的思维模式就是抽象话语模式。
通常所说的计算机网络体系结构,即在世界范围内统一协议,制定软件标准和硬件标准,并将计算机网络及其部件所应完成的功能精确定义,从而使不同的计算机能够在相同功能中进行信息对接。这就是计算思维的具体实现。
总结:
作为计算机专业的学生,我们应该充分理解计算思维,并将其应用到日常生活中。正如周以真教授所说我们可以主修计算机科学然后从事各方面的工作,计算思维是可以广泛融入到各行各业促进人类社会发展的一种重要思维。对于学生而言,学一点算法、计算机编程,抽象化的这种技巧,对于今后从商、搞法律、学医或者是自己创业,都会比那些没有学过计算机科学的人要更强,要更加有优势。这是因为学习抽象的语言和算法,你就会有一种新的解决问题的技能。另外有了计算性思维的人,就会知道计算能力的强大性,就知道比如说大规模的、或者很复杂的问题,其实可以发挥一些计算的能力去解决。现在大数据在任何领域都很火,我们只有通过计算技术这种能力,运用超算的基础设施,才能够去解决每一个行业大数据的挑战。像生物、医药、金融、社科、人文、还有基础科学方面,每个领域都有很多的大数据,可以从中去挖掘一些内容,靠计算算法,还有基础设计就能把这些内容挖掘出来。
参考文献:
《Communications of the ACM》周以真(Jeannette M. Wing)