作者简介:陈鹏,博士研究生,北京师范大学智慧学习研究院,首都师范大学教育技术系(北京100048);黄荣怀,博士,教授,博士生导师,北京师范大学智慧学习研究院;梁跃,硕士研究生;张进宝,博士,副教授,硕士生导师,北京师范大学教育学部(北京100875)。
引用:陈鹏,黄荣怀,梁跃,张进宝(2018).如何培养计算思维——基于2006-2016年研究文献及最新国际会议论文[J].现代远程教育研究,(1):98-112.
一、计算思维的概念及内涵
2011年,美国国际教育技术协会(InternationalSocietyforTechnologyinEducation,ISTE)与计算机科学教师协会(ComputerScienceTeachersAssociation,CSTA)联合提出了计算思维的操作性定义,将运用计算思维进行问题解决的过程进行了表述。此定义将计算思维界定为问题解决的过程。在这个过程中,先形成一个能够用计算机工具解决的问题,然后在此基础上逻辑化组织和分析数据,使用模型和仿真对数据进行抽象表示,再通过算法设计实现自动化解决方案;同时,以优化整合步骤、资源为目标,分析和实施方案,并将解决方案进行总结,迁移到其他问题的解决中(ISTE&CSTA,2011a)。英国皇家科学院将计算思维定义为“识别我们周围世界中有哪些方面具有可计算性,并运用计算机科学领域的工具和技术来理解和解释自然系统、人工系统进程的过程”(RoyalSociety,2012)。这一定义的核心在于发现各种不同类型、不同层次计算问题,以及通过计算机技术和工具对人工和自然系统进行剖析和理解。
综上所述,目前关于计算思维的定义虽然并没有形成较为统一的定义,但在进行计算思维的阐释时,很多学者都描述了计算思维的主要构成元素。学者们对要素的意见都较为一致,综合来看,主要包括抽象、概况、分解、算法、调试等(Angelietal.,2016)。同时,关于计算思维的内涵,大部分学者较为认可周以真教授的观点,即“概念化,不是程序化;根本的,不是刻板的技能;是人的,不是计算机的思维方式;数学和工程思维的互补与融合;是思想,不是人造物;面向所有的人,所有地方”(Wing,2006)。
二、计算思维的教育价值
开展计算思维教育有助于提高学生信息技术知识与技能,培养学生跨学科、综合应用学科知识解决问题的能力,提高学生的内驱力和创新力。美国麻省理工学院的HalAbelson教授在CTE2017会议上指出,教育者越来越强调计算思维对年轻人的重要性。计算思维包括的不仅仅是技能知识,对计算思维的支持也使赋予数字化世界生命的计算理念得到尊重,对计算理念的认同也使得计算活动成为可能,年轻人也可以由此通过计算思维来改善他们的生活、家庭与社会。作为教育者,我们有责任让学生意识到这些可能,并去帮助他们成为不断变化的信息时代的合格公民(Abelson,2017)。香港溢达集团董事长杨敏德女士也在CTE2017会议上从整个社会和企业的发展、创新与创造力的角度谈到计算思维教育。她认为创新与创造是驱动各地区向知识型社会转型的重要理念与策略,也是当前社会和企业发展的核心要素。如何将每个人尤其是年轻一代培养成为更具创造力与创新能力的人是这个社会的重大责任和关键问题。杨女士认为计算思维不仅仅是一种技术型的技能,更是一种分解与整合不同思想、针对某问题形成实际解决方案的基本能力(Yang,2017)。
三、计算思维教育政策及投入
2016年1月,美国推出“为了全体的计算机科学”(ComputerScienceforAll,简称CSforAll)计划,预计投入40亿美元和1亿美元分别资助各州以及学区推进K-12计算机科学教育①。同年,美国自然科学基金委(NationalScienceFoundation,NSF)与国家与社区服务公司(CorporationforNationalandCommunityService,CNCS)宣布为计算机科学教育研究提供可用资金1.35亿美元。2016年11月,最新版的美国《K-12计算机科学框架》发布,提出新时期美国K-12计算机科学教育的发展愿景及实现路径,明确了计算系统、网络和互联网、数据和分析、算法和编程、计算的影响等五大核心概念,提出了创建全纳的计算文化、通过计算开展合作、识别和定义计算问题、发展和使用抽象思考、创造计算产品、测试和改善计算产品、计算的沟通等七大核心实践,以及计算机科学和学前教育重要理念的整合途径(卢蓓蓉等,2017)。2018年,NSF将以支持CSforAll为依据,单独为计算机科学教育设置支出项目,每年投入2000万美元(NSF,2018)。
英国政府2013年11月发布了国家计算课程的目标框架,以计算思维的核心概念和主要内容为基础,提出课程培养的四段目标;在基础教育阶段,发展学生的分析问题、解决问题、设计和计算思维技能,并使其能应用这些技能(U.K.,2013)。同年,英国对计算机协会(BCS)投资1100万英镑,帮助其发展一项提高小学教师计算机能力的项目,以确保小学计算机教师的授课能力。2016年12月,在欧洲委员会和布鲁塞尔DigitalEurope推出的数字技能和工作联盟的推动下,Oracle公司提出将在三年内投入14亿美元,用于支持欧洲的计算机科学教育②。
新西兰当前的“技术背景知识和技能”(TechnologicalContextKnowledgeandSkills)计划中强调了包括“编程与计算机科学”在内的五项数字技术核心培养内容,这一计划从2011年开始在中学课程中实施(MinistryofEducationofNewzealand,2009)。
新加坡政府推动“Code@SG运动”发展全民计算思维,实现计算思维的常态化。新加坡与其他国家不同之处在于,计算课程非必修,主要面向有编程兴趣的、适龄的学生(SingaporeGovernment,2014)。
澳大利亚于2012年推出“中小学技术学科课程框架”(TheShapeoftheAustralianCurriculum:Technologies),将“数字素养”纳入学生基本能力要求。框架指出数字技术课程的核心内容是应用数字系统、信息和计算思维创造满足特定需求的解决方案(ACARA,2012)。
四、计算思维教育的研究与实践
虽然计算思维的研究始于1980年,但从2006年起,计算思维在教育中的应用研究才逐渐增多,其研究领域从计算机学科到人文学科,从基础教育到高等教育,从个人实践到政府政策,从单个学校到整个地区或国家。
1.计算思维教育等同于编程教育吗
信息技术课程是计算思维教育的一种重要方式。通过信息技术课程,学生可以了解计算思维运作的属性与法则,建立计算思维的概念结构等,但是计算思维的培养不仅仅局限于信息科学课程。2015年,美国总统奥巴马签署《STEM教育法令》(扩展版)(U.S.,2015),将计算机科学纳入美国教育的发展战略。美国计算机教师协会(CSTA)定义的中小学计算机科学标准在小学、初中、高中三个阶段均倡导了计算思维与社会、语言艺术、数学与科学等课程的整合。
美国范德堡大学的GautamBiswas教授(2017)认为,尽管目前已经发现计算思维与STEM教育之间的协同效应,但对计算思维的领域共性与科学表示的领域特性之间的互换协调与探索,是教育领域的重大挑战。为了在STEM与计算思维学习中缩减这一差距,他们开发了基于计算机的学习环境——CTSiM,采用计算思维的仿真与建模方法,开展K-12的科学教育。CTSiM为构建具有可执行性的计算模型提供了一个基于主体、特定领域的可视化编程界面,同时能让学生使用模型进行模拟操作,并与专家模型进行比较。通过对田纳西州中部公立学校六年级学生的初步研究证明,CTSiM能够帮助学生克服困难,同时让学生在此环境中对科学现象进行学习并独立建模(Basuetal.,2013)。
Swanson等人在NetLogo模型支持的、具备丰富计算环境的科学课程中,研究该类课程对于发展学生计算思维能力的效果(Swansonetal.,2017)。课程由3名9年级的生物教师讲授,133名高中学生持续一个学年参与课程。在课程中对学生进行前后测,并根据评价量规进行编码和评分,以评价他们在建模和仿真实践两个学习目标上的知识掌握程度和目标实现情况。研究结果表明,这类具有丰富计算环境的科学课程能有效地提升学生的模型识别能力。
Pollack等人基于Equation-BasedModel(EBM)开展通过计算机仿真描述物理现象的课堂教学(Pollacketal.,2017)。研究对课程的期末项目进行了分析,并认为该教学法对于学生的意义学习以及掌握课程中所涉及的计算思维具有一定潜力。
Hutchins等人以在物理课堂中完成一个Scratch项目为任务,通过前后测来分析40名高中学生在计算思维学习过程中的自信水平(Hutchinsetal.,2017)。结果发现在计算思维的“抽象、控制流、分解和条件逻辑”这四个维度上男生较女生的自信水平高,但这种自信水平的差异对完成建模任务并没有显著性影响。
可见,在非信息技术学科课程中,将培养计算思维作为课程的重要目标之一已经被越来越多的教师和研究者们所认可,他们也纷纷通过实践来验证这一目标的可行性和意义。显然,计算思维教育虽然需要信息技术课程进行专业支持,但不能限制于信息技术课程之中,整合学科、综合课程同样是发展学生计算思维的重要途径。
2.从什么阶段开始培养计算思维
(1)高等教育阶段的计算思维培养
(2)K-12教育阶段的计算思维培养
我国在K-12教育阶段计算思维培养的研究中,理论研究与实践研究所占比例较为相近。在理论研究中,一些专家学者主要探讨了在计算思维理念和培养目标之下,基础教育阶段信息技术课程的核心价值和主要任务以及在中小学信息技术教育中引入计算思维、培养学生计算思维的重要性。任友群等(2016)指出,“中小学信息技术课程是信息技术教育的基本途径,应当顺应时代特征,承担起发展学生计算思维的重要任务。”信息技术基础教育专家李冬梅认为“中小学信息技术教育的学科价值除了让学生掌握必要的知识与技能外,更重要的是培养学生运用这些知识和技能解决实际问题的能力。而要做到这一点,就一定要让学生逐渐熟悉信息技术学科的思维方式”(刘向永等,2013)。
在实践研究方面,我国学者主要采用将计算思维融入现有课程中的方式,与某种特定的教学方法或教学模式结合,如PBL、合作学习、任务驱动等,创建计算思维教学的案例(牟琴等,2011;葛明珠,2014;生诗蕊,2016)。在高中信息技术课程中,研究者主要采用将计算思维与现存的Flash制作、程序开发基础等课程相融合,改变原有的教学方式,重新设计教学活动和教学过程,以培养学生的计算思维(杨男才,2013;李静,2015);在小学阶段,则较多的采用游戏化教学的方式,使用可视化编程工具如Scratch、AppInventor等,提升学生的学习兴趣,培养学生一些简单的计算思维能力(赵兰兰,2013)。
(3)学前教育阶段的计算思维培养
计算思维是现代社会中每个人应该必备的技能,计算思维教育需要针对不同人群采用不同的教育方法,引导其体验信息技术的应用情境,理解信息社会生活方式,感受现实生活中计算思维的真实存在,逐步培养学生利用信息技术思考和解决问题的方式与能力。
3.如何评价计算思维
计算思维的评价对计算思维在实践中的应用效果研究有重要价值,同时也影响着计算思维领域研究的发展。Schwarz等人采用一系列的方法来评价计算思维,如前后测问卷、反馈性访谈以及学生课堂交互观察等(Schwarzetal.,2009);Repenning等人设计了基于搬运工游戏的五个问题情境来真实地评价学生的计算思维能力(Repenningetal.,2010);Fields等人通过学生调试预先编辑的错误程序来检验他们的工程和编程技能水平(Fieldsetal.,2012);Werner等人在研究中使用了一个基于Alice平台的“仙女评价”系统,通过学生自创的或者程序作品草图设计来评价学生对于抽象、有条件限制的逻辑、算法思维以及其他用来解决问题的计算思维概念的理解和使用(Werneretal.,2012);Dorling和Walker等人开发了一个“计算发展路径”框架,阐述了学生在学习算法、信息技术等概念时的基本路径,该框架所涉及的概念与计算思维的核心概念相一致(Dorlingetal.,2014)。
综上所述,常见的计算思维测评方式和工具有以下几种:
(1)计算思维总结性评价测试
主要包括基础编程能力测试(Mühlingetal.,2015)和计算思维知识内容测评,例如Meerbaum-Salant等人提出的基于Scratch教学情境的评价工具(Meerbaum-Salantetal.,2013);以及那些以计算思维为核心的计算机课程中,用于测试学生对计算概念理解程度的测评工具。
图1CTt迷宫测试题(Román-Gonzálezetal.,2017)
(2)计算思维形成性迭代测试
计算思维形成性迭代测试工具通过在特定的编程环境中,自动为学生提供反馈信息的方式来帮助学生提升计算思维技能。常见的计算思维形成性迭代测试有Scratch环境下的Dr.Scratch(Moreno-Leónetal.,2015)和NinjaCodeVillage(Otaetal.,2016),Grover等人(Groveretal.,2016)为Blockly研发的工具,以及适用于AgentSheets的计算思维模式CTP图形(Kohetal.,2010)。
图2“捉迷藏”(“catchmeifyoucan”)的源代码⑤
(3)计算思维技能应用测评
(4)计算思维编程效能感测评
江绍祥教授(Kong,2017)将计算思维与心理学研究相结合,开发并验证了一个面向小学高年级学习者的编程自我效能感量表。该量表适用于模块化编程环境,由两个分量表组成,分别针对学习者的两方面能力:编程知识和编程技能。研究者通过对106名参与编程课程的小学生进行在线问卷调查,证明量表的信度良好、有效性高,能够较好地测试小学高年级学生的编程自我效能感。
研究者认为单独使用上述任何一种测评工具,对学生计算思维能力发展的理解都会有所偏差。Brennan和Resnick提出,单看学生编写的程序,并不能体现他们的计算思维能力。他们强调多种测评手段并用的必要性,并提出基于计算思维3D框架的三种评价学生计算思维发展水平的方法,即作品分析、基于作品的访谈以及基于情境的设计(Brennan&Resnick,2012)。同时,Grover等人(2014)也指出实现对学生计算思维的全方位理解,必须系统融合多种补充测评工具(也称为“系统性测评”)。Román-González等人对三种不同视角和倾向的计算思维评价工具(CTt、Bebras和Dr.Scratch)进行了聚合效度分析,得出三种测试具有部分聚合度,整合三种测试方式能很好地对中学生的计算思维进行测评(Román-Gonzálezetal.,2017)。
总的来说,当前关于计算思维教育的评价,主要是通过对程序与学生学习的过程进行分析,方法包括计算思维知识测试、程序分析、自我效能感测试、针对问题解决过程的访谈等。计算思维评价不是单一的考查。如何综合多种评价工具,进行计算思维系统性评价的研究将是未来该领域的研究重点。
4.计算思维教育需要什么样的教师
黎巴嫩国际教育协会负责人ElianeMetni15年来融合教师专业发展以及基于设计的研究,在黎巴嫩开展了“Code-Maker”计划,以创新的教学方法和低成本的RaspberryPi(树莓派)技术为基础,邀请教育工作者及其学生生成知识并构建解决方案,以更广泛地改善教学服务(Metni,2017)。
Fields等人对教师的教学过程进行了研究,分析一个为期30~40小时的高中电动纺织单元的教师课程开展全过程(Fieldsetal.,2017)。研究通过对研究者记录的课堂观察笔记、教学图片、教学过程视频、课程前后的教师访谈以及教师的日常教学反思等文本进行分析,从三个关键内容,即问题解决策略、迭代以及抽象和具体的计算之间的衔接来分析教师是如何在课堂中引入计算思维的。研究认为,教师的学科教学知识对于教师帮助学生将计算思维落地是十分重要的。
五、计算思维教育面临的问题与挑战
1.缺乏培养体系与教育标准
从国际上认可度较高的中小学计算思维教育框架中发现,中小学教学中的计算思维主要有以下特点:(1)基础性。中小学阶段的计算思维内涵较为简单,包含的主要是一些基础性内容,符合中小学的学习情况和认知特点。(2)阶段性。由于中小学不同阶段的学生具有不同的特点,因此现有框架大都根据不同年级的特点阶段性地对计算思维的内涵进行界定,并设计了阶段性的教学目标。(3)知识指向性。中小学阶段的计算思维内涵与广义的计算思维内涵不同。由于要面向教学实践,所以大多数界定都具有一定的知识指向性,此有利于计算思维教育的落地。因此对于政策制定者和研究者而言,根据计算思维的核心内容,结合我国实际国情和学生能力水平,制定不同学段的计算思维培养标准框架和知识体系,为教育实践提供完整的指导方案和操作内容,是当下首先要解决的问题。
2.缺乏计算思维培养的创新教学模式
相对国外大量的教育实践研究来说,国内目前对计算思维教育的研究以理论探索为主,专家学者主要探讨在计算思维理念和培养目标之下,基础教育阶段信息技术课程的核心价值、主要任务以及在中小学信息技术教育中引入计算思维、培养学生计算思维的重要性。
在实践检验中,现有研究主要以高等教育为主,大部分面向高等教育中的程序设计课程,少部分研究针对基础教育阶段的信息技术课程,且学者主要采用将计算思维融入现有课程中,与原有特定的教学方法或教学模式结合,缺乏计算思维教育的实证研究检验,计算思维培养的效果不明显。借鉴国外的大量实证研究,在计算思维培养的标准框架指导下,由理论研究转向教学实践研究,探索计算思维的教学模式和教学效果,采用准实验研究、行动研究以及观察、访谈、个案分析、作品分析等研究方法,开展计算思维教育实践活动、策略及评价的研究,是研究者们面临的重要挑战。
3.教师信息技术专业素养不够
培养计算思维,教师的能力和素养起着关键性的作用。目前,我国高中100%开设了信息技术课程,且信息技术课的实施环境得以持续改善,高中信息技术课教师的规模和专业知识技能都有了大幅提升。但是随着计算思维的纳入和国务院《新一代人工智能发展规划》对中小学开设人工智能课的要求,如何进一步提高教师的专业素养也是当前迫切需要解决的问题。因此,当下应完善教师培训制度,开发计算思维培训课程,通过在线课程的方式,根据不同地区差异,开发符合计算思维教育课程目标与评价指南的教学单元,扩大教师培训的范围;通过面授的方式进行深度教学,探讨计算思维培养过程中的问题,帮助教师更好掌握如何开展计算思维培养的教学实践。
4.缺乏对计算思维教育研究的支持
六、计算思维教育的未来发展
1.创新学习方式,跨学科综合培养计算思维
2.综合多种评价工具,进行系统性评价研究
设计与课程内容相适应、可操作的能力评估方法和工具是实现课程目标的重要保障。当前我国计算思维还没有完整的评价体系,也鲜有研究对计算思维进行评价,具体的培养效果不能很好地用量化方法来测量。教师在教学实践过程中如何对计算思维进行评价,是计算思维教育未来研究的一大趋势。