为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 从心理学视角考察计算思维(精)

从心理学视角考察计算思维(精)

2019-09-02 12页 doc 30KB 33阅读

用户头像

is_083599

暂无简介

举报
从心理学视角考察计算思维(精)从心理学视角考察计算思维 从心理学视角考察计算思维,可以将其定义为“像计算机科学家那样解决以计算为主要成分的问题”,即吸取计算机科学家在设计算法和编写程序中的思想方式,将其推广到对其他领域问题甚至日常生活问题的思考。计算思维的特征可以从工作内容、思维媒介和工作方式角度进行分析。计算思维的主要成分是编制程序(包括计算机与非计算机的程序),要求思考者将算法的可运行性放在首位,注重细节;就思维媒介而言,计算思维是一种更高级的抽象思维;就工作方式而言,编程带来了新的表达方式和工作风格。培养 计算思维的最终目的,是使人习得严谨、精...
从心理学视角考察计算思维(精)
从心理学视角考察计算思维 从心理学视角考察计算思维,可以将其定义为“像计算机科学家那样解决以计算为主要成分的问题”,即吸取计算机科学家在算法和编写程序中的思想方式,将其推广到对其他领域问题甚至日常生活问题的思考。计算思维的特征可以从工作、思维媒介和工作方式角度进行分析。计算思维的主要成分是编制程序(包括计算机与非计算机的程序),要求思考者将算法的可运行性放在首位,注重细节;就思维媒介而言,计算思维是一种更高级的抽象思维;就工作方式而言,编程带来了新的表达方式和工作风格。培养 计算思维的最终目的,是使人习得严谨、精密的程序性思维能力。 关键词计算,计算机,计算思维,思维方式,程序性思维 1 从心理学视角考察计算思维的本质 “计算思维”是计算机科学家提出的一种思维形式,对此概念已经有了较多的讨论,但是这些讨论基本上都来自计算机科学的角度。而从本质上讲,思维是人类的认知活动,必须从心理学角度阐述其本质与特征。但是,心理学家对于这一概念似乎无动于衷,国内外心理学界鲜有讨论。究其原因,计算机科学界过多考虑计算机和及其软件应用,这直接阻碍了计算思维被其他领域学者乃至公众广泛接受。本文作者作为思维心理学的研究者,又有长期编写计算机程序的经验,试图将两者结合起来,重点从心理学角度阐述计 算思维的本质、特征及其对提升人类思维能力的意义。 1.1 计算机科学视角下“计算思维”定义的困境 “计算思维(”computational thinking)这一概念是美国卡内基?梅隆大学计算机系主任周以真(Jeannette M. Wing, 2006)在美国计算机权威杂志Communication of the ACM上提出的。她对计算思维的定义是,运用计算机科学的基本概念来求解问题、设计系统和理解人类行为。她认为,计算思维不仅仅属于计算机科学家,它应该成为每个人的基本技能,和同等重要的阅读、写作和算术(3R——Reading, wRiting, aRithmetic)一起,构成人的分析能力。 从上述定义来看,计算思维与其他思维形式的本质差异在于“运用计算机科学的基本概念”。但是,这个定义还没有说明哪些是计算机科学的基本概念,也没有说明这些概念要掌握到什么程度,更没有给出计算思维能力何以能与读写算能力相提并论的充分依据。相反,作者接下来列出大量平常人不易理解的概念(例如约简、嵌入、转化、仿真、递归、并行处理、代码-数据互译、SOC方法、预防、保护、冗余等等),以及计算思维的几个基本特征(概念化,而非程序化;根本技能,而非机械技能;人的思维方式,而非计算机的思维方式;数学思维与工程思维的互补和融合;思想,而非人造物;面向所有人和所有地方)。这些描 述仅仅从计算机科学的概念出发,使用的是计算机专业的术语,恐怕也只能得到计算机相关专业的同行的共鸣和认可,例如牟琴和谭良(2011)在提到周以真的定义时,认为其全面解释了计算思维。推广计算思维教育,参与的人固然不少。在美国,最积极的有美国计算机协会(ACM)、美国国家计算机科学技术教师协会(CSTA)、美国数学研究所;在中国,有9所大学闻风而动,于2010年7月在西安交通大学成立C9高校联盟(包括北京大学、清华大学、浙江大学、复旦大学、上海交通大学、南京大学、中国科技大学、哈尔滨工业大学、西安交通大学),还发表了《九校联盟(C9)计算机基础教学发展战 略联合声明》,提出要把计算思维能力的培养作为计算机基础教学的核心任务。计算机科学工作者对于提升人类思维能力的热情确实值得称许,但是无论是从他们对于计算思维这一概念的阐述,还是从他们之后出版的关于计算思维的教学内容和教学方法的论文和教材来看,似乎都是将计算机科学的概念和方法扩张到其他应用领域,希望更多的人学会使用计算机软件,甚至编写软件。例如,朱亚宗(2009)提出,计算思维是与理论思维和实验思维并列的第三种科学思维形式,但是他的计算思维的三大基本原理(可计算性原理、形理算一体原理、计算机设计原理)主要还是计算机得 以产生“思维”原理,看不出计算思维作为一种人类思维形式的特质。 2011 年,国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)给出了计算思维的操作性的定义:计算思维是一个问题解决的过程,该过程包括:(1)设定问题,使其能够利用计算机和其他工具来帮助解决;②有逻辑地组织和分析数据;③通过抽象(如模型、仿真等)方式再现数据;④通过算法(一系 列有序的步骤)支持自动化的解决;⑤识别、分析和实施可能的解决方案,并加以整合;⑥将该问题的求解过程推广到其他应用中。该定义还是围绕着计算机编程,突出计算机对于问题求解的工具作用。陈国良和董荣胜(2011)提出要构建以计算思维为核心的课程内容,包括:(1)计算思维基础知识; (2)计算理论;(3)算法基础;(4)程序设计语言;(5)Python 编程基础; (6)计算机硬件基础; (7)计算机基础软件。夏耘和黄小瑜(2012)主编、电子工业出版社出版的教材《计算思维基础》,主要内容包括信息技术基础、问题求解、数据的组织与管理、算法设计、算法分析与问题优化等内容。这些 内容与“计算机基础”大致无异,难以体现出计算思维是一种全新的、值得全民习得的思维方式。倒是美国巴特勒大学教授Henderson(2009)列举的一些项目似乎更贴近日常生活中的思维活动,例如撰写指导语、用图形处理软件设计舞蹈动作、按照菜单做菜、根据说明书制作桌椅或使用电子设备等。 但是,这些项目为何能够体现出计算思维,文章也没有给出令人信服的解释。 总之,如果仅仅从计算机科学这一视角阐述计算思维,很难说明这种思维形式作为人类思维的本质,更难以让人相信它与读写算同等重要,其最终结果顶多是敦促各级各类学校开设更多的计算机课程,而计算思维这种思维形式不仅无法将推广到中生,就连大多数非计算机专业的本科生都会望而生畏。 1.2 从心理学角度审视计算思维的定义 1.2.1 对于计算思维的多种可能理解的考察 对于计算思维的认识很大程度上将决定其对于人类的意义(决定着它能不能真正成为与阅读、写作、算术并列的必备能力)。但是,即使是在计算机学界内部,对计算思维的本质及其特点的认识也不像对一 般的科学概念那样严格、明确,更不要说未来公众会产生哪些想法。 试想一个人如果仅凭“计算思维”这四个字,会产生怎样的理解?容易想到的大概是以下两种: (一)需要计算的思维——凡是需要进行计算的思维,就是计算思维。 这种理解无法体现计算思维的特点,理由有二。第一,数学、逻辑学、运筹学等等研究运算方法的学科都可以声称它们进行的就是计算思维,无法体现周以真关于计算思维“运用计算机科学的基本概念来求解问题”这一基本原则。第二,在心理学中,虽然可以根据思维所用的表征直接称为“××思维”(例如,以动作或操作作为表征的思维称为“动作思维”,以形象作为表征的称为“形象思维”,以抽象的语言符号作为表征的称为“抽象思维”),但是这样的命名方式也不适合计算思维,因为“计算”本身就已经是一种用抽象符号进行 的思维,再加上“思维”二字,纯属多余。 (二)计算机辅助思维——凡是在思考问题的主要环节得益于计算机的辅助的,都是计算思维。这种理解也容易造成概念上的混乱。第一,对一个概念的命名,需要考虑到其他已有的概念和术语。在计算机科学中,类似于“计算机辅助××”的概念很多,例如计算机辅助教学、计算机辅助设计、计算机辅助翻译、计算机辅助制造,甚至还有计算机辅助写作。如果都简化成“计算××”,那就成了计算教学、计算设计、计算翻译……不是意义改变,就是不知所云。第二,运用计算机作为辅助工具进行工作,很多情况下也用不着“运用计算机科学的基本概念”。例如,心理学家常常用SPSS软件帮助进行数据的统计分析,他们只要按照一定的格式输入数据,再从菜单中点选相应的分析方法,就可以得到结果。他们需要的不是计算机科学的基本概念,而是要懂得统计学的基本原理,知道自己搜集的数据特点,了解软件中有哪些方法。况且,编制“计算机辅助××”软件的目的,很多情况下正是为了让那些不善于“运用计算机科学的基本概念”的人 们分享计算机带来的便利。 1.2.2 以思维风格定义计算思维 认知心理学认为,不同的人具有不同的思维风格(也称为认知风格)。心理学家对思维风格做出了各种分类,包括场独立性-场依存性、分析-综合等。如果引入思维风格,可以产生对计算思维的第三种理解:像计算机科学家那样完成以计算为主要成分的思维,即吸取计算机科学家在设计算法和编写程序中的思维方式,将其推广到对其他领域的计算问题求解,甚至扩展到对日常生活中计算问题的思考。这也比较符合 周以真定义中“运用计算机科学的基本概念”这一关键成分。 在计算机科学领域,真正进行思维的是计算机科学家,由于其主要工作内容是编程,使得他们有着一 套与其他学科科学家不同的思维风格,更重要的是,这种思维风格值得其他领域的科学家乃至常人借鉴、模仿和习得。因此,上述解释似乎更容易为人接受。在这个理解中,既强调了问题求解过程需要进行“计算”这一主要成分,又强调了不是传统意义上的计算,而是一种可以帮助更有效地解答问题的思维风格。而且,本着这样一种理解,我们就能进一步阐述计算思维的特征。 2 计算思维的特征 分析计算思维的特征,可以从三个方面考虑——工作内容、思维媒介和工作方式。 2.1 工作内容造成的特征 计算机科学家从事的工作是什么?是问题求解吗? 任何一个领域的科学家都在进行问题求解,如果以此描述计算机科学家的工作,不能凸显其特殊性。计算机科学家的工作内容主要有两个,一是研制计算机硬件,不过,除了某些特殊用途,大多数硬件的研制与各个应用领域关系不大;二是编制计算机软件,而软件的编制用于解决社会生活各方面的问题(其求解过程的主要成分是计算),故计算机科学家在软件研制上的思维风格更可以为其他领域的计算思维者提 供借鉴。 以作者长期编程的经验,软件编制大致可以划分为三个阶段:(1)筛选方案(算法);(2)实现方案(编程);(3)调试程序。其中大量的时间花在编程,即考虑实现方案的各个细节上。编程这一工作可以比作教一个小孩如何做各种各样的事情。这个小孩能懂得的语言(命令)不多,可以做的动作(函数)也有限,软件编制者却要运用小孩能懂的语言,将其可以执行的动作组合起来,形成各种复杂的功能,完成大大小小的任务。这就需要编程者在编程前了解小孩的基础情况,而且编程中任何一个细节也不能马虎。 这样,工作内容就造成了计算思维的如下特征: (一)将算法或程序的可运行性放在首位。就计算机科学家而言,编程需要了解程序运行的各类限制(命令集、资源、环境),根据须完成的功能,将一系列命令编排起来,反复调试以考察其可行性。作为其他领域的计算思维者,也要了解事物运行的各种限制(包括方案执行者的能力条件),也要根据须完成 的功能,将工作步骤编排起来成为一个解决方案,也要反复检查方案的可行性。 (二)计算机科学家在编程过程中,任何一个细节都不能马虎,否则就会造成程序无法运行或出现错误结果(这些错误结果很多情况下还不易发现)。其他领域的计算思维者,也必需进行严谨和精密的思考。从这个意义上说,计算思维自古有之,最典型的计算思维大师就是《三国演义》中的诸葛亮。隆中对是诸葛亮对于天下大势的战略计算,紧随其后的是无数次丝丝入扣的成功的战术计算,可惜关键的几次失败了 (用关羽失荆州、用马谡失街亭)。 2.2 思维媒介造成的特征 计算思维需要筛选算法,但它是一种比寻找算法更高级的抽象思维,它可以得到普适性操作程序。思维以其采用的媒介分为动作思维、形象思维和抽象思维。顾名思义,所谓动作思维,就是以对实物进行实际的动作或操作来解答问题;形象思维就是以头脑中的表象为媒介解答问题;而抽象思维则是用符 号和语词(抽取了形象)为媒介解答问题。 例如,有一个约瑟夫斯问题:有16个人站成一个圆圈。首先从一个人开始,按一个方向顺序编号。然后从第一个人开始数起,每数到4时,就把这个人从圆圈上拉出来。再从下一个人数起,再数到4时,也把这个人从圆圈上拉出来。如此继续,直到人从圆圈拉完。请按从圆圈上拉出的顺序列出他们的编号。如果是动作思维,那就找16个人(或画16张卡片),编上号,按顺序排成一个圆圈,然后真的按照题目的要求数数-拉人(或卡片)-记录编号,再数数-拉人-记录……直至把16个人全部拉完后,将编号按 记录先后排列,方得出正确的结果(4, 8, 12, 16, 5, 10, 15, 6, 13, 3, 14, 9, 7, 11, 2, 1)。 如果是形象思维,那就要用在头脑中想象上述过程。在人数多达16的情况下,由于记忆容量的限制, 这个过程对大多数人会很困难。 如果是抽象思维,可以在纸上写上1~16的编号,然后从第一个数起,每数到4时,将这个编号记下并划掉,如果数到最后一个编号后则从头数起,如果下面一个是已经划掉的编号就跳过,这样一直进行下 去,直到所有的编号都被划掉(即记满16个编号)为止。这时,记录下来的编号顺序就是正确的结果。如果是编写一个计算机程序,可以模拟上述抽象思维的 做法。开设一个含有16个元素的数组,以数组的下标为编号,以给元素赋某个值(例如“1”)作为“被划掉”的约定。从元素1到元素16循环读取,如果元素的值对应于“被划掉”,就跳过去读下一个元素,每读到4次“未划掉”的元素,就记下第4个元素的下标, 同时将该元素赋值为“1”。如此重复下去,直到元素全部被“划掉”(即记满16个编号)为止。 可以看到,用计算机求解约瑟夫斯问题,至少有三个阶段:第一,寻找问题的解决方案——算法;第二,编程,将算法中的各种约定和操作转换成计算机可以执行的命令和程序。第三,调试程序(常与编程同时进行)。可以说,计算思维就是一种高级的抽象思维,它不仅要用抽象思维,通过探索找到算法,还 要在抽象思维指导下,将算法物化为可见的、可执行的一连串命令(程序)。 甚至,利用计算机还可以解决更一般的约瑟夫斯问题,即“有n个人、每次数到m时……”这样的情况。而这是动作思维和形象思维无法做到的,用抽象思维得出数学上的解,对于大多数人也是无法做到的,但 是编一个普适性更高的计算机程序,相对来说要简单得多。 2.3 编程带来的工作方式的特点 编程首先带来了表述方式的发展。计算机编程得到的结果是一行行代码。功能复杂的软件可能有成千上万甚至几千万行代码写成。为了便于维护、修改,代码须有较强的可读性。于是各种软件编程所特有的命令表达方式广为运用,例如运用各种流程结构(顺序、分支、循环),编写可供多处调用的模块或函数, 采用数据+代码的方式简化程序等等。 编程也带来了工作风格上的变化。除了将具体问题尽可能一般化、程序尽可能普适化以外,编程者还要不断进行程序的优化以提高效率,反复调试以尽可能消除程序的漏洞,还要考虑软件万一出错时的补救措施。总之,普适意识、优化意识、调试意识、容错意识等等,都是一个优秀编程者不可或缺的特质。以上计算机科学家的工作方式,也是任何一个计算思维者应该具备的。一个工作程序能否很好的执行,很大程度上取决于执行者能否准确而且高效地理解和记忆程序的细节,这就需要计算思维者学习计算机编程的表达方式;计算思维者面临的一个问题还在于,某些程序情况下是无法进行实际调试的,必须事先在 想象中反复进行周密的思考,寻找和补救漏洞,想象最坏的情况并预做准备。 3 用计算思维改造人类思维 著名的计算机科学家、1972年图灵奖得主艾兹格?迪杰斯特拉(Edsger Dijkstra)说:“我们所使用的工具影响着我们的思维方式和思维习惯,从而也将深刻地影响着我们的思维能力。” 猿人因为工具成为能思维的人,原始人因为语言成为能抽象思维的现代人,我们相信,今天的现代人因为计算机带来的计算思维会变成 更理性、更严谨的人。更进一步,也许正如王飞跃(2007)所预言的,计算机网络技术将为人类 带来“网络思维”(net thinking)或“万维思维”(web thinking)这样的思维新形式。 要想说明计算思维成为与读写算并列的重要能力,仅仅说它可以帮助各个领域的学者求解高深的学术问题还远远不够,那只能说明大学开设计算机课程的重要性,更重要的是指出它能够大大提高普通人哪一 方面的基本素质。 在认知心理学看来,人类的知识可以分为两大类:陈述性知识和程序性知识。陈述性知识(declarative knowledge)包括书本知识,也包括一切可以用语言表述和传授的知识。这些知识往往是关于事实、理论、事件等的表述,涉及到“是什么”的知识;程序性知识(procedural knowledge)更多地体现为技能和程序,是关于一件事情应该“怎样做”的知识。读写算能力代表了一个人的文化素质和学业能力,主要用来学习和运用陈述性知识,学校教育的主要成分就是传授陈述性知识。而程序性知识的生产(制定“怎样做”的方案),或根据实际情况灵活运用程序性知识,则体现出一个人的实践智力(Sternberg, 1985)。实践智力用于解决实践问题,而这种问题的特征是:(1)需要识别或形成问题;(2)问题难以准确定义;(3)需要搜寻更多信息;(4)有多个可接受的解法;(5)嵌入并需要日常经验;(6)需要动机和个人的投入(Neisser et al., 1996),这些特征也与计算机科学家面临的问题情境十分相似。 相比陈述性知识,程序性知识的传授是当前各级教育的主要弱项之一。计算思维脱胎于计算机科学, 计算机科学家在程序性知识的生产和运用方面的成熟的思维方式将有助于提高全体公众的程序性知识方面 的能力。 在日常生活中,人们常常以一种“有限理性”的启发式方式应对各类问题。采用这种思维方式的原因,一是为了减轻认知负荷,人的认知加工资源是有限的,其短时记忆的广度仅为7±2个组块;二是为了缩短认知加工时间,大多数情况下都需要快速决策;三是很多人受教育程度低,未掌握相对复杂的计算方法。 但是,在进入泛在计算时代的今天,有了计算机的帮助,可以轻而易举地化解上述三项困难。 例如,很多人想当然地认为,一次性多年期整存整取存款的收益不如分年度利滚利存款。但实际上,存款利率的设计早就考虑到这一点,使得前者的收益略高于后者。一个具有计算思维意识的人,一定会想到实际计算一下两者的收益,计算时还会考虑多年的各种拆分方式(例如五年期不仅可以分为5个一年期,还可以 分解为3个一年期加1个二年期、1个二年期加1个三年期等等),在比较各种方案的收益后做出 理性的选择。 从上述例子我们也可以看到,培养计算思维的方法不在于开设多少计算机课程,而是从日常生活中选取实际问题,通过设计方案、想象仿真、设置情境等方式,使人习得严谨、精密的程序性思维能力。此外,为了帮助那些不曾学过计算机编程或算法语言的学生更好地培养计算思维的习惯和技能,可以像Lu和Fletcher (2009)建议的那样,开发一套计算思维语言(computational thinking language)供教学之用。而且,鉴于计算思维能力的主要受益素质是程序性知识系统,甚至可以考虑将“计算思维”改为不易误解的“程 序性思维”(procedural thinking 参考文献 陈国良, 董荣胜. 计算思维与大学计算机基础教育. 中国大学教学, 2011(1): 7-11, 32 九校联盟. 九校联盟(C9)计算机基础教学发展战略联合声明. 中国大学教学, 2010(9): 4, 9 牟琴, 谭良. 计算思维的研究及其进展. 计算机科学, 2011, 38(3): 10-15, 50 王飞跃. 从计算思维到计算文化. 新观点新学说学术沙龙文集7:教育创新与创新人才培养. 2007: 117-124 夏耘, 黄小瑜. 计算思维基础. 电子工业出版社, 2012, 100-102 朱亚宗. 论计算思维——计算思维的科学定位、基本原理及创新路径. 计算机科学, 2009, 36(4): 53-55, 93
/
本文档为【从心理学视角考察计算思维(精)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索