国外K-12阶段计算思维培养路径发展综述

2020-09-02 06:31查飞琴吴伟敏
软件导刊 2020年8期
关键词:计算机科学编程技能

查飞琴 吴伟敏

摘 要:回顾国外K-12阶段计算思维教学相关实证研究,并在此基础上探讨计算思维教育研究前景。采用关键词检索对网络数据库进行系统检索,共收录34篇SSCL期刊实证类论文。研究考察因素包括参与者年级或年龄、样本组、教学策略、教学工具、编程语言、研究内容。研究结果表明,相关研究内容可归为4个主题:采用某个软件或课程培养学生计算思维、以提升吸引力为主的可视化少儿编程课程、开发量表或工具评价计算思维、从变量角度分析计算思维技能组成部分。

关键词:计算思维;教学活动;K-12;培养方式

DOI:10. 11907/rjdk. 192367 开放科学(资源服务)标识码(OSID):

中图分类号:TP434文獻标识码:A 文章编号:1672-7800(2020)008-0281-04

Abstract: This paper aims to review foreign empirical studies on the teaching and learning of computational thinking in k-12 stage, and discuss the future research prospects of CT education on this basis. A total of 34 empirical papers of SSCL journals were included in the systematic retrieval of online database by keyword retrieval. Each paper focuses on the following factors: participant grade or age, sample group, teaching strategies, teaching tools, programming language, and research content. The research results show that the research content of the thesis can be classified into the following four topics: adopting a certain software or course to cultivate students computational thinking; Visual children programming courses focusing on improving attractiveness; Develop a scale or tool to evaluate computational thinking; Analyze the components of computational thinking skills from the perspective of variables.

Key Words: computational thinking; teaching activities; K-12 course; cultivating way

0 引言

计算思维(Computational Thinking,CT)是一种解决问题的方法,其应用贯穿于整个K-12课程。将CT整合到传统核心和选修科目中可帮助学生建立跨课程联系,提高学生学习成绩,有利于其技能培养和未来职业发展。随着CT的普及,其与学科相关性越来越明显,很多国家和机构将其纳入课程,CT对学生未来发展与教学方式多样性的影响愈加明显。

本文围绕“如何培养K-12阶段孩子们的计算思维”、“怎样把计算思维融入到其它学科中”、“计算思维与编程、程序设计的关系”等问题,对目前国外教学机构如何展开计算思维教与学进行描述和总结,希望通过总结国外K-12培养计算思维的教学方式和应用实践,为我国计算科学发展提供借鉴,指导我国教育工作者、研究者更好地开展中小学生计算思维训练与培养。

1 研究回顾

计算思维由周以真[1]于2006年在《Computational Thinking》中首次提出。Grover&Pea[2]在此基础上,总结计算思维研究进展及研究者如何解释周以真提出的定义;Lye& Koh[3]从编程学习的角度探究K-12阶段学术计算思维培养与教学方法。论文对现有27项干预研究进行分析,指出基于程序设计的计算思维发展实证研究发展趋势与指导意义,并在教学策略方面,提出基于建构主义的学习环境建构与反思活动,以培养学生计算实践与计算观点;Brown& Sentence[4]提到英国计算机科学变革明确将计算机科学作为5岁儿童必修课,虽然地区间改革进度不一样,但均取得一定进展。随着近年机器人课程逐渐与CT教学交叉,Xia&Zhong[5]针对机器人技术如何被纳入K-12课程、哪些干预方法在教学和学习机器人内容知识方面有效等问题,结合22篇SSCI期刊论文进行研究,以样本组、持续时间、机器人类型、机器人内容知识、研究类型、干预方法、测量工具为主要考察因素,为机器人教学提供了指导建议;Hsu& Chang[6]认为 CT主要应用于程序设计和计算机科学活动,通过编码分析发现大多数研究在CT活动中采用基于项目的学习、基于问题的学习、合作学习和基于游戏的学习,并与其它学科有交叉联系。为了解学习编码的学生是在学习编码和计算思维,还是通过编码过程学习其它技能,Popat& Starkey[7]回顾了相关研究,对儿童接受编码教学的成果进行分析。结果发现,学生通过编码教学可学习或实践一系列其它教育内容,包括数学问题解决、批判性思维、社交技能、自我管理和学术技能。

综上所述,国外教育关注建立计算思维与不同学科之间的关联,试图打破计算思维理念的边缘化,使计算思维融入普通必修课程。积极探索学习编程语言以外的教学工具,尝试从更具体的角度分析计算思维内涵,研究内容不仅包括如何展开计算思维教学活动,还逐步关注如何评价计算思维,试图建立一个完整的评价体系。

总结已有计算思维教学活动,本文针对近10年计算思维研究成果进行评述,讨论近年国外展开思维教学与实践的方式,包含使用何种教学工具、与哪些学科交叉融合及相应课程形式。

2 研究设计与方法

2.1 纳入纳出标准

相较于已有分析,本文在筛选文献时不限年级、学科,不对具体教学软件或硬件进行区分。具体来说,本文研究文獻纳入的标准为:①必须是围绕计算思维怎样展开教与学的研究,即教学过程中涉及的教学方法、教学工具、策略、应用课程等;②研究对象为中小学生及幼儿,大学生和成人不予考虑;③文献必须是实证类论文,综述类论文不纳入考虑;④2019年之前正式发表的研究。

2.2 文献筛选与检索

本文选取在Web of Science的SSCI上搜索核心期刊中关于“computational thinking”的相关文章。检索日期为2006—2018年。共检索出113篇文献。排除与研究主题无关的48篇文献,剩余65篇;再排除31篇叙述性论文、非实证性论文和综述类论文,剩余34篇为本文研究文献。

2.3 文献编码与效应量提取

本文编码项分为4类:①描述性变量,主要包含第一作者与其所在国家、发表期刊名称及发表年份;②研究问题项,即对该篇论文研究问题进行提炼和总结;③教学情境项,主要包含年级或年龄、样本量大小、主题或科目、教学策略、教学时长、学习媒体或教学工具、编程语言、学习情境:正式教学或非正式教学;④研究方法项,主要包括研究设计方法、数据收集方法、数据分析方法。

3 研究结果

在统计的34篇文献中,通过仔细阅读全文,将研究主题分为以下4种;①实施某个软件或课程以培养学生计算思维;②以提升吸引力为主的可视化少儿编程;③开发某个量表或者工具评价计算思维;④从变量角度分析计算思维技能组成部分。

(1)采用某个软件或课程以培养学生计算思维。经文献统计后可知,一半的研究主题是通过开展某个课程或软件学习以培养学生计算思维,但研究对象和课程性质划分不一致。如 Israel[8]的研究目的是调查具有有限计算机科学经验的小学教师如何在高需求学校中将计算思维融入教学,教师在计算机科学课程中引导学生学习Etoys和Scratch两种编程语言,实验者在不同的教学环境(课堂、图书馆、艺术馆)下展开教学活动;Snodgrass[9]主要研究特殊儿童如何展开计算能力的学习,实验对象为两名残疾儿童,采用一对一的教学方式指导他们学习编程语言,以此得出残疾儿童应该且可以参与计算机科学相关学习的结论;Filiz[10]为了解小学生在解决问题时反思性思维技能方面是否存在性别差异,在编程课程在线教学中,通过反思性思维技能量表分析性别差异;Basogain[11]根据拉丁美洲初中和美国高中实施的PC-01(计算思维导论)和ECE130(计算机思维与编程导论)两门课程,讨论将CT融入课堂学习环境的好处,并介绍了两门课程教学大纲,分析了这两门课程对教育机构、教师和学生的影响。

虽然研究主题一致,但学者们尝试从不同角度探究计算思维教学方式。在课程设置方面,计算思维作为一种跨学科知识体系,需从计算机科学中分离出来[12]。因此在教师意识、教师培训和资源服务方面需加大投入,以满足实践教学中的需求。此外,由于计算思维大多嵌入在信息技术课程或计算机课程中,原有课程对儿童计算思维培养起重要作用,但原有课程注重技能培养,而计算思维教学实践聚焦于儿童思考方式和问题解决能力培养,因此教师在开展计算思维培养时,需将编程能力、数学思维、工程思维等内在的培养任务合理地安排在中小学信息技术课程中[13-14]。在课程工具方面,针对K-12阶段的学生而言,有效培养计算思维的工具必须包含“低门槛”和“高上限”两个特征,既易于初学者入门,又能很好地促进学生能力发展[15]。可视化编程工具[16-18[和教育机器人[19]是近年教学实践中常用的计算思维培养工具,它们可克服传统计算思维培养方法的枯燥和繁琐,激起学生主动性,使学生突破代码语法的门槛,更加关注创造和设计本身。

(2)以提升吸引力为主的可视化少儿编程课程。一直以来,儿童早期教育课程主要集中在识字和数学方面。近年来,TEM学习和数字化学习受到教育界持续关注[20,教育机构陆续制定了新的技术学习标准,并不断开展将技术融入中小学信息技术教育的相关实践。一些研究者认为早期计算机科学概念经验至关重要,应该普及至学前儿童。关于儿童早期编码和编程课程的研究[21-26]表明,5岁儿童可学习基本编码技能(如排序、条件等)、建立简单的机器人项目。基于以上原因,许多涵盖数字技术应用的课程被引入小学信息技术教学,为了使学生直观、饱含趣味地学习编程,可视化编程工具被广泛运用于教学。如谷歌公司开发的手机编程软件App Inventor、麻省理工学院“终身幼儿园团队”开发的图形化编程工具Scratch和各种在线拖拽编程。

这些可视化编程工具不需要孩子认识较多的英文或汉字,大幅降低了中小学生学习编程知识的门槛,且注重建立程序的过程,利用涂鸦、录音、图片搜索等有趣工具,通过拖拽、拼图设计出小游戏,不需要掌握任何程序编制技术。可视化编程工具已事先将软件代码全部编写完毕,学生只需根据需求添加服务选项,编写简单的代码拼装程序。这类课程旨在以一种有趣的、类似游戏活动的教学方式培养儿童编程能力,同时培养其计算思维技能。虽然大多数编程语言的学习在大学阶段才开始,但在中小学时期教授这些课程,也是一种开拓儿童思维,培养逻辑能力、计算能力的重要方式。

(3)开发某种量表或工具评价计算思维。在本研究收集的文献中,11篇论文的研究主题是开发一个工具或量表进行CT评价。计算思维是运用计算机科学基础概念进行问题求解、系统设计及人类行为理解等涵盖计算机科学广度的一系列思维活动,其本质是抽象化和自动化[1]。因此,如何对抽象思维进行合理评价是当前教学的重要领域。Chen[27]研制了一种用于评估五年级学生CT水平的工具(物理机器人),可用于前测和后测。学生通过对两种类型的CT应用程序(机器人编码和日常事件推理)进行模拟学习,然后进行物理机器人实体操作,使学生体验编程带来的成效,进而理解计算思维这一高阶理念的含义;Roman-Gonzalez[28]利用心理测量方法定义、测量CT 。一方面对学生进行一项声誉思维测试,对其进行描述性统计和信度分析。另一方面对CT信元效度与其它标准化心理测试进行研究,其它心理测试包括初级心理能力和RP30问题解决测试。通过明确CT与相关关键心理理念的关联,为CT作为一种解决问题能力的概念化性质提供证据;Zhong[29]设计了三维综合评估(TDIA)框架对CT进行评价,通过对学生实施3对任务:封闭式正向任务和封闭式逆向任务、半开放式正向任务和半开放式逆向任务、开放式任务有创意设计报告与开放式任务没有创意设计报告,利用TDIA评价学生在不同任务情形下的计算思维能力。

计算思维的本质之一是抽象化,注重学生运用计算机科学知识进行问题求解并理解人类的行为。因此,计算思维培养不同于计算机技能操作和计算机理论学习,其评价需包括学生在计算活动中的行为过程、能力变化及思维转变等各方面,涉及知识、技能和态度。评价者需根据学生学习过程中的表现,将其放在不同维度的指标上,考虑个体在不同学习情境中的反应,尽可能全面展现学生在学习过程中的发展情况和细节表现,从而真实而有效地反映学生计算思维水平。

(4)从变量角度分析计算思维技能的组成部分。早期,计算机科学被认为是计算机科学家必须掌握的一种技能,但目前这种认识已发生改变,尤其是Wing(2006)认为计算机是每个人应掌握的基本能力之一,如同阅读、写作和算术一样。该主题从计算思维的概念和含义出发,分析计算思维技能与哪些因素相关。Durak[30]试图分析哪些变量可解释计算思维,因此建立一个模型预测、解释计算思维各种技能与各个变量之间的关系,研究发现,计算思维能力被预测为3个方面:思维方式、数学课堂上的学术成就、反对数学课堂的态度;Kong[31]以Seymour Papert“通过掌握编程赋予学生权力”的观点为基础,将“编程赋予权力”总结为4部分:“意义—聪明”、“影响”、“创造性自我效能”和“编程自我效能”。

通过上述研究发现,“计算思维”不是一个新概念,而是一项重要技能。计算思维技能指学生结合技术获得创造力和解决问题的技能,可培养学术批判性思维能力。因此,在培养学生计算思维技能时需考虑个体对自身認知能力、能力偏向、兴趣动机的差异。计算思维技能培养不是教学内容的调整,还需从个体认知能力出发,关注学生态度、技能和知识,关注性别差异和年龄需求。

4 结语

本文采用系统化综述的方法,对2006—2018年发表的K-12阶段CT实证研究论文进行回顾分析和讨论。结果表明,计算思维活动主要用于艺术、计算机科学、数学、机器人设计等课程,可以看出国外计算思维相关培养与教学基于基本课程的方式,将其整合到不同主题中。这与周以真[26]提出的概念相呼应,即计算思维代表一项普遍的认知和普适的技能。研究者总结了儿童学习计算思维的益处,进行了基于计算机辅助的各种学习策略和教学应用,包括可视化编程(Scratch、Alice、App Inventor)、教育机器人及低成本编码设备(code.org网站)。未来研究应该尝试引入不同的学习策略,包括脚手架式学习策略、讲故事学习、审美体验等,以多种方式帮助学习者进行学科发展或高层次能力培养,如批判性思维和问题解决能力的培养。

综上所述,对我国学生计算思维培养提出以下建议:①在课程设置方面需体现迁移性。在我国,计算思维培养主要依赖信息技术课程,很少关注跨学科应用。因此对原有信息技术课程内容需进行合理调整,是替代已有课程还是开设全新课程,是未来教育学者需思考的问题; ② 扩大培养对象范围。研究结果显示,4岁儿童即可学习基本编码技能(如排序、条件等),而在我国计算思维教学大多在初高中课程中开展,这在一定程度上忽略了年龄优势。如Kong[31]的研究表明,低年级学生比高年级学生更能感受到编程意义。因此,学前儿童计算机科学态度培养至关重要,计算思维培养主要是对人的思维完整性和逻辑性进行训练,在该过程中,可建立一种看待和处理问题的态度[32],让儿童从小养成逻辑性思考方式,在未来接受高阶抽象课程时理解力更强。此外,关注特殊儿童计算思维训练也是不可忽视的教学活动。神经学家的研究表明,虽然特殊儿童在肢体协调、脑部活动上低于常人,但不代表可剥夺其学习权力。相反由于某些方面的缺失,特殊儿童大脑活跃区域异于常人,学习特质也会表现出某方面的突出优势。因此,在计算思维教学活动中应更多地关注残障及儿童的培养,开发其潜在机能,给予他们平等的受教育权利; ③建立合理的评价指标。我国2017版《普通高中信息技术课程标准》将计算思维分为4个等级,且每个等级下的计算思维素养包含不同指标。计算思维作为一种抽象化的概念,对其评价不仅需观察学习者外显行为变化,也要关注其内显意识转变,这涉及知识、态度和技能等多个方面。在未来评价体系中,评价者需根据学生在学习过程中的表现,将其放在不同维度的指标上,考虑个体在不同学习情境中的反应,尽可能全面地展现学生在学习过程中的发展情况和细节表现,从而真实而有效地反映学生计算思维水平。

参考文献:

[1] WING J M. Computational thinking[J]. Communications of the ACM, 2006, 49(3):33-35.

[2] GROVER S,PEA R. Computational thinking in K-12: a review of the state of the field[J].  Educational Researcher, 2013,42(1):38-43.

[3] LYE S Y,KOH J H L. Review on teaching and learning of computational thinking through programming: what is next for K-12?[J]. Computers in Human Behavior, 41, 51-61.

[4] BROWN N C C, SENTANCE S, CRICK T,et al.  Restart: the resurgence of computer science in UK schools[J].  ACM Transactions on Computing Education14(2), 1-22.

[5] XIA L, ZHONG B. (2018). A systematic review on teaching and learning robotics content knowledge in K-12[J].  Computers&Education,2018,127:267-282.

[6] HSU T C, CHANG S C, HUNG Y T. How to learn and how to teach computational thinking: suggestions based on a review of the literature[J].  Computers&Education,2018,126:296-310.

[7] POPAT S, STARKEY L.  Learning to code or coding to learn? a systematic review[J].  Computers & Education, 2019, 128, 365-376.

[8] ISRAEL M, PEARSON J N, TAPIA T, et al. Supporting all learners in school-wide computational thinking: a cross-case qualitative analysis[J].  Computers&Education, 2015, 82, 263-279.

[9] SNODGRASS M R, ISRAEL M, Reese G C.  Instructional supports for students with disabilities in K-5 computing: findings from a cross-case analysis[J].  Computers&Education, 2016,100:1-17.

[10] KALELIO LU F. A new way of teaching programming skills to K-12 students: Code.org[J]. Computers in Human Behavior, 2015,52: 200-210.

[11] BASOGAIN X,OLABE M á,OLABE J C,et al. Computational thinking in pre-university blended learning classrooms[J].  Computers in Human Behavior, 2018,80:412-419.

[12] BARR V,STEPHENSON C. Bringing Computational Thinking to K-12:What is Involved and What is the Role of the Computer Sci-nce Education Community[J]. ACM Inroads,2011,2(1):48-54.

[13] KALELIO LU F. A new way of teaching programming skills to K-12 students: Code.org[J].  Computers in Human Behavior, 2015,52: 200-210.

[14] BASOGAIN X,OLABE M á,OLABE J C,et al. Computational Thinking in pre-university Blended Learning classrooms[J].  Computers in Human Behavior, 2018, 80: 412-419.

[15] 郁曉华,肖敏,王美玲.  计算思维培养进行时:在K-12阶段的实践方法与评价[J]. 远程教育杂志, 2018,36(2):18-28.

[16] SAEZ-LOPEZ J M,ROMAN-GONZALEZ M,VAZQUEZ-CANO E. Visual programming languages integrated across the curriculum in elementary school: A two year case study using《Scratch》in five schools[J].  Computers & Education, 2016,97:129-141.

[17] BASOGAIN X, OLABE M A, OLABE J C, et al (2018).  Computational Thinking in pre-university Blended Learning classrooms[J].  Computers in Human Behavior, 2018,80:412-419.

[18] PELLAS N,PEROUTSEAS E. Gaming in Second Life via Scratch4SL: Engaging High School Students in Programming Courses[J]. Journal of Educational Computing Research, 2016,54(1):108-143.

[19] BERS M U, FLANNERY L, KAZAKOFF E R, et al. Computational thinking and tinkering: Exploration of an early childhood robotics curriculum[J].  Computers & Education, 2014,72:145-157.

[20] GELMAN R, BRENNEMAN K. Science learning pathways for young children[J].  Early Childhood Research Quarterly (Special Issue on Early Learning in Math and Science),2004, 19(1):150-158.

[21] FESSAKIS G, GOULI E, MAVROUDI E. Problem solving by 5-6 years old kindergarten children in a computer programming environment[J].  Computers &Education, 2012,63:87-97.

[22] KARADENIZ S, SAMUR Y, OZDEN M Y. Playing with algorithms to learn programming: a case study on 5 years old children[C].  Sydney: The International Conference on Information Technology and Applications,2014.

[23] KAZAK E R, BERS M U. Put your robot in, put your robot out: sequencing through programming robots in early childhood[J].  Journal of Educational Computing Research, 2014, 50(4), 553-573.

[24] BERS M U,PONTE I, JUELICH K, et al. Teachers as designers: integrating robotics into early childhood education[J].  Information Technology in Childhood Education,2002(1):123-145.

[25] CEJKA E,ROGERS C,PORTSMORE M. Kindergarten robotics: using robotics to motivate math, science, and engineering literacy in elementary school[J]. International Journal of Engineering Education, 2006,22(4):711-722.

[26] KAZAKOFF E,SULLIVAN A,BERS M. The effect of a classroom-based intensive robotics and programming workshop on sequencing ability in early childhood[J].  Early Childhood Education Journal, 2012,41(4):245-255.

[27] CHEN G, SHEN J, BARTH-COHEN L,et al. Assessing elementary students computational thinking in everyday reasoning and robotics programming[J].  Computers & Education, 2017(109): 162-175.

[28] ROMáN-GONZáLEZ M,PéREZ-GONZáLEZ J C, JIMéNEZ-FERNáNDEZ C. Which cognitive abilities underlie computational thinking? Criterion validity of the computational thinking test[J].  Computers in Human Behavior, 2007(72): 678-691.

[29] ZHONG B C,WANG Q Y,CHEN J,et al. An Exploration of Three-Dimensional Integrated Assessment for Computational Thinking[J].  Journal of Educational Computing Research, 2016,53(4): 562-590.

[30] DURAK H Y, SARITEPECI M. Analysis of the relation between computational thinking skills and various variables with the structural equation model[J].  Computers & Education, 2018(116):191-202.

[31] KONG S C, CHIU M M,LAI M. A study of primary school students interest, collaboration attitude, and programming empowerment in computational thinking education[J].  Computers & Education, 2018,127:178-189.

[32] 中華人民共和国教育部制定.  普通高中信息技术课程标准(2017年版)[M]. 北京:人民教育出版社,2017.

(责任编辑:江 艳)

猜你喜欢
计算机科学编程技能
编程,是一种态度
编程小能手
纺织机上诞生的编程
秣马厉兵强技能
拼技能,享丰收
浅谈计算机科学与技术的现代化运用
重庆第二师范学院计算机科学与技术专业简介
画唇技能轻松
浅谈在计算机科学中的创新精神