当前位置:文档之家› 论计算思维 哈工大计算机作业

论计算思维 哈工大计算机作业

五 计算思维对人才的培养
周教授说,计算机思维是每个人的基本技能,不只属于计算机科学家。在阅读,书写和算术之外,应该把计算机科学加入每个儿童的分析能力培养。和出版社促进了3个 R(阅读,书写和算术Reading, Writing & Arithmetic)的传播相类似,计算机和使用电脑促进了计算机思维的传播学计算机专业的可以做任何事情。周教授还说,你如果学的是英语或数学,可以从事很多不同的职业。计算机科学也一样。计算机专业的职业可以是医学,法学,商务,政治,任何一种科学或工程学,甚至美学。计算机专业的教授应该给大学新生上一门课,“怎样像计算机科学家一样思考?”,给非计算机专业的人讲,而不仅是给本专业的人听。还应该让要上大学的学生了解计算机方法和模型,而不是叹息对计算机感兴趣的人少了,或者计算机科学的研究经费减少了。我们要想办法激发公众的兴趣和对这个领域的智力的探索。这样我们才可能传播计算机科学的乐趣,地位和力量,普及计算机思维。这样,我们在教学中就需要从小培养学生的计算思维能力。在大学的教学中,涉及了5项计算机科学基础概念,包括,
(1)计算思维是一种形式规整的思维。算法确定性是算法和程序的基本要求,它的实现一定会使用基于数学语言的符号系统,即使用一种有限的确定性符号系统来描述问题和问题求解过程。算法确定性表明算法的每一步操作必须是确切定义的,没有任何二义。所以,计算思维体现的正是严谨的、形式的、规整的逻辑思维。计算思维使用形式化语言来准确描述问题求解过程。自然语言中往往因文化习惯的差异,会出现许多二义性。在计算思维学习中,需要将计算任务用确定化的、形式化的、唯一化的语言进行描述。程序设计语言作为一种确定性符号系统,就可以进行形式化思维训练。
论计算思维
摘要:计算思维自其提出以来就备受关注,本文将介绍计算思维的定义,计算思维在其他学科的应用,计算思维的重要性和局限性,以及如何利用计算思维进行人才的培养。
关键词:计算思维应用重要性局限性人才培养
一计算思维的定义
美国卡内基·梅隆大学的周以真(J.M.Wing)教授在计算机权威期刊杂志上指出:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、人类行为理解等的一系列思维活动。其基本概念如下:
二计算思维在其他学科上的应用
(1)计算思维在程序设计课程上的应用
例如:1将抽象思维的结果在计算机上实现,是一个将计算思维成果物化的过程,也是将理论成果应用于技术的实践。有限自动机、预测分析程序、算符优先分析、LR分析等编译经典方法都是在抽象的基础上将知识和控制分离(即分析表加控制程序),从而获得了经典的分析工具,而这种知识和控制的分离也为分析工具的自动产生提供了可能。自动化的思维方法不仅体现在编译程序本身的工作机制上,更体现在编译程序的生成工具的研究和设计上
(4)计算思维是一种选择合适的方式去求解一个问题,或对一个问是的相关方面建模使其易于处理的思维方法l
(5)计算思维是按照预防、保护及通过冗长、容错、纠错的方式,并从最坏情况进行系统恢复的一种思维方法;
(6)计算思维是利用启发武推理寻求解答。也印在不确定情况下的规划、学习和调度的思维方法。
(7)计算思维是利用海量数据来加快计算,在时同和空闻之闻,在处理能力和存储容量之间进行折衷的思维方法
(1)计算思维是通过约筒、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道问题怎样解决的思维方法;
(2)计算思维是一种递归思维。是一种并行处理,是一种把代码译成数据又能把数据译成代码.是一种多维分析推广的类型检查方法;
(3)计算思维是一种采用抽象和分解来控制庞杂的任务或进行巨大复杂系统设计的方法.是一种基于关注点分离的方法;
2:许多编译中的问题都具有明显的递归特征。运用递归思维解决复杂的问题,通常是对问题进行逐步化简,最后得到了一个规模非常小、非常简单、更容易解决的类似问题,将该问题解决后,再逐层解决上一级问题,最后解决了较复杂的原始问题。编译中的递归下降分析是最直观的对递归思维的运用,此外,基于树遍历的属性计算、语法制导翻译都是典型的递归问题求解。
对于求解而言计算思维与数学思维相似,它建立在计算过程的具体实现和约束之上,通过程序来控制机器的全部操作。计算思维的本质是抽象和自动化。计算思维中的抽象体现在完全使用符号系统,甚至形式化语言。一个程序由标识符、常数、变量、数组名、函数名、语句、程序段等构成,其中的数据类型只是一个抽象特例。与数学思维相比,计算思维中的抽象显得更丰富也更复杂。计算思维中的自动化体现在算法实现最终是“机械式”的按步骤自动执行,这是冯·诺伊曼机器的本质特征(即存储程序原理)。要实现这一特征,就需要进行精确的算法描述和严格的符号表示。计算思维包括如下三大特征。
计算思维是利用启发式推理来寻求解答,它就是在不确定情况下的规划、学习和调度。计算思维是利用海量的数据来快速计算,它是在时间和空间之间,在处理能力和存储容量之间的权衡Wing的上述计算思维中的“计算”是computation而不是computing,ACM/IEEE CS在CC2005中用的是computing而不是computation[17]。在中文中,将computation和computing一起译为计算,而且普通人把计算放人数学领域,这样,计算就失去了它的本质意义,因为computation和computing在英语中有着不同的含义。根据online词典,computation是可用数学表示的任何形式的信息处理的概念[1“,它包括简单的计算和人的思维(humanthinking)。在较狭窄的意义上,computation是按照一个良定而可以理解的模型进行的过程,该模型可以用算法、协议和网络拓扑来表示。Computation可分为数字或模拟计算、串行或并行计算、批或交互计算。Computing是处理Computation和符号操作的科学与技术[16]。ACM/IEEE在CC2005对Computing的定义为M:
四计算思维的局限性
由于计算思维的局限性,所以它的推广形式——计算机思维被提出。计算思维涉及运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为。计算思维涵盖了反映计算机科学之广泛性的一系列思维活动。计算思维就是把一个看来困难的问题重新阐述成一个我们知道怎样解的问题。它采用抽象和分解来完成复杂的任务或设计复杂的系统;它选择合适的方式去陈述一个问题,或者选择合适的方式对一个问题的相关方面建模使其易于处理;它使我们树立在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信心;它是为预期的多个用户而进行的模块化,是为预期的未来应用而进行的预置和缓存。
一般来讲,Computing意味着任何面向目标的需要、受益于和创造计算机的活动。因此,computing包括用于广泛目的的软件和硬件系统的设计、建造,各种信息的处理、规范和管理.用计算机开展的科研活动,使计算机系统具有智能行为,创建和使用通信和娱乐媒体,寻找和收集与任何目的有关的信息等等。如此看来,computation是一个比computing更具体、更狭窄的概念。
(3)计算思维在搜索引擎上的应用
1:由于网上有海量的信息,搜索引擎就需要了解和寻求到最符合用户的信息。这不仅包括时间,数据来源,还有实时性,正确性和便捷性等因素。所以,搜索引擎不仅要及时的搜到信息,还要将信息归类整理,按照信息的时效性排列顺序。这其中也应用了计算思维。在海量的信息中,计算机要设计出一种程序(又称爬虫),专门到各大网站去搜索信息,这样,这份需要花费时间很长的工作就解决了。这就是应用了计算思维的自动化和抽象的思想。
4:“编译原理”课程是一门理论性和技术性都非常强的课程。理论研究重在探寻问题求解的方法,而在编译程序的设计和实现过程中,对于理论成果的研究运用又需要在能力和运用中做出权衡。这方面一个典型的例子是,我们知道,虽然高级语言的大部机制都可以由上下文无关文法来描述,但是上下文无关文法不能完全刻画高级程序语言的所有规范,有些语言机制甚至存在二义性。但是上下文无关文法的分析是高效的,所以我们在编译程序设计中依然采取上下文无关文法来描述高级语言语法,但是在具体实现时,通过改造分析表消除冲突、符号表操作、语义检查等手段,去实现上下文无关文法分析所不能完成的功能——这正是在具体实践中结合具体问题进行权衡的结果。
3:程序设计中的“自顶向下、逐步求精”的思想就是一种典型的问题分解的计算思维方法。运用问题分解这种思维方法进行问题求解,首先须做出对问题本身的明确描述,并对问题解法做出全局性决策,把问题分解成相对独立的子问题,再以同样的方式对每个子问题进一步精确化,直到获得对问题的明确解答。在编译程序的设计中,通过引入中间语言,将编译程序划分成前端和后端,就是一种典型的分解问题的思路。
(2)计算思维在算法策略上的应用
例如 :1:贪心策略
贪心策略的基本思想是把求解问题的任务分解为若干个步骤,而算法在每一步骤的决定是“短视的”,即该步骤所采取的行动或者选择是局部而非全局最优。尽管对于一些问题通过每一步的局部最优选择可以得到全局最优解,但对许多问题并非如此。在实际问题求解中,即使不能得到最优解,仍可能选择使用贪心策略,原因是该策略常常可以给出质量可接受的问题解。贪心策略是最接近于人类日常思维的一种问题求解策略,已在人类生活的各个领域得到广泛的应用。该策略最突出的优点是效率高,方案容易实施。从计算思维的角度,贪心策略为我们提供了如下方法指导:首先,以当前和局部利益最大化为导向的问题求解策略简单易行,具有广泛的适用性。特别是在复杂的环境中,当其他方法都失效的时候,该策略往往可以正常地发挥作用。其次,以短视的、急功近利的方式解决问题,往往以整体利益的损失为代价。为此,在采用贪心策略求解一个问题之前必须充分估计由此所带来的损失,在问题求解效率和解的质量之间进行适当的折中。
2:当爬虫将信息搜索过来的时候,需要将其进行分类和整理,这也可以将这一实际问题抽象化。可以设计一个程序,将关键词与信息时间划归整理,再发到网上,这样用户就可以通过输入关键词或者是信息时间来获取他们想要的信息了。
三 计算思维的重要性
计算思维是三大科学思维之一。三大科学思维即理论思维、实验思维与计算思维。计算思维作为人类三大科学思维之一,虽然比理论思维与实验思维更晚受到关注和缺乏厚重的积累,但是计算机与信息科技的迅猛发展以及计算科学技术本身的严密性和逻辑性,却使计算思维研究完全可能快速发展并后来居上。计算思维的规律,朱亚宗教授已经总结了很多:有可计算性原理,形理算一体原理,机算设计原理。
相关主题