从心理学视角考察计算思维(精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从心理学视角考察计算思维
从心理学视角考察计算思维,可以将其定义为“像计算机科学家那样解决以计算为主要成分的问题”,即吸取计算机科学家在设计算法和编写程序中的思想方式,将其推广到对其他领域问题甚至日常生活问题的思考。计算思维的特征可以从工作内容、思维媒介和工作方式角度进行分析。计算思维的主要成分是编制程序(包括计算机与非计算机的程序),要求思考者将算法的可运行性放在首位,注重细节;就思维媒介而言,计算思维是一种更高级的抽象思维;就工作方式而言,编程带来了新的表达方式和工作风格。培养
计算思维的最终目的,是使人习得严谨、精密的程序性思维能力。
关键词计算,计算机,计算思维,思维方式,程序性思维
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 以思维风格定义计算思维