计算思维的异同_第1页
计算思维的异同_第2页
计算思维的异同_第3页
计算思维的异同_第4页
计算思维的异同_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算思维的异同

2002年8月,作者在《中国计算机科学与技术学科》(2002年)中使用“计算思维”一词,描述了计算机科学和技术专业人员的四种基本技能之一。已经使用了10多年。在出版的手册中,他进一步讨论了计算思维的能力。其间,美国的周以真教授2006年3月在COMMUNICATIONSOFTHEACM上发表了ComputationalThinking一文(王飞跃等曾将此文翻译介绍给国内读者),之后又有一些学者就计算思维发表了有关研究结果。后来人们发现,SeymourPapert早在1996年就提出了计算思维。近几年来,我国有一大批学者开始跟进研究,特别是在教育部高等学校计算机基础课程教学指导委员会的带领下,在我国非计算机专业计算机课程教育领域开展了颇具声势的研究与实践,对计算思维及其培养有了一些认识,取得了一些成果。2012年1月30日-2月3日,2006-2010教育部高等学校计算机科学与技术专业教学指导分委员会联合全国高等学校计算机教育研究会和中国计算机学会教育专业委员会召开了一次主任(理事长)扩大会议,就计算思维等多个问题进行了研究,形成了“积极研究和推进计算思维能力的培养”的基本意见。总体上看,人们对计算思维的认识以及如何进行计算思维能力的培养还处于相对初始的阶段,很多问题还有待进一步的研究和实践。本文将计算思维作为一种与计算机及其特有的问题求解紧密相关的思维形式,并将人们根据自己工作和生活的需要,在不同的层面上利用这种思维方法去解决问题,定义为具有计算思维能力。基于此,本文从“能力培养”及其不同要求的角度出发,将计算思维分为朴素的计算思维、狭义的计算思维和广义的计算思维,以描述不同人群对计算思维能力培养的各自侧重。一、思维能力与计算范型计算思维中的“计算”是广义的计算。随着信息化的全面推进,“计算机”变得无处不在、无事不用,网络(包括物联网等)延伸到各个角落,加上数据积累的简单化、容易化,使计算思维成为人们认识和解决问题的重要思维方式之一。一个人若不具备计算思维能力,将在从业竞争中处于劣势;一个国家若不使广大受教育者得到计算思维能力的培养,在激烈竞争的国际环境中将不可能引领而处于落后地位。计算思维能力,不仅是计算机专业人员应该具备的能力,而且也是所有受教育者应该具备的能力。计算思维能力,也不简单类比于数学思维、艺术思维等人们可能追求的素质,它蕴含着一整套解决一般问题的方法与技术。那么,计算思维为什么这么重要呢?特别是在教育中,为什么要强调进行计算思维能力培养呢?首先,探索与创新的未来性以及知识的无限性,决定了教育,特别是本科教育的基础性特征。笔者认为,知识基础、能力基础是人才培养中必须强调的两大基础,而且在培养过程中,二者相辅相成。其中知识是载体,通过对知识及其发现,特别是知识发现过程中大师们的思维的学习,培养学生的思维能力以及具体化后的探索未知的能力。所谓思维,按照一般的说法,就是在表象、概念的基础上进行分析、综合、判断、推理等认识活动的过程,是人类特有的一种精神活动以及管理。也可以说是大脑对具体事物或用文字表述的概念进行接收、加工等,表示大脑运动的状态。由此可见,思维能力对一个人来说是非常重要的,特别是对于“能力导向”的教育来说,强化思维能力的培养是必须的。同时,思维必须基于一定的对象,而知识及其表示作为“对象”具有重要地位。其次,计算范型作为人类社会的“三大科学研究范型”之一决定了计算思维的重要性。第一是理论范型。理论范型以理论的演绎、推理为主要研究形式,主要是逻辑思维,其典型代表为数学学科。所以其思维形式又被称为数学思维。第二为实验范型。实验范型以实验、观察、数据收集、分析、归纳为主要研究形式,主要是实证思维,其典型代表为物理学科和化学学科。所以,在国际工程教育标准中,将数学和自然科学作为工程教育的重要基础。第三就是计算范型。计算范型以利用计算技术通过构建(系统)进行问题求解为主要研究形式,人们将此思维方式称为计算思维,以计算学科(通常称为计算机学科)为代表。实际上,计算思维方式很早就有了,只是在电子计算机出现后,计算思维逐渐被认识和强化,特别是随着计算技术的迅速发展和功能的快速增强,计算思维的重要性在近几年凸显出来,使得计算机类课程成为与数学、物理并列的,实施(思维)能力培养的大学基础课的趋势逐渐被广大的教育工作者看清。顺便需要提到的是,计算机技术的发展,为数据的搜集和利用提供了基础,基于此,有人提出了与三大范型并列的第四大范型——数据范型,并认为该范型的主要思维方式是“数据思维”。数据范型针对P级以上规模的“大数据”处理。由于该范型采用的基本方式仍然是计算,所以,作者认为,这种范型即使存在,目前还很难独立。各研究范型对应的思维方式如表1所示。再次,由于今天的计算(机)系统已经具有非常强大的计算能力,成为更方便的计算工具,有了无处不在的更广泛的适应,使得“计算”早已从基本的科学计算,并经过狭义的数据处理阶段,发展到了无所不在的阶段。而且在可以预见的将来,会发挥更大作用。这要求人们必须提升基本观念和思维方式,必须在更多的时候想到、更有效地利用计算思维方法。这种使用和意识既可以是直接的(问题求解方法和手段等),也可以是间接的(问题求解的思想和意识等)。不过,同时也要注意,对计算思维方法的学习,就像数学专业和非数学专业学数学的追求不同,计算机科学和其他的计算机类专业也不同,而非计算机专业就更不同了。忽略了这一点,就会降低教育的效率,而且还难以获得教育的效果。这与大学教育强调“厚基础”,但对不同的人来说,“厚基础”要求的维度和厚度不同是一样的。二、计算机基本问题求解的非物理特征朴素的计算思维可以说是“计算机科学之计算思维”,以面向计算机科学学科人群的研究、开发活动为主,包括了计算思维最基础和最本质的内容。计算思维起源于计算机科学家们在研究和利用计算机进行问题求解过程中常用的思考问题的方法,体现为在过去半个多世纪以来成就计算机和信息技术辉煌发展过程中行之有效的若干分析问题与解决问题的典型手段与途径。事实上,基于对应于高电平和低电平的0、1所构成的呈离散型变化的基本状态,计算机表达和进行问题求解具有一种特有的方式,这使得计算机科学家需要一种相应的思维方式。这种需求在早期的计算机专业教育中已经逐渐被认识并被在教学中努力落实。早年的计算机类专业,特别是软件专业的毕业生,所从事的工作多是基础性的,按照目前的观点,其问题空间多属于基础分支学科。那时候,大家明显地感觉到,计算机专业的学生走进大学后,为了适应问题的计算机求解,需要建立一种不同的思维方式,这种不同表现为以下4个方面:(1)问题需要用符号表示,求解过程需要通过符号(及其值)的变换来实现(Symbolizing);(2)问题的求解过程是“一步步地”(StepbyStep);(3)从简单问题求解到复杂问题求解的系统设计与实现,都需要有包括执行逻辑在内的计划和设计(PlanningandDesigning);(4)因此,系统在设计阶段,就需要在设计者的头脑中先“运行”起来(RunningintheMind)。人们还确信,要在教育中更好地体现“计算机源于数学和电子学”是非常必要的。其实,基本问题的计算机求解建立在高度抽象的基础上。构建一个恰当的物理符号系统并对此系统实施变换是计算机科学家进行问题求解的基本手段。计算机问题求解的“可行性”限定了从问题抽象开始到根据适当理论的指导进行设计和实现的科学实践过程,而“可行性”所需要的“形式化”后呈现的符号表示及其处理过程的“机械化”和“离散特性”,确定了计算机科学学科进行问题求解的重要特征。数学的形式化描述以及严密的表达和计算,决定了数学作为计算学科的重要基础和工具。所以,具有悠久历史的数学,在一定程度上提供了这方面教育的基本载体,使得数学特别是离散数学在这类目标定位下的计算机专业的教育中占有十分重要的地位。即使到了现在,所有追求计算机科学素养、强调基础分支学科特征的专业点的教育,依然保留着这一传统。归纳起来,从特点上看,计算机科学以形式化为描述手段,以抽象思维和逻辑思维为主要思维方式;从表现形式上看,以符号为问题的表现形式,以符号变换作为问题求解途径。这些进一步体现了作为基础和基本形式的“程序”的非物理特征,正是这种非物理特征,决定了计算机科学这一基础分支学科的基本教育原理是抽象第一。所以通过抽象以获得问题及其求解的形式化描述是实现(电子计算机)计算的基本要求:(1)抽象(Abstraction)是对事物的性质、状态及其变化过程(规律)实行符号化描述。(2)追求符号化为特征的形式化,形成对象及其变换的抽象表示,而系统状态及其有效运行,要求这种形式化具有有穷描述(FiniteDescription),并要求具有“可计算(Computable)”的复杂度。(3)作为抽象的较高境界,使用模型化(Modeling)方法,建立抽象水平较高的适当模型,然后依据抽象模型实现计算机表示和处理。(4)通过抽象,实现对一类事务(问题)的系统描述,以保证计算对该类事务(问题)的有效性(Validity),即需要将思维从实例(Instance)计算推进到类(Category)计算。所以,计算机科学的根本问题是什么能被有效地自动计算(Automation)。这些都基于计算机问题表示的数字化和问题求解过程的机械化。计算机科学问题求解的基本形式和活动包括:算法、程序、执行、基本机器构建、系统构建、模型计算、类计算、形式化证明、处理过程中各类工具与(各层次)系统的利用,表现出来表示(Representation)的形式化以及执行的离散化(Discrete)和程序化(Program)。其基本系统涉及过程(Procedure)和算法(Algorithm)的描述与实现,要求在构造性(Construction)上满足有穷描述(FiniteDescription),要具有确定性(Deterministic)和能行性(Feasibility)。对于复杂系统,需要逐层虚拟得到各层(抽象)系统,而随着虚拟系统向外延伸,会越来越多地失去计算机科学这种基础分支学科的特征。同时,在其设计与实现中,包括工程设计与实现中,沉淀出一系列优秀的思想和方法,而且工具性特色逐渐明显化,甚至趋于更重要的地位。《高等学校计算机科学与技术专业人才专业能力构成与培养》给出了计算思维能力的9个能力点:问题的符号表示(SymbolicProblem)、问题求解过程的符号表示(SymbolicProblemSolvingProcess)、逻辑思维(LogicalThinking)、抽象思维(AbstractThinking)、形式化证明(FormalProof)、建立模型(Modeling)、实现类计算(ImplementCategoryComputing)、实现模型计算(ImplementModelingComputing)、利用计算机技术(DevelopsolutionswithComputer)。前8个能力点和第9个的一部分属于朴素计算思维。《形式语言与自动机理论教学参考书》给出了正则文法和有穷状态自动机共5种模型等价转换的典型模型计算,如下图所示。实际上,在计算机类专业的课程中,类似的例子还很多。如:编译中的LR分析器的构造、数据库系统中的基本运算、操作系统中的进程管理等。作为朴素计算思维能力最基本的,也是难度最大的模型计算能力的培养,可以从数学分析、离散数学(研究基本运算系统)再到形式语言与自动机理论(研究基本计算系统),构成一个梯级训练系统,引导学生把运算范围从实数域扩展到抽象集合域,同时将计算从单一具体的实例计算迁移到一般的形式化的类计算和模型计算。作为另一条线,从程序设计、数据结构与算法再到编译原理、操作系统等,还可以进一步地培养学生计算的规划和实现能力。既然瞄准的是计算思维能力的培养,就必须在教学中强调思想和方法的研习,更好地体现“专业技术基础课”的特征,不能将它们当成普通的“专业课”,甚至这些课程还要当作“思维体操”课——在课堂上,由教师领着做,在课后由学生自己进行练习。三、核心概念、典型方法狭义的计算思维是指“计算学科之计算思维”,以面向计算机专业人群的生产、生活等活动为主。泛泛地讲,狭义的计算思维是基于“计算机”以及以计算机为核心的系统的研究、设计、开发、利用活动中所需要的一种适应计算机自动计算的“思维方式”,使人机的功能在互补中得到大力提升。从这个意义上讲,计算机相关的很多“东西”都可以被“计算思维”一词涵盖。主要有:最基本的问题描述方法——符号化、模型化;最基础的实现形式——程序、算法、问题表示(包括数据结构)、系统实现、操作工具……;最典型的问题求解过程——问题、形式化描述、计算机化;最基本的问题求解方法——方法论意义上的核心概念、典型方法。我们可以用两种说法来描述,即“按照适应计算机求解问题的基本描述和思维方式考虑问题(构建计算系统、开发相适应的技术)的描述及求解”,或者“采用适应计算机求解问题的基本方式和有效方法考虑问题(构建计算系统、开发相适应的技术)的求解(描述、分析、构建)”。这里突出的是“如何使计算机和以计算机为核心的系统具有更强的工作能力,并开发更方便的使用技术”。在研究、设计、开发、利用四类活动中,以研究、设计为主,开发中主要指计算机专业本身所涉及的基本计算机系统、基本应用系统的开发,而利用则仅指专业活动中的利用。狭义的计算思维除了包括朴素计算思维的内容外,还包括以下内容。(1)计算学科方法论意义上的核心概念:抽象层次、概念和形式模型、一致性和完备性、大问题复杂性、效率、折中与决策、绑定、演化、重用、安全性、按空间排序、按时间排序;(2)相关的典型数学方法:强调用数学语言表达事务的状态、关系和过程,经推导形成解释和判断,呈现高度抽象、高精确、具有普遍意义的基本特征。具体方法包括公理化方法、递归、归纳和迭代等构造性方法、模型化等;(3)相关的典型系统科学方法:其核心是将对象看成一个整体,思维对应于适当抽象级别,力争系统的整体优化。一般原则是整体性、动态、最优化、模型化。具体方法包括结构化方法、OO方法、黑箱方法、功能模拟方法、信息分析方法、自底向上、自顶向下、分治法、模块化、逐步求精等。还包括其他一些更具体的方法。例如:约简、转化、仿真,递归、归纳、迭代,调度、并行、串行,抽象、建模、分解、归并,规划、分层、虚拟、嵌入,保护、冗余、容错、纠错、系统恢复,启发、学习、进化,可视化、示例等。这些内容的教学必须植根于计算学科相应的知识体系,以这些知识为载体,通过研究性教学,实现教师在对问题的研究中教,学生在对未知的探索中学。引导学生学习问题求解和知识发现过程中大师们的思维,使他们有效地掌握这些典型的方法。四、计算机类专业之间的计算思维能力培养计算机早已走出计算学科,甚至与其他学科形成新的学科。例如,社会计算、计算物理、计算化学、计算生物学等等。计算思维也随之走出计算学科。所以,广义的计算思维是指“走出计算学科之计算思维”。适应更大范围的广大人群的研究、生产、生活活动,甚至追求在人脑和电脑的有效结合中取长补短,以获得更强大的问题求解能力。我们同样可以用两种说法加以描述:“有效利用计算机(工具)、相关思想、方法和技术以及计算环境和资源,以增强能力,提高效率”,或者“有效地利用计算技术进行问题求解,包括在科学研究与系统实现中有效地利用计算学科典型的思想与方法进行问题求解”。这里突出的是计算机不仅作为工具,还可以有效利用相适应的意识、思想、方法、技术、环境和资源等。在研究、设计、开发、利用四类活动中,以利用为主,然后依次为开发、设计、研究。特别是对不同专业的人来说,这四类活动涉及的具体对象是不同的,它们与专业紧密相关,关键是意识、思想、方法、技术、工具、环境、资源等。广义的计算思维包括狭义的计算思维,狭义的计算思维包括朴素的计算思维。表2给出了他们之间的包含关系。必须强调,从“朴素”到“广义”,对不同类型的人群,在原有的内容被逐渐淡化的过程中,新内容被添加进来。所以,对计算机类专业以外的人群如何进行计算思维能力的培养,是一个有待深入研究的问题,可以说是任重而道远。多年来,非计算机专业的计算机教育以学习基本知识、掌握基本工具为核心要求,一般不是很有意识地强调计算思维能力的培养。如何在十分有限的学时中使学生既掌握必要的工具,也让计算思维诸要素融入他们的能力结构中,更好地帮助他们建立计算机问题求解意识,是对非计算机专业的计算机教育的挑战。目前来看,由于培养基本目标和问题空间的巨大差异,对哲学、经济学、法学、教育学、文学、历史学、理学、工学、农学、医学、管理学、艺术学等不同学科门类的学生的教育来说,其基本的知识载体应该是不同的;即使在基本的知识载体相同的情况下,课程的教学追求和重点也应该不同。载体的选择可以基于多年来的教学实践,但这些载体如何被有效利用,则是一个比较新的问题。例如,程序设计课程是一门普遍开设的课程,对计算思维能力培养具有重要作用。著名的世界计算机大师EdsgarDijkstra1976年就曾经撰写过一本名为《程序设计的教学就是思维方法的教学》(TheTeachingofProgrammingi.e.theTeachingofThinking)的专著。在这之前他还曾经说过:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。”但是,如何把程序设计课程开设成有效进行计算思维能力培养的课程,不少学校做了很有成效的工作,但从总体而言,还有很大的差距。五、探索和掌握计算机技术、方法、技术等方面所取得的进展计算思维是一种思维方法,计算思维能力是指人们运用计算思维方法进行思考的能力,它们是两个不同的概念,常常被人混淆。实际上,我们不是培养计算思维(方法),而是通过引导人们学习、掌握这种思维方法,有效地将其用于问题的求解,以达到培养他们的计算思维能力之目的。基本认识是:计算思维能力的培养,不是一朝一夕、一年两年可以完成的,需要一个长期的过程,而且在这个过程中需要不断研究、不断实践、不断积累,不断提高。这从高等数学、大学物理、大学化学教育的认识与实践就可以看出来。其实,能力培养的长期性就决定了“思维能力”培养的长期性。由于计算思维源于计算学科,虽然计算机专业的计算思维能力培养还需要从思想观念、师资队伍、教学内容、教学方法等方面更主动地采取有效措施以提升教育效果,但在过去几十年的人才培养实践中,在这方面积累了很多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论