计算思维教育的困惑与博弈
2019-11-09史文崇刘茂华杨大志
史文崇 刘茂华 杨大志
【摘要】 在周以真的倡导下,国内外一些教育机构积极推进计算思维教育,其教学工具、测量工具得到发展,同时也暴露出各种教育活动之间差异较大、教育效果实证不足等问题。从对计算思维内涵的认识、计算思维教学内容、教学工具、教学策略、测量工具、测量结果、迁移效果等方面对国际社会计算思维教育活动现状进行了分析,认为目前计算思维教育研究与实践成果不足以有效支持计算思维教育,存在许多困惑和博弈;计算思维教育不能速成,反对零基础的计算思维教育,应从知识传递入手,结合学习者的认知基础,遵从思维发展规律开展教学活动;不赞成分离式教育,提倡融入式教育;建议形成研究团队开展多项研究和实验,形成逐层递进的教学体系,注重教师队伍建设,反对将计算思维教育简单化。
【关键词】 周以真;计算思维;教学内容;教学工具;测评;迁移;皮亚杰;斯腾伯格
【中图分类号】 G40-032 【文献标识码】 A 【文章编号】 1009-458x(2019)8-00059-09
引言
周以真提出计算思维(Wing, 2006)后,一场计算思维教育改革运动在全球悄然兴起。美洲、欧洲、亚洲、大洋洲的许多国家在开始传授计算机知识之前纷纷开展K—12年级的计算思维教育;美国哈佛大学、耶鲁大学、麻省理工学院、普渡大学和中国九校联盟加盟校等高校专门开设了计算思维课程;我国在2017年推出的《普通高中信息技术课程标准(2017年版)》已将计算思维作为学科核心素养。
周以真倡导计算思维的初衷起源于计算机学科生源质量下降,有其潜在的商业目的,其更高追求则在于“让学习者像计算机科学家一样思考”(Wing, 2006)。但她后来又撰文,只提及国家和社会组织大量投资,生源急速上升,开设计算思维课程的教学机构增多(Wing, 2014),声称“取得了巨大进步”,同时也承认仍有一些“有趣的”问题值得研究(Wing, 2016),而对学习者是否能“像计算机科学家一样思考”只字未提。那么,开展计算思维教育究竟是为了商业目的、轰动效应,还是改善学习者的思维?
关于计算思维有两种态度:一种是绝对肯定、夸大的态度。认为计算思维“无处不在”(Bundy, 2007),是“人人必备的工具”(Barr, Harrison, & Conery, 2011),“没有计算思维就不可能在任何学科开展研究”,倡导“将计算思维广泛用于改善人们的生活”(CMUCCT, 2011)。另一种是质疑、反对的态度。有学者认为计算思维不适于伦理、道德、文学、美学等领域(Jones, 2011)。中国计算机教育家谭浩强认为,计算思维的发展路径尚不明晰,主张高校计算机基础教育应面向应用(谭浩强, 2012);有益的思维方式很多,不应过分强调计算思维(谭浩强, 2014)。ACM前主席皮特·丹宁反对推行计算思维,担心对计算思维的迷恋会把我们带回曾试图逃离的陷阱(Denning, 2009);指责“那些狂热者所倡导的模糊定义和未经证实的主张”“提高了无法达到的期望”,让教师处于尴尬境地(Denning, 2017)。
在这样的背景下,计算思维教育应何去何从?是否应该好好总结和反思?
一、计算思维定义的多样性与理解的相对性
周以真关于计算思维的最初解释是“利用计算学科的基础概念求解问题、设计系统和理解人类行为”,“computational thinking,意即think computaionaly”(Wing, 2006),可将计算思维理解为一种思维风格,文中也列举了一些特征性术语。后来她多次撰文,却互有不同(Wing, 2008; Cuny, Snyder, & Wing, 2010; Wing, 2017),最终计算思维演变为“一个思维过程”。美国ISTE/CSTA在2011年、2013年、2015年、2016年以“计算思维的操作性定义”等形式多次给出计算思维的定义或解释;英国皇家学会、计算机学会Computing At School分会,我国教育部高等学校大学计算机课程教学指导委员会和《普通高中信息技术课程标准(2017年版)》也都曾给出计算思维的定义或解释,但彼此互不相同、差异极大。计算思维的倡导者和权威教育机构如此,学术界给出的计算思维的定义也一直处于发展变化之中(Selby & Woollard, 2013)。归纳起来,目前大致有思维过程说、思维风格说、学科思维说、能力要素说、知识体系说等几类说法(史文崇, 2018; 陈鹏, 等, 2018; 范文翔, 等, 2018; 陈国良, 等, 2013; 战德臣, 等, 2013),许多文献已述及,这里恕不赘述。
此外,关于计算思维的定义还有另类提法。有研究者认为(Hu, 2011)计算思維是混合物,能否准确地定义计算思维并不重要;有研究者(Snow, Katz, Tew, & Feldman, 2012)认为计算思维涉及宽泛的领域,不必寻求一致定义,只要在自己的教学活动中给出清晰的定义就够了;有研究者(史文崇, 2014)认为,理解计算思维不能靠定义,关键是把握其思维的计算特征与计算的思维属性,熟练运用其典型思想。这些言论看似“另类”,但并非无稽之谈,应该看到其积极、实用的一面。因为我们解析计算思维是为了开展计算思维教育,其定义不仅关系到对计算思维的理解,而且关系到其教育运作。每种定义自有其优势或不足。即使有了全球统一的定义,因知识结构和关注焦点不同,大家对它的理解也未必相同(Aho, 2012)。学科思维、风格说有助于对计算思维的宏观理解,但太笼统,不便开展教学,不便测量和评价;能力要素说有助于测评工具的设计和实现,但可能导致以偏概全,不能体现学科特点;过程说则既不利于理解,也不便于测评,因为处理两种不同的事务不会有完全相同的思维过程;知识体系说则很难面向非计算机专业或中小学生实施教学。
客观地说,计算学科具有庞大的知识体系,计算思维内涵丰富且难以穷尽,希望用一个定义、有限的要素概括其内涵,难免顾此失彼。教育者只能根据自己的理解、基于学习者的特点和教学资源,从计算学科的某些领域、特定的教学目标出发开展教学和测评。这决定了计算思维的教学和测评只能是相对的。但这种相对性如果不能概括计算学科的主旨与核心,必然偏离计算思维教育的初衷。于是,如何根据计算思维的内涵掌控计算思维教育的目标和重点就成为计算思维教育的基本困惑和博弈。
二、关于计算思维教学活动的实施
2016年周以真所谓“值得研究”的“有趣的”问题——“没有足够的K—12教师进行计算机科学培训……何时教、如何教,如何衡量学习进步、学习成果和随时间迁移的留存率”(Wing, 2016),恐怕都是教学中必须面对、又必须妥善解决的最基本的问题。美国国家研究委员会(National Research Council, NRC)关于计算思维教学的专门报告属于总结性文件,没有提出任何教学建议;美国CSTA在2016年年底给出的《过渡性K—12计算机科学标准》、国内的《普通高中信息技术课程标准(2017年版)》指出了蕴含计算思维的教学内容,但它们旨在规范课程教学,并非完全针对计算思维训练,所以没有提及用怎样的工具、形式、测评手段开展计算思维训练。我国教育部高等学校大学计算机课程教学指导委员会至今没有给出其内容和目标框架体系。所以,计算思维应该教什么,应该怎么教,一直是教育者的自主行为,没有官方依据。
(一)教学内容
教学内容是计算思维教育的载体。对计算思维内涵的理解不同,则教育者对其知识载体的选择必有不同。目前,关于计算思维的教学内容有几种做法:
1. 教编程
这是最普遍的做法。程序设计是计算机行业最常规的业务,此类软件历史最久、影响深远,师资来源广阔。首先想到由此入手训练计算思维是很自然的。但编程训练能够改善学生的思维吗?30多年前,皮等人(Pea, Kurland, & Hawkinsand, 1987, pp. 120-129)的研究表明,通过LOGO编程训练不能有效改善学生的思维;有许多学者(González, González, & Fernández, 2016; Yadav, Mayfield, Zhou, Hambrusch, & Korb, 2014)将问题解决作为计算思维的核心能力之一,但赛查理斯等人(Psycharis & Kallia, 2017)最近的研究表明,编程不会明显提高学生的问题解决能力。
程序设计虽然蕴含计算思维,但数据库设计、网站开发、图像处理等分支领域也同样蕴含计算思维。如今,计算机学科有计算机科学、计算机工程、软件工程、信息技术等多个分支,程序设计已淡出计算机学科的核心地位。以程序设计活动传授计算思维,既缺乏全面性,又缺乏足够的理论和实践依据,更多的是主观臆想。许多学者(Christopher, 2011; Lu & George, 2009; Shute, Sun, & Clarke, 2017; Grover & Pea, 2017)已认识到基于程序设计训练计算思维的狭隘性,认为不应该在基础计算机科学中过分强调编程技能,更不应将其作为计算思维训练的唯一载体。
2. 教算法
自2012年起,国内一些高校以“计算思维导论”课程取代常规的计算机基础教学,在不教授程序设计课程的情况下,试图以算法理论为载体训练计算思维。这实际上是将计算思维武断地归结为算法思维,认为普及算法知识就是培养计算思维。但算法是比程序设计更为狭小的一个子集,而且算法作为解决某一类(个)问题的工具针对性很强而普适性较差,工具论意味明显。我们传播计算思维旨在强化一种普遍适用的认识论。因此“计算思维就是算法思维”的观点是一种狭隘的计算思维观。况且,在不学习任何计算机课程的情况下直接传授枯燥的算法知识能否被学生理解和接受?如果不能,怎能改善思维?
3. 教手工制作
有研究者(Kotsopoulos, et al., 2017)基于建构主义和社会建构主义提出了计算思维的教学框架,包括不插电的计算机活动、手工修补、制造活动等,却不涉及具体的计算机知识和操作;有研究者(Wojcicki, 2015)甚至提倡用玩具培养计算思维,据说适用于低龄儿童。一些机构一度曾借此培养创造性思维,如今又改头换面用以培养计算思维,很难说没有商业动机。这些活动远离计算学科,充其量可以培养动手能力,至于是否包含计算思维、含有哪些计算思维则有待探讨。即使蕴含某些计算思维,真的可以在低龄儿童中、在计算学科知识零基础的情况下传授吗?认知心理学指出,思维的形成需经历原块→感块→记块→忆块→思块几个阶段,没有感知和认知基础,没有知识和经验积累,不会形成思维(Solso, MacLin, & MacLin, 2010, p. 126)。这决定了思维是不能(零基础)直接传授的,总是从传授知识和间接经验开始的。计算思维作为一种学科思维,必须从传授计算学科知识和技能开始。而且,根据皮亚杰(Piaget, 1972, p. 186)认知发展阶段理论,低龄儿童处于前运算阶段晚期或具体运算阶段早期,思维活动缺乏抽象性,基于远离计算学科的手工活动,连对计算学科的具体感知都不会产生,何谈理解或产生以抽象为主要特征的计算思维?
海斯(Hayes, 1985)曾把知识教学作为思维教学的一个难题,因为传授任何一种思维方式都必须首先传授大量的知识。可见,计算思维不能速成。急功近利不会取得好结果。前期的计算学科知识教学非常重要,必须科学选择教学内容。
那么,计算思维应该教什么?哈佛大学、麻省理工学院、普渡大学等高校的“计算思维导论课”内容涉及程序設计、算法、网站开发、模拟等,实际上是主张全面传播计算学科知识的。卢等人(Lu, et al., 2009)提出应将计算思维语言(CTL)渗透到教学中。计算思维螺旋提出了一种从中学到大学有序实施的知识结构(Ioannidiou, Bennett, Repenning, Koh, & Basawapatna, 2011, pp. 82-86)。美国2014年开发了面向学生计算思维能力的“高中计算机科学原理课程框架”(Yadav, et al., 2014)。CSP“大学预修计算机科学原理”框架大学版提出了六种计算思维实践(College Board, 2014)。2015年,英国计算机学会计算在学校(Computing at School, CAS)分会也提出了教师指南(CAS, 2015)。孔(Kong, 2016)提出了一种指导K—12计算思维开发课程设计的七原则框架。国内学者(龚沛曾, 等, 2012)则提出,计算思维教学课程体系由大学计算机基础课程、程序设计课程和若干门应用课程组成。各门课程应该统筹考虑、联动改革,但内容需要充实和重组。总之,计算思维应该教什么,理论界对此见仁见智。国际上计算思维教育课程标准既不统一,又存在缺口,教学内容选择面临困惑和博弈。
(二)教学工具
中、英等国教育部门倡导的融入STEM或信息技术基础课程的计算思维教育,除教材外没有特定教学工具。目前流行的计算思维教学工具主要是一些基于编程的,在个人电脑、网络或手机环境下使用的3D可视化编程软件,如Scratch、Alice等,主要用于小学高年级和中学的分离式计算思维教学。这些程序设计软件的3D可视化环境比30多年前的LOGO语言更直观、生动,面向事件的编程环境可使学生不学习计算机语言即可利用计算机解决一些简单问题。但他们能就此理解计算的隐喻,形成新的思维习惯或思维方式吗?实际上,基于这种界面的训练不过是直观、具体的对象操作训练。周以真(Wing, 2006)和许多学者将“抽象”作为计算思维的重要特征之一,这种直观、具体的对象操作训练有助于形成抽象思维吗?答案有待考量。
国内学者也对计算思维教学工具做了探索,提出利用App Inventor程序设计平台开展教学(梁艳瑞, 2015)、借助FunCode游戏编程平台培养计算思维等(宋晏, 等, 2018)。但有研究者(赵姝, 等, 2012; 赵国庆, 2013)早就注意到,一些时新的教育技术并不会带来教育教学质量或效果的本质提升。为此,加拿大教师网络服务平台“布鲁姆板”(BloomBoard, 2014)提出计算思维工具必须结合学生的能力、学习目标和学生发展,但“这项工作还远未完成”(Blikstein, 2015)。这无疑是计算思维教学最大的缺憾。瑞本宁等人(Repenning, Webb, & Ioannidou, 2010, pp. 102-122)指出计算思维教学工具必须满足六个条件:低门槛、高顶棚、为心流(flow)搭起脚手架、能够迁移、消除性别和种族歧视以及系统而可持续。其中,第一、第二、第五这三个条件最容易满足,特别是第一个条件,低到似乎没有门槛。为满足第三个条件,一些教学活动在可视化、趣味性方面做了不少努力,但如果超越了学生的认知水平,仍然不会有好结果。在第四、第六个条件方面仍有较大缺口,特别是第六个条件几乎是空白。稍加分析可知,所谓低门槛、高顶棚是指在各学段的学习中都应该有相应的教学工具。依据前述认知理论,低门槛不是没门槛。那么,门槛应该设多高?另外,为心流搭脚手架旨在掌控学生的心理活动、激发其学习兴趣和动力。那么,如何掌控和激发?如何保证实现迁移?如何保证其系统性和可持续性?这些在教学实践中都将面临困惑和博弈。
另外,教学工具也未必都是电子平台或软件。国内张锦东(2017)做了利用传统的思维可视化工具(圆圈图、思维导图、双气泡图)培养小学生计算思维的尝试。斯腾伯格(Sternberg & Swerling, 1996, p.106)也提出,基于思考的提问(Thinking-based Questioning Approach)最适于思维教学。选择科学有效的教学手段就是选择教学工具。目前计算思维教育在这方面任重道远。
(三)关于组织形式、教学模式
思维教学必须传授基础知识,但传授知识不等于传授思维。计算思维教育不同于传统教学,泽尔考斯基(Czerkawski, 2013, pp. 10-17)提出计算思维课程需要更具体的教学设计策略。有些学者(李芳, 等, 2014)倾向于分离式的计算思维教学。基于上文的分析,计算思维作为学科思维必须以计算学科知识为基础产生而不能直接传授。即使是基于某3D可视化编程软件的教学,无论效果如何,也是希望学生通过直观的编程体验获得计算思维。所以真正的完全分离式的计算思维教学是不存在的,它只能是融入式的。从国家教育部门制定的标准看,也是倡导在课程中融入计算思维教育。哈佛大学、普渡大学的实践是以传播计算机学科知识为主的,实际上国内通过算法来传播计算思维也是一种融入式的教学,只是选择的知识载体较单薄而已。
传统的教学方式都是面向掌握学习(mastery learning)的,但掌握学习不适于任何思维教学,因为任何人都不能说掌握了思维(Sternberg & Swerling, 1996, pp. 98-100)。因此传统的教学和测评方式都不适于计算思维教学。国内学者梁艳瑞(2015)主张以微课程形式、唐培和等人(2018)主张以MOOC形式組织教学,牟琴等还提出了计算思维的探究教学模式(牟琴, 等, 2010)、网络自主学习(牟琴, 等, 2011a)、任务驱动式教学模式等(牟琴, 等, 2011b)形式化的概念模型,鲍宇等(2015)提出“阶梯式”引导的计算思维自主养成模式。可惜至今未见教育实验对比结果,无法说明哪一个模式更有效或更适宜某个学段的学习者。但无论哪种教学设计,都必须基于学习者的认知基础,符合计算思维发展规律。在计算思维教学实践中,国内有研究者(顾坚, 2018)曾注意到“学生对老师精心设计的探究问题丝毫不感兴趣,只热衷于模仿样例”,恰恰说明超越了学生思维能力的思维教学不会取得好的结果。有学者(赵姝, 等, 2012)提出思维训练分隐性思维显性化、显性思维工具化、高效思维自动化三个阶段。但这在计算思维教育中如何实践有待研究。国外有学者(Ioannidiou, et al., 2011)将计算思维的学习看作一种从基本的计算思维模式入手的螺旋式渐进的过程。国内有学者(牟连佳, 等, 2015)将计算思维分为信息处理、认知和元认知三个层次,并给出了层次结构模型,也有学者(史文崇, 2017)提出了计算思维的三维、四层次演进模型。这些理论有待实验证实,但也说明学术界已注意了计算思维培养的层次性和渐进性,应该在此基础上加大研究和探索。缺乏教育学、教育心理学理论支持,是计算思维教育研究的短板。目前尚未发现可直接推广的计算思维教育的成功经验。
三、关于计算思维教学的监控
——计算思维的测评
(一)评价工具
有学者(Repenning, et al., 2010)将计算思维测量工具分为五类:总结性工具、形成性交互评价、技能-迁移工具、观念态度量表、词汇评估。目前,国内计算思维评价的专用工具未见文献述及,国外计算思维工具较多。较知名的测评工具或方案有:BebrasTasks(Valentina & Futschek, 2008)、Dr. Scratch(León, Robles, & Román, 2015)、《计算思维能力水平量表》(Korkmaz, ?akir, & ?zden, 2015; Korkmaz, ?akir, & ?zden, 2017)、《计算思维模式分析(CTPA)》(Ioannidou, Bennett, Repenning, & Han, 2011)、计算思维测评软件CTt(González, 2015; González, 2017)、三维测试框架(Brennan & Resnick, 2012)、Functional Understanding Navigator!(FUN!)(Brasiel, Close, Soojeong, Kevin, Phil, & Taylor, 2017)、计算思维实时测评系统REACT(Koh, 2017)、Ninja Code Village(NCV)(Ota, Morimoto, & Kato, 2016)、计算思维语言(computational thinking language, CTL)(Lu, et al., 2009)、PECT(Korucu, Gencturk, & Gundogdu, 2017)、计算思维实践评价设计模型ADPCT(Snow, Tate, Rutstein, & Bienkowski, 2017)等。其中,Bebras Tasks是基于机器人科学、面向问题解决的多任务测试;Dr. Scratch是与3D可视化程序设计软件Scratch有关的程序设计能力测试;《计算思维量表》(CTS)是由5个大项(创造力、协作、算法思维、批判性思维、问题解决)、29个子项指标构成的五级李克特量表,是内容固定的问卷测试;《计算思维模式分析(CTPA)》是对11个计算思维模式掌握情况的测试;西班牙测试软件CTt是基于三个维度(涉及的计算概念、答案风格、要求的任务)、由28个子项构成的测试;三维测试框架基于项目组合分析、大量访谈和手工制品考评计算思维概念和实践;FUN!基于Scratch,由麻省理工学院媒体实验室开发;REACT是基于心流和最近发展区理论和CPTA的实时测试;NCV建构了一种对全面学习Scratch等可视化编程语言提供支持的环境,并在此环境下开展测试,检测程序设计常规概念、函数的使用、抽象、建模和分解方面的能力;CTL是对于计算学科常用词汇术语记忆理解的评估测试;PECT基于CSTA关于计算思维的表述和Scratch软件,由13个证据变量、6个设计模式变量、5个计算思维概念来打分评判,分基础、发展、能手三个等级。ADPCT基于ECS(计算机科学探索)课程的四个单元(人机交互、问题解决、网页设计、编程简介),列出了以证据为中心的设计和关键计算思维实体五个层次(领域分析、领域建模、概念化的评估框架、评估的实施、评估交付)。上述各测评工具的特点如表1所示。
表1 现有计算思维测评工具情况汇总一览表
[工具 适用受众 测量焦点 评价类型 Bebras Tasks 中小学生 分析和应用 自动,总结性 Dr. Scratch 中小学生 创造和评价 自动,总结性 CTS 各种层次 态度/价值观 总结性 CTPA 中小学生 问题解决(编程) 总结性 CTt 大中小学生 理解和记忆 总结性 三维测试 中小学生 概念、实践、视角 人为,总结性 FUN! 中小学生 编程能力 总结性 REACT 中小学生 最近心流区,思维的发展 实时,自动,形成性 NCV 中学生 编程能力 自动,总结性 CTL 中学生 计算学科常规术语的理解和记忆 总结性 PECT 小学生 知识,编程能力 总结性 ADPCT 中小学生 知识,技能与态度 总结性,人为 ]
由表1不难发现,在现有测评工具中,偏重低层次思维(知识、记忆)的评价工具较多,侧重高层次思维(分析、评价、创造)的较少;缺乏教育心理学依据的主观性评价多,基于教育心理学理论的客观评价少;总结性评价工具多,形成性评价工具少;适用于中小学生的评价工具多,适用于大学生的评价工具少;侧重编程能力的评价多,全面性的评价少;测试目标单一的测评工具多,综合性的测评工具少。这种“六多六少”的局面直接影响了这些工具的科学性和实用性。其实,思维训练测评应着眼于分析、评价、创造等高阶思维能力(赵姝, 等, 2012)。有学者(唐培和, 等, 2018)不赞成用机器考试系统来检验学生的计算思维学习效果,主张以多种形式或途径进行考核;郁晓华等人(2018)在分析了国际上常用的多种计算思维评价方式后认为,它们各有利弊,优劣难辨,要从中选择完全适用且科学有效的评价工具并不容易。
(二)测评工具的完善和一致性
在测评实践中,上述测评工具的研发者往往自己就能指出存在的问题和不足。2015年,考科莫兹等人(Korkmaz, et al., 2015)使用《计算思维量表》(CTS)后认为,虽然中学生的计算思维能力处于较高水平,但他们解决问题的能力却处于较低水平。这似乎是说计算思维与解决问题能力无关甚至负相关。但如果真的如此,显然有悖于计算思维教育的初衷。那么,究竟是样本特殊,还是测量方案存在不足?
REACT的原创者(Koh, 2017)承认,如何为焦虑和无聊区设定门槛或者为最近心流区(ZPF区域)设定阈值的问题还没有彻底解决,这本身就是一大缺憾,势必影响其有效性。进一步研究发现,其11种计算思维模式(CTP)源自一种游戏设计项目SGD,测评也是基于SGD项目完成的,如果离开SGD项目环境,这些CTP是否具有普适性,是否可以拓展应用于其他事务,值得商榷。如果其实用价值仅限于SGD活动,显然与计算思维教育的本意相去甚远。
布仁南等(Brennan, et al., 2012)提出的计算思维三维(计算概念、计算实践、计算视角)测试方案承认思维的形成受多种因素影响,单一的方法有其相对性,指出“没有一种方法在理解计算思维视角的变化方面特别有效”,实际上只实现了对前两个维度的测评。但要“让学生像计算机专家那样思考”,实际上就是让他们尽可能充分地以计算(学科)视角思考。要測评计算思维教学成果,这一维度恰恰最为关键。关键维度测评方法的缺失导致该测评工具已严重偏离了其测试初衷。
早期(小学生)计算思维理解与评价进级模型(PECT)的研发者(Seiter & Foreman, 2013)也指出,虽然“处理技能”(process skills, 指去除bug、测试等)“在计算思维中是非常突出和重要的”,但却“超出了研究范围”,实际上该测评工具也缺失了原本很关键的测评内容。
思维的测评向来是困难的,因而一些测评项目首先测评相对容易的测评因子,这虽可以理解,但最容易评估的东西对学习者而言未必是最有价值的(Brennan, et al., 2012)。更糟糕的是“在不同的研究中,测量结果差异很大”(Shute, Sun, & Clarke, 2017)。如,在性别差异研究中,考如库等人(Korucu, et al., 2017)基于CTS的测量和钟柏昌等人(Zhong, Wang, Chen, & Li, 2016)基于三维测量框架的测量结果认为小学生的计算思维没有显著的性别差异,而沃呢尔等人(Werner, Denner, Campe, & Kawamoto, 2012)基于卡内基·梅隆大学计算思维中心提供的计算思维测评方案(通过算法思考,并有效地利用抽象和建模),结果认为有性别差异。亚达夫小组(Yadav, et al., 2014)的研究结果表明,男性对计算机的兴趣明显高于女性,但又说性别不是决定计算思维的显著因素。这说明至少有一个测评结果是错误的,孰是孰非?该相信谁?
可见,避重就轻、莫衷一是严重降低了一些计算思维测评工具的实用价值。
(三)关于知识迁移的测量
计算思维能不能迁移到其他领域?如何迁移?这关系到计算思维教育的必要性和基本路径。海斯(Hayes, 1985)曾把知识迁移当作思维教学的一大难题;认知心理学家皮亚杰(Piaget, 1972)认为思维强化训练不能导致思维结构的内源性变化,从根本上否认思维教育的有效性。20世纪80年代通过LOGO语言训练儿童思维的失败(Linn, Fisherand, & Dolbey, 1983; Pea, et al., 1987)也为我们敲响了警钟。客观地说,目前关于计算思维迁移的测量研究文献很少,知识迁移测量工具更鲜见陈述。据悉,BebrasTasks可测量向真实生活的迁移(Valentina, et al., 2008),而CTP-Quiz可评价向科学模拟环境的迁移(Basawapatna, Koh, Repenning, Webb, & Marshall, 2011),但未见面向个人或群体的量化指标统计结果,计算学科知识迁移规律亟待探索。舒特等人(Shute, et al., 2017)曾分析了2011——2015年的5份关于计算思维迁移的文献中的研究成果,发现其中任一案例的迁移效果都有待进一步证实。一些计算思维典型教学案例并没有给出有关计算知识迁移测评结果的有力证据(陈丽婷, 等, 2015),其有效性令人质疑。CTPA的研究者(Koh, 2017)声称“看到了迁移效果”,但分析后发现,其所谓“迁移效果”是指最近心流区(ZFP)的变化,只能说明学生能够理解和运用某些计算思维模型了,不能说明由此形成了一种新的思维习惯或风格,更不能揭示计算思维发展规律。有些学者仅凭几十个学生的小样本在一段时期教学后的问卷调查结果就肯定其教学方案可行、有效(刘君亮, 2014; 葛明珠, 2014; 范帅帅, 2018),甚至就此认为学生的计算思维“正在形成”或“已经初步形成”(顾坚, 2018),未免武断和牵强,恐怕还需更多科学的佐证材料。
总之,现有的计算思维测评工具测评焦点分散,教育心理学理论依据不足,没有反映问题的实质,科学性和实用性亟待提高。
四、对我国开展计算思维教育的建议
综上所述,国际社会在计算思维的内涵、教学内容、教学工具、测评工具等方面做了许多积极探索。但现有理论研究没有得出可信的确定性的结论,实践探索也没有获得成功的普遍适用的经验,计算思维教育仍面临许多挑战、困惑和博弈。反对者的观点不无警示意义。为此,本文对我国开展计算思维教育提出如下建议:
首先,要以理性、科学的态度开展计算思维教育,教学设计要有充分的理论和实践依据,不能仅凭个人主观愿望行事。计算思维教育是一个系统工程,不能只有计算机教师参与,应由计算学科专家、教育心理学家、思维学家形成团队,开展多项计算思维教育实验,就计算思维在不同学段学生中的表现形式、发展规律、测评依据、培养目标等开展研究。可以先做一些理论假设并逐一进行尝试和验证,但不宜大规模地普及计算思维教育。我国各地教育资源分布极不均衡,目前尤其不宜在小学及以下层次开展。
其次,切忌急功近利、将计算思维教育简单化。思维的形成受很多因素影响,计算思维训练是一个长期的过程,教育效果不会在短期内凸显。不应苛求通过一门课或一项活动一蹴而就。要警惕商业性宣传,完全指望某个教育工具软件完成计算思维教育是不现实的,也不要过度看中某种(次)测评的结果。重在使学习者产生顿悟,实现由此及彼的认识迁移,这需要教育者更多地提供激发这种顿悟的环境或机会。教学形式、内容、测评手段应该多元化。
再次,要随着年龄的增长,在不同阶段按照学习者的思维发展规律,不断拓展深度和广度,明确各阶段的目标,不能出现断档或脱节。我国教育部门划分了高中信息技术课的计算思维等级,而大学阶段却没有相应的等级划分。应该努力形成从低层次向高层次逐级过渡的教学内容和评价体系。
最后,计算思维教育需要教师提高对计算思维教育的认识和工作能力。如果教师一直在误解、困惑和博弈中煎熬,就不能搞好计算思维教育。因此,应开展各层次的教师培训,就计算思维的内涵、价值、教学案例及其效果展开交流,明确计算思维教育旨在提升高阶思维;灌输一些事实性知识、陈述性知识不是计算思维教育;必须融入足够的程序性知识和策略性知识,通过大量测评验证形成科学有效的教学设计。严防计算思维教育陷入一些学者担心的尴尬局面是计算思维教师的最大挑战。
[参考文献]
鲍宇,孟凡荣,张艳群. 2015. “阶梯式”引导的计算思维自主养成模式[J]. 电化教育研究(6):87-91.
陈国良,董荣胜. 2013. 计算思维的表述体系[J]. 中国大学教学(12):22-26.
陈丽婷,徐晓东. 2015. 基于计算思维教育的国外小学教学案例研究[J]. 教育信息技术(9):12-20.
陈鹏,黄荣怀,梁跃,张进宝. 2018. 如何培养计算思维[J]. 现代远程教育研究(2):98-112.
范帅帅. 2018. 基于Scratch培养小学生计算思维的教育实践研究[D]. 山东:聊城大学.
范文翔,张一春,李艺. 2018. 国内外计算思维研究与发展综述[J]. 远程教育杂志(2):3-17.
葛明珠. 2014. 基于计算思维的协作学习模式在中学信息技术课程中的实践与研究[D]. 西安:陕西师范大学.
龚沛曾,杨志强. 2012. 大学计算机基础教学中的计算思维培养[J]. 中国大学教学(5):51-54.
顾坚. 2018. 计算思维在初中信息科技课程中的實践研究[D]. 上海:上海师范大学.
李芳,张欣. 2014. 分离式计算思维教学探究[J]. 现代教育技术(3):24-28.
梁艳瑞. 2015. 基于AppInventor的高职学生计算思维培养研究[D]. 成都:四川师范大学.
刘君亮. 2014. 基于计算思维的混合式学习模型研究[D]. 北京:北京交通大学.
牟连佳,李丕贤,邵洪艳. 2015. 计算思维融入信息技术教育的研究框架[J]. 科技创新导报(25):20-23.
牟琴,谭良,吴长城. 2011. 基于计算思维的网络自主学习模式的研究[J]. 电化教育研究(5):51-60.
牟琴,谭良,周雄峻. 2011. 基于计算思维的任务驱动式教学模式的研究[J]. 现代教育技术(6):44-49.
牟琴,谭良. 2010. 基于计算思维的探究教学模式研究[J]. 中国远程教育(11):40-45.
史文崇. 2017. 计算思维进化规律研究[J]. 河套学院论坛,14(3): 75-82.
史文崇. 2014. 思维的计算特征与计算的思维属性[J]. 计算机科学(2):11-14.
史文崇. 2018. 全球计算思维研究与实践综述[J]. 计算机工程与应用(4):31-36.
宋晏,姚琳,张敏,李莉. 2018. 结合FunCode游戏编程平台的计算思维培养模式研究[J]. 计算机教育(8):25-28.
谭浩强. 2012. 研究计算思维,坚持面向应用[J]. 计算机教育(21): 45-49.
谭浩强. 2014. 计算机应用与科学思维能力培养——关于计算机基础教育深化改革的思考[J]. 计算机教育(7):4-8.
唐培和,秦福利,唐新来. 2018. 计算思维教育面临的问题及其改革实践[J]. 高教论坛(3):12-14.
郁晓华,肖敏,王美玲. 2018. 计算思维培养进行时:在K-12阶段的实践方法与评价[J]. 远程教育杂志(2):18-28.
戰德臣,聂兰顺,徐晓飞. 2013. 计算之树——一种表述计算思维知识体系的多维框架[J]. 工业与信息化教育(6):9-15.
张锦东. 2017. 思维可视化工具在小学信息技术学科计算思维培养中的应用研究[J]. 教育观察(8):50-52.
赵国庆. 2013. 经典思维教学程序的分类、比较与整合[J]. 开放教育研究(6):62-72.
赵姝,赵国庆,吴亚滨. 2012. 思维训练:技术有效促进学习的催化剂[J]. 现代远程教育研究(4):28-34.
Aho, A. V. (2012). Computation and computational thinking. Computer Journal, 55(7):832-835.
Barr, D., Harrison, J., & Conery L. (2011). Computational thinking: A digital age skill for everyone. Learning & Leading with Technology,38(6):20-23.
Basawapatna, A., Koh, K. H., Repenning, A., Webb, D. C. & Marshall, K. S. (2011). Recognizing computational thinking patterns. Paper presented at the the 42nd ACM technical symposium on computer science education (SIGCSE), Dallas, TX, USA.
Blikstein, P. (2015). Computationally enhanced toolkits for children: Historical review and a framework for future design. Foundations and Trends in Human-Computer Interaction, 9(1),1-68.
Bloomboard. (2014, Febrary 16). Selecting appropriate tools for computational thinking. Retrieved from https://microcredentials-static.s3.am azonaws.com/402/SelectingAppropriateToolsforCT.pdf
Brasiel, S., Close, K., Soojeong J., Kevin L., Phil, J., & Taylor, M. (2017). Measuring computational thinking development with the FUN! tool. Emerging Research, Practice and Policy on Education, (4):36-48.
Brennan, K., & Resnick M. (2012). New frameworks for studying and assessing the development of computational thinking. Mark. J. eds. Procedings of AERA 2012. Vancouver, BC, Canada.
Bundy, A. (2007). Computational thinking is pervasive. Journal of Scientific and Practical Computing, (1):67-69.
Carnegie Mellon University Center for Computational Thinking. (2011, October 20). Computational Thinking For Everyone. Retrieved from http://www.cs.cmu.edu/CompThink/CTforeve.html
Christopher, H. C. (2011). Assessing the impact of computer programming in understanding limits and derivatives in a secondary mathematics classroom. Middle-Secondary Education and Instructional Technology, (12):70-79.
College Board. (2014, March 18). AP computer science principles draft curriculum framework. Retrieved from https://advancesinap.collegeboard.org/stem/computerscienceprinciples/AP computer science principles.html
Computing at School. (2015, June 8). Computational thinking: A guide for teachers. Retrieved from https://community.computingatschool.org.uk/resources/2324/Computa-tional_Thinking_A_Guide_for_Teachers.html
Cuny, J., Snyder L., & Wing J. M. (2010, Feburary 18). Demystifying CT for noncomputer scientists. Retrieved from http://www.cs.cmu.edu/comp think/resources/wing.pdf
Czerkawski, B. (2013). Instructional design for computational thinking. In R. McBride & M. Searson (Eds.), Proceedings of Society for Information Technology & Teacher Education International Conference 2013(pp. 10-17). Chesapeake, VA:AACE.
Denning, P. J. (2009). The profession of it beyond computational thinking. Communications of the ACM,52(6):28-30.
Denning, P. J. (2017). Remaining trouble spots with computational thinking, Communications of the ACM,60(6):33-39.
González, M. R. (2015). Computational thinking test: Design guidelines and content validation //Proceedings of EDULEARN15 conference, 2015:4203-4329.
González, M. R. (2017). Complementary tools for computational thinking assessment. In macard, H. Ed. Proceedings of International Conference on Computational Thinking Education,(7):228-242.
González, M. R., González, J. C. P., Fernández, C. J. (2016). Which cognitive abilities underlie computational thinking? Criterion validity of the Computational Thinking Test. Computers in Human Behavior,10(8):47-59.
Grover, S., Pea, R. D. (2017, December 10). Computational thinking: A competency whose time has come. Retrieved from https://www.researchgate.net/322.html
Hayes, J. R. (1985). Three problems in teaching general skills. In S. F. Chipman, J. W. Segal, & R. Glaser (Eds.), Thinking and learning skills: Research and open questions, 2, 391-406. Hillsdale, NJ: Erlbaum.
Hu, C. (2011). Computational thinking: What it might mean and what we might do about it. Proceedings of the 16th annual joint conference on innovation and technology in computer science education. Darmstadt, Germany: ACM.
Ioannidou, A., Bennett, V., Repenning A., Han K. K., & Basawapatna, A. (2011). Computational thinking patterns. Division C of proceedings of AERA 2011, Colorado America.
Jones, E. (2011, October 28). The trouble with computational thinking. Retrieved from http://www.creader.com/news/trouble.html
Koh, K. H. (2017, June 12). Real time assessment of computational thinking. Retrieved from http://www.academia.edu
Kong, S. C. (2016). A framework of curriculum design for computational thinking development in K-12 education. Journal of Computers in Education,3(4),377-394.
Korkmaz, ?., ?akir, R. M., & ?zden, Y. (2015). Computational Thinking Levels Scale (Ctls) adaptation for secondary school level. Gazi Journal of Education Sciences,1(2):143-162.
Korkmaz, ?., ?akir, R. M., & ?zden, Y. (2017). A validity and reliability study of the computational thinking scales. Computers in Human Behavior. Volume 72 Issue C,(7):558-569.
Korucu, A. T., Gencturk, A. T., & Gundogdu, M. M. (2017). Examination of the computational thinking skills of students, Journal of Learning and Teaching in Digital Age,2(1),11-19.
Kotsopoulos, D., Floyd, L., Khan, S., Namukasa, I. K., Somanath, S., Weber, J. & Yiu, C. (2017). A pedagogical framework for computational thinking. Digital Experiences in Mathematics Education,3(2),154-171.
León, M., J., Robles, G., & Román, M. (2015). Dr. Scratch: Automatic analysis of scratch projects to assess and foster computational Thinking. Revista de Educación a Distancia,(6):30-46.
Linn, M. C., Fisherand, C. W., & Dolbey, J. The effects of learning to program and learning from cognitively demanding software [R]. Berkeley, C. A. : University of California,1983.
Lu, J. J., & George, H. L. (2009). Thinking about computational thinking. SIGCSE09, March 3-7, 2009, Chattanooga, Tennessee, USA.
Ota, G., Morimoto, Y., & Kato, H. (2016). Ninja code village for scratch: Function samples/function analyser and automatic assessment of computational thinking concepts. In VL/HCC, 2016 IEEE Symposium on (pp. 238-239).
Pea, R. D., Kurland, D. M., & Hawkinsand, J. (1987). LOGO and the development of thinking skills. Norwood N. J., USA:Ablex Publishing Corp.
Piaget, J. (1972). Psychology and epistemology: Towards a theory of knowledge. London: Oxford University Press.
Psycharis, S., & Kallia, M. (2017). The effects of computer programming on high school students reasoning skills and mathematical self-efficacy and problem solving. Instructional Science, 45(7):583-602.
Repenning, A., Webb, D., & Ioannidou, A. (2010). Scalable game design and the development of a checklist for getting computational thinking into public schools. Papers presented at the To appear in the proceedings of the 2010 ACM SIGCSE conference, Milwaukee, WI.
Seiter, L., & Foreman, B. (2013). Modeling the learning progressions of computational thinking of primary grade students. Proceedings of the ninth annual international ACM conference on international computing education research, Pages 59-66 , San Diego, San California, USA.
Selby, C., & Woollard, J. (2013, October 18). Computational thinking: The developing definition. University of Southampton. Retrieved from https://eprints.soton.ac.uk/356481/ddus.html
Shute, V. J., Sun, C., & Clarke, J. A. (2017). Demystifying computational thinking. Educational Research Review,(9):1-17.
Snow, E., Katz, I., Tew, A. E., & Feldman, J. (2012). Assessing computational thinking. NSF-CE21 community meeting, Washington, D. C. February 2-3, 2012.
Snow, E., Tate C., Rutstein D., & Bienkowski, M. (2017, October 12). Assessment design patterns for computational thinking practices in exploring computer science. Menlo Park, CA: SRI International. Retrieved from http://pact.sri.com/resources.html
Solso, R. L., MacLin, M. K., & MacLin, O. H.. (2010). Cognitive psychology. Washingtown: Wadsworth Publishing.
Sternberg, R. J., & Swerling L. S. (1996). Teaching for thinking: Becoming smart learner. Newyork: American Psychological Association.
Valentina, D., & Futschek, G. (2008). Bebras international contest on informatics and computer literacy: Criteria for good tasks. Informatics Education Supporting Computational Thinking, (7):19-30.
Werner, L., Denner, J., Campe, S., & Kawamoto, D. C. (2012). The fairy performance assessment: Measuring computational thinking in middle school. In Proceedings of the 43rd ACM technical symposium on computer science education. ACM, pp. 215-220.
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 28(9):23-28.
Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical Transactions of the Royal Society, 10(4):3717-3725.
Wing, J. M. (2014, January 10). Computational thinking benefits society. Retrieved from http://socialissues.cs.toronto.edu/D29.html
Wing, J. M. (2016, March 24). Computational thinking, 10 years later. Retrieved from https://www.Microsoft.Com/Res/CT.html
Wing, J. M. (2017). Computational thinkings influence on research and education for all. Italian Journal of Educational Technology, 25(2),7-14.
Wojcicki, E. (2015, January 2). Dash and dot: The best toy to teach computational thinking. Retrieved from https://www.huffingtonpost.com/esther-wojcicki/dash-and-dot.html
Yadav, A., Mayfield, C., Zhou, N., Hambrusch, S., & Korb, J. T. (2014). Computational thinking in elementary and secondary teacher education. ACM Transactions on Computing Education, 14(1):1-16.
Zhong, B., Wang, Q., Chen, J., & Li, Y. (2012). An exploration of three-dimensional integrated assessment for computational thinking. Educational Research Review, (10):18-27.
收稿日期:2018-08-18
定稿日期:2019-01-10
作者簡介:史文崇,硕士,副教授;刘茂华,博士研究生,讲师;杨大志,博士研究生,讲师。河北科技师范学院数学与信息科技学院(066004)。
责任编辑 单 玲