【GCCIL2022一等奖论文】模块化程序设计教学中计算思维训练的实证研究
来自:华人探究学习学会发布时间:2022年9月1日

陈晓丽

浙江师范大学

电邮:Sherry@zjnu.edu.cn

 王小明

浙江师范大学

电邮:zsdwxm@zjnu.cn

【摘要】 信息2.0时代的到来,要求全体公民都要重视培养计算思维。本研究以现有的理论成果为基础,设计出基于模块化程序设计思想的教学模型。研究采取单组前后测实验,通过一学期的长时跟踪,结果表明,该模型对提升学生计算思维的算法维度、批判性思维、问题解决能力,以及降低认知负荷上有着一定积极的影响,但在提升创造力、协作思维以及自我效能感的影响不存在显著差异。

【关键词】 计算思维、模块化程序设计、Scratch、教学

Abstract: The arrival of the information 2.0 era requires all citizens to pay attention to the cultivation of computational thinking. Based on the existing theoretical achievements, this research designs a teaching model based on the idea of modular programming. The research adopts a single-group pre- and post-test experiment, and through a long-term follow-up of one semester, the research results show that the model has a certain positive impact on improving students' computational thinking algorithm dimension, critical thinking, problem-solving ability, and reducing cognitive load. , but there were no significant differences in the effects of creativity and collaborative thinking and self-efficacy dimensions.
Keywords: Computational thinking, Modular programming, Scratch, teaching

1.引言

计算思维(Computational Thinking)作为新时代教育革新发展的重点关注领域,在近年来出台的各项政策和报告中屡被提及并强调。2010年9月,9所高校共同发布了《九校联盟计算机基础教学发展战略联合声明》,该声明强调,应将计算思维能力的培养作为大学计算机基础教学的核心(何钦铭等,2010)。2013 年英国国家课程标准指出高质量的计算教育需要更加关注计算思维(Aho,2012)。2017年《地平线报告(基础教育版)》指出,计算思维是当今信息社会除阅读、写作、计算之外任何公民应熟练掌握的基本技能(北京开放大学地平线报告K12项目组, 2017)。2018年1月,我国最新实施的高中信息技术课程标准正式将“计算思维”作为信息技术学科的核心素养(中华人民共和国教育部, 2018)。计算思维的提出顺应了信息时代的潮流,也为未来的课程建设及改革提供了新的经验和方法。因此计算思维与实证思维和逻辑思维一同被认为是科学思维谱系中的三大思维模型。近十年来我国计算思维培养的关注点主要聚焦于中小学,特别是高中阶段,而计算思维在高等教育阶段的研究相对较少(张苗苗等,2021)。因此,大学生的计算思维培养的研究显得尤为重要。培养计算思维已成为信息化时代的发展趋势,但如何有效培养计算思维,如何创新计算思维的教学模型是摆在当前教育研究者面前的首要问题(张屹等,2018)。

Scratch是由麻省理工学院媒体实验室(MIT)于 2007 年开发的一款适用于基础编程学习的图形化软件。目前许多中小学教师已经将 Scratch 图形化编程软件引入信息技术课堂来培养学生的计算思维能力,但是在实际教学中,教师往往注重问题解决的结果而忽视学习者解决和分析问题的整个思维过程的变化,学习者创作的作品或者作业成为评判他们计算思维水平的唯一尺度。这种培养模型是只重视问题解决的结果而忽略学生问题解决时的思维变化,并不能够真正的培养学生的计算思维能力。

传统的Scratch课程教学是先教授学生基础的知识,再进行高层次的模块化训练。本研究以现有的理论成果为基础,提出一种新的教学模型,即在学习全过程渗透模块化程序设计思想,自顶向下引导学生将复杂问题分解为子问题,让学生体会到模块化分解任务的优势,体验模块化分解复杂问题、模块化实现子功能的过程。最后验证此模型是否有效培养和训练学生在编程教学类课程中的综合分析思维能力,即分解和转化复杂问题为清晰易懂的若干子问题的技能,对研究者、教学者进行程序设计类教学实践有着重要的指导意义。

2.文献综述

2.1.计算思维

计算思维的概念最早由Seymour Papert于1980年在他撰写的书中被提出。他认为,计算思维是一种展示编程与思维技能的关系。国内计算思维的概念最早是由黄崇福教授(黄崇福,1992)提出,他于1992年在博士论文中引入了计算思维的概念,他将计算思维看作是思维过程或功能的计算模拟方法论,其研究的目的是为了提供适当的方法,使人们能借助现代和将来的计算机,逐步达到人工智能的较高目标。2006 年,美国周以真教授提出“计算思维”,至此这一概念才真正地从信息技术教育界传播开来(Wing,2006)。由于学者们的研究源自不同领域,有各自不同的视角,因而计算思维的基本内涵与结构研究尚未达成共识,计算思维概念仍需澄明。通过梳理相关文献,笔者对国内外学者的计算思维定义进行分类和总结:

类别

主要观点

研究者

问题解决

计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。

周以真

计算思维是运用计算机科学的概念原理的问题求解过程,它选择适合的方式陈述问题,对问题的相关方面建模,并采用最有效的方法求解问题。

李国杰

过程方法

计算思维是形式化问题的过程,可以用计算过程和算法表达解决方案。

Aho等

计算思维是一种解决问题的过程,该过程包括但不限于问题结构化、数据分析、模型构建、算法设计、方案实施和应用迁移等特征。

ISTE&CSTA

组成要素

计算思维可以归纳为包括算法思维、分解、抽象、概括和评价五个要素。

Cynthia等

提出了一个计算思维的概念框架,内容则包括计算、通信、协作、记忆、自动化、评估和设计七大要素。

Settle 等

系统思维

计算思维是识别计算,应用计算工具和技术理解人工信息系统和自然信息系统的过程。

CAS

通过培养计算思维来适应信息社会的变化。

李锋

三维目标

MIT在创建互动媒体编程活动的基础上开发了一个计算思维三维框架,包含三个维度分别是计算概念、计算实践和计算观念。

MIT

 

表1 计算思维定义总结

综合以上学者和专家对计算思维的定义的概述,本研究将计算思维界定为是运用计算机科学的基本概念和方法,综合创造力、算法思维、批判性思维、合作思维及问题解决能力思维能力的应用,围绕目标(任务)进行问题解决的过程。

2.2.Scratch

Scratch是由麻省理工学院媒体实验室(MIT)于 2007 年开发的一款适用于初级编程新手学习的图形化编程工具。全球很多个国家的学习者都在使用Scratch这款编程软件,用于基础的编程。在美国,Scratch教学与STEAM教育相结合,教育家不仅找到他们的有效结合方式,而且还会利于发展学习者的创造性思维、发散性思维和合作意识,这都有利用学生在编程的过程中其他能力的培养。在英国,英国的大学推动Scratch发展并起到了很大的作用,例如,英国的Warwic大学开发了为学生制作Scratch软件传感器的快速实现路线。2015年华中师范大学的王宝亮设计了Scratch在初中信息技术课程教学中的应用并以深圳红岭中学为例,结果分析显示Scratch课程能够激发学生的学习兴趣,培养学生的创新思维以及动手操作技能,在教学的过程中培养了学生协助意识和小组合作精神。2018年,王巧丽在基于Scratch提升中学生计算思维的教学实践研究中设计了以提升中学生计算思维为目标的Scratch课程,结果分析表明Scratch教学在一定程度上提高了中学生计算思维。2020年,赵汝军老师将Scratch应用与小学信息技术课堂,学生通过Scratch课程的学习,形成较强的编程思维,且逐步培养了他们的逻辑思维意识及能力。

综上所述,如今Scratch课程已经逐步成为了一些学校的校本课程,同时也为K-12阶段的教育发展提供了有利的平台,但Scratch课程绝不仅仅只是适合K12阶段的学生。Scratch课程同样适合大一新入学的学生学习,因为很大部分的同学在此之前也未接触过编程相关的教学。国内外的大学使用Scratch来讲授计算机编程入门课程,学生们对此反响不错,表示Scratch帮助他们认识了编程,并且有助于后续在学习C++的课程中理解和使用循环。Scratch可以帮助学生建立编程思想,训练编程思维,为学习一门专业编程语言奠定基础,并进一步弥补传统编程设计软件存在的不足和短板。

2.3.模块化程序设计教学

程序设计一般指通过任务或问题的确定、设计并选择算法、绘制程序流程图、完成程序编写、代码调试以及程序修正等步骤过程,完成将事先预定的任务或已构造的算法转换为计算机程序的最终目的(许嘉璐,1991)。

模块化程序设计是指在进行程序设计时将一个大程序按照功能划分为若干个小程序模块,每个小程序模块完成一个确定的功能,并在这些模块之间建立必要的联系,通过模块的互相协作完成整个功能的程序设计方法(赖均等,2016)。

在设计较复杂的程序时,一般采用自顶向下的方法,将问题划分为几个部分,各个部分再进行细化,直到分解为较好解决问题为止。模块化设计的程序编写不是一开始就逐条录入计算机语句和指令,而是首先用主程序、子程序、子过程等框架把软件的主要结构和流程描述出来,并定义和调试好各个框架之间的输入、输出链接关系逐步求精的结果是得到一系列以功能块为单位的算法描述。以功能块为单位进行程序设计,实现其求解算法的方法称为模块化(吴登峰等,2015)。

综合以上对模块化程序教学涵义的概述,本研究将模块化程序设计教学界定为教师有目的、有计划、有组织地循序渐进实施教学内容,引导学生正确地分析问题,理解和分析任务,规划解决方案的教学活动过程。模块化程序设计的特征是让学生将一个问题划分为多个任务,由外到内逐层分解,逐一进行突破,实现问题的解决,在此过程中,实现对计算思维的培养。

迈耶基于努力的学习原则表明,在处理复杂任务时,学生的自我效能感会显著影响他们的学习行为;也就是说,如果学习者有更高的自我效能感,他们可能会更加努力,思考也得更深入(Wang等,2007)。一些学者提出,在解决复杂问题时,借助支架可以降低学习者的认知负荷,从而允许学习者完成他或她本来无法完成的部分任务(Van 等,2003)。因此,自我效能感和认知负荷也是本研究测评的一部分,以期多元的测评学习者的计算思维发展水平。

本研究提出了一种基于模块化程序设计思想的教学模型,帮助学习者在可视化编程实践中训练计算思维能力。为了调查所建构的基于模块化程序设计教学的有效性,在高校Scratch课程中进行了一个实验来探讨以下研究问题:

1、基于模块化程序设计思想提出的教学模型对学习者计算思维各个维度是否有提升作用?

2、基于模块化程序设计思想提出的教学模型能否提高学习者的自我效能感?

3、基于模块化程序设计思想提出的教学模型能否降低学习者的认知负荷?

3.面向计算思维培养的模块化程序设计教学模型

模块化程序设计步骤一般包括四步,如图1所示。首先是要分析问题,明确要解决的任务。教师引导学生将任务进行逐步的分解和细化,分成若干个子任务。每个子任务只完成部分完整功能,并且可以通过函数来实现。接着,要确定各个模块之间的调用关系,指导学生不断进行调试,并优化模块之间的调用关系。最后,在主程序中实现调用与并行处理。

图1 模块化程序设计步骤

基于模块化程序设计的教学模型如图2所示。教学过程主要包括创设情境、知识提炼、任务布置、实践操作与总结反思五个基本环节。在教学实践过程中,教师首先使用分组功能,依据编程水平,将学生分为两人一组。教师的教学目标主要是培养学生的计算思维能力,根据课程目标,创设出具体的问题情景,激发学生动机,让学生思考问题。第二步,教师引导学生分析问题,并且采用了模块化思想的方式给学生进行操作演示。学生在此过程习得新知,将新旧知识紧密联系,构建新的图式。第三步,教师在完成模块化程序设计的演示后,提出了一个更有挑战的问题,让同学们解答。要求每组同学,先有一位同学做当导航员对要解决的问题画出流程图,接着由另一位同学审查此流程图并进行修改完善。同学们理解画出的流程图,建构功能实现的思维逻辑,选择合适的模块和相应语句分步实现功能。学生在此阶段对问题进行了抽象概括,简化解决问题的一系列步骤。教师在学生学习过程中不断渗透模块化思想,帮助学生进一步解决复杂问题。第四步,教师巡视监督,为学困生提供及时的支架帮助。学生将自己头脑中的方案进行可视化,即建模过程,进一步培养学生的分解思维和算法思维。最后,教师引导总结归纳,对课程进行补充。学生在此阶段进行实验反思,迭代改进。模块化思维训练能够让学生把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了。经过思维的训练实施,进一步提高学生的高阶思维能力。所以可以将此模型应用于Scratch课堂中,进行教学实践。

图2 基于模块化程序设计的教学模型

4.研究方法

4.1.参与者和设计

为了评估基于模块化程序设计思想提出的教学模型的有效性,采用准实验的方法,在浙江某高校Scratch课程中进行了一个准实验。实验对象是刚入学的60名大一新生,平均年龄19岁,均来自2020级教育技术专业选修《趣味创客入门》的两个班级。其中,A班人数为28人(男生12人,女生16人),B班人数为32人(男生13人,女生19人)。女生的比例稍高于男生:男生42%,女生58%。所有学生都由具有15年教学经验的同一名教师授课。实验持续时间从 2020 年 9月至 2020 年 12月,共计 14个教学周。

在本研究中,通过模块化程序设计思想中的模型训练,引导学习者将编程学习与模块化思想联系起来,预期培养他们设计、调试、维护和调用复杂程序的能力,增强他们面向对象的编程思维与计算思维能力。与此同时,还探讨了基于模块化程序设计思想的教学模型能否提高学习者的计算思维的各个维度、提高学习者的群体自我效能感及降低学习者的认知负荷。此研究预期在Scratch教学中构建出新的一种教学模型,提升大学生在可视化编程的学习能力,发展学习者的计算思维能力并帮助教师开展相关教学活动。

4.2.实验步骤

基于以上实验目的,本研究设计了基于模块化程序设计思想的教学模型,如图3所示。

图3 学习活动的实验设计

图3展示了实验设计过程。在开展学习活动之前,所有的学生都由同一个老师指导了一周的Scratch编程基础知识课程,其中包括编程的基本知识和基本结构、下载安装软件、认识Scratch的界面、角色造型的设计与制作、声音的制作和编辑、以及要求学生完成课后练习任务“让小猫动起来”。在接下来的两周里,学生参加了Scratch前测试题,并完成了前测问卷。前测测试的目的是评估学生现有的Scratch编程技能和知识以及计算思维水平,而前测问卷包括对学习者计算思维能力、自我效能感以及认知负荷的评估。

随后的九周时间里,教师采用基于模块化程序设计思想的教学,在Scratch教学中,教师强调模块化设计思想的应用,将此思想渗透全程教学。渗透模块化程序设计思想的编程教学是从抽象到具体再到抽象的过程,具体讲是从“问题的抽象认知”到“模块的具体分解”再到“脚本的抽象理解”的过程。在最后两周时间里,进行了后测问卷以及后测试题的测量与数据收集,并随机挑选学生进行半结构化访谈。

4.3.测量工具

本研究的测量工具包括计算思维测试(CTt)成绩的前测和后测、计算思维量表(CTS)的前测问卷和后测问卷、群体自我效能感量表的前测问卷和后测以及认知负荷的前测问卷和后测问卷。在填写电子问卷前,告知了学生问卷旨在了解大家在课程中学习情况,仅用于教学研究。本次实验所学习的具体内容进行相应的术语调整,以便学生理解并选择符合自身实际情况的选项。

基于试题的前测是为了评估被试在未系统化学习Scratch课程之前的计算思维能力水平是否达到相同的最低标准,而后测的目的是验证采用的基于模块化程序设计思想提出的教学方法与对照班采用的传统教授方法之间的教学效果是否存在差异。试题成绩的前测有10个选择题(100%),后测包括10个选择题,每题3分(60%)和10个判断题,每题2分(40%),后期均换算为满分100分。前测和后测的题目改编自CTt(Computational Thinking test),该工具可以评估学习者计算思维发展水平,是由西班牙学者罗曼·冈萨雷斯(Romaán-Gonzaález)所开发(Roman,2017)。

计算思维量表(Computational Thinking Scales)是由29个题项组成的李克特五点量表,由土耳其学者柯尔克玛兹(Korkmaz)等人设计开发。该评估工具主要从创造力、算法思维、协作、批判性思维以及问题解决这五个维度来测量学习者的计算思维能力水平(Özgen等,2017)。研究通过探索性因子分析、验证性因子分析、项目差异性分析、内部一致性系数和恒定性分析,对量表的效度和信度进行研究。分析结果表明,该量表是一种有效、可靠的测量工具,可测量学生的计算思维能力。

群体自我效能感问卷采用Wang和Lin等人编制的问卷,该问卷由Pintrich等人的原始问卷修订而来(Wang等,2007)。问卷中有八个项目,用于测试个人对小组能力的判断和对即将到来的任务的小组能力的评估。每个项目都采用了李克特五点量表评分,5点代表强烈同意,1点代表强烈不同意。

基于Paas (1992)和Sweller等人(1998)提出的认知负荷测量,Hwang等人对认知负荷问卷进行了修改(Hwang等,2013)。它包括两个维度,精神负荷(例如,“这次学习活动中的学习内容对我来说很难”,“我必须付出很大的努力来回答这次学习活动中的问题”)和精神努力(例如,“学习活动中的教学方式很难遵循和理解”)。前者是指学习内容的难度或数量大而引起的内在认知负荷,后者是指教学模型(即学习内容的组织和呈现方式)所引起的外在认知负荷。每个项目都采用了7点李克特方案,7点代表强烈同意,1点代表强烈不同意。较高的分数意味着学生在学习过程中有较高的认知负荷。两个维度的克朗巴赫α值分别为0.92和0.84。本研究中,根据教师具体的上课内容,将量表的描述调整成适合学生理解的语言进行了前后测的调查。

5.实验结果

软件使用SPSS22版本实现分析步骤。采用配对样本t检验,对学生的计算思维测试成绩进行了分析,如表2所示。可以看出,t=13.06,P=0.00<0.05,这意味着采用基于模块化程序设计的教学对学生的成绩有显著提升。因此进一步验证了基于模块化程序设计教学方法的计算思维训练后呈现出更为积极的学习效果。

经过基于模块化程序设计教学后,学生的计算思维能力在创造力、算法思维、协作思维、批判性思维以及问题解决维度上均值均有提升。如图4所示。

图4 计算思维能力量表前后测均值

学生整体计算思维能力本身就较高,创造力、算法思维、协作思维、批判性思维以及问题解决维度上均值分别为3.62,4.22,3.49,3.86以及4.02,可能由于实验对象是大学生,已经具备了一定的抽象逻辑思维。在开展课程后,学生在各个维度上有不同程度的提升。可见,基于模块化程序设计教学能够促进学习者创造的能力、按照步骤有序解决问题的能力、协作解决问题的能力以及辨证看待问题,批判性分析评估问题的能力。

将实验前后的计算思维量表进行配对样本T检验,得到如下结果:

如表3所示,测试前的均值为97.45,标准差为13.38,均值的标准误差为1.73。测试后的均值为99.28,标准差为12.42,均值的标准误差为1.60。

如表4所示,t=-2.08,p=0.042<0.05,两次测试结果存在显著差异,说明基于模块化程序设计教学模型能够引起学生计算思维能力的变化。对计算思维的各维度、自我效能感以及认知负荷进行配对样本T检验,得到表5。其中,算法思维、批判性思维、问题解决能力以及认知负荷的P值均小于0.05,显著小于实验前的结果。而在创造力、协作思维与自我效能感维度上不存在显著差异。

表5 学生计算思维前后测数据对比表

结束实验之后,在两个班级中随机挑选了4名学生进行15分钟左右的半结构化访谈。访谈内容主要围绕学习者对流程图的使用习惯、对模块化编程的理解和掌握以及相应的教学反馈进行。通过访谈,访谈结果如下。

在流程图的绘制方面,有些学生更加偏向于手绘流程图,他们认为手绘流程图更加方便、便捷,可以更直接的记录自己的想法和灵感,而电子流程图还需要找到相应的模块,更为费时。也有学生更加偏向绘制电子流程图,他们认为电子流程图更为美观清晰,有手绘流程图所不具备的高效。在解决复杂算法问题的时候,学生都会在制作项目之前绘制流程图,帮助自己厘清思路,他们都一致认为小组两人协作画流程图对完成项目有一定帮助,比如同伴能够及时找到自己发现不了的问题,提供不同的思路,并能锻炼自己的合作沟通能力。当遇到两个人意见不统一的时候,都会先尝试着讲解自己的思路和绘制过程,并选择更为简洁、高效的流程图,再进行修改完善。

在模块化编程方面,部分学生对于模块化编程的理解还是流于表面。他们认为模块化编程是三种类型的自定义编码,像搭积木一样把一个个的程序搭在一起,然后成为了一个作品。使用目的是为了简化程序,降低程序的复杂度,使整体看着更为简洁。也有学生对于模块化编程的认知则更为清晰。他们认为模块化编程可以把复杂问题分解成一个个简单的小问题。当出现一些错误时,只用修改相应的代码主程序,使调试和维护等操作简单化。并且利用函数,可以把程序中经常用到的一些计算或操作编写成通用函数,以供随时调用。但是,有些编程在模块化的编程里要用较多的程序段才能达到,因为scratch的积木块并不全面。

在教学反馈方面,从学生的访谈结果中可以发现,对于掌握情况较好的同学来说,他们希望教师可以扩展教学深度。而对于基础较差的学习者则希望教师可以提供预习的资源,尝试自己先绘制流程图,从而跟上教师课上的思路。此外,学生还希望课上能够增加师生之间、生生之间的课堂互动与交流,以便更好的参与到课堂来。

6.讨论和结论

本研究所构建的基于模块化程序设计思想的教学模型的有效性在实验研究的基础上得到了验证,尽管实验结果证明该模式计算思维训练对学生计算思维的算法维度、批判性思维、问题解决能力,以及降低认知负荷上有着一定积极的影响,但在创造力和协作思维以及自我效能感维度不存在显著差异。

在本研究中,创造力与协作思维是无显著性差异的计算思维子维度。究其原因,在教学策略与脚手架搭建上缺乏一定的灵活性。灵活的脚手架创设能够帮助学生减少认知负荷,提高学习的自我效能感,更加积极的参与到课堂中来。在协作学习过程中,依然存在同伴“搭便车”,成员有争执时缺乏沟通技巧等问题,尽管在教学过程中采用头脑风暴、同伴审查流程图等协作学习策略,但在搭建脚手架方面可能还存在不足,例如,协作学习任务单的设定上有待完善,不断改进协作学习的策略与方式还任重道远。

本研究也存在一定的局限性,需要进一步开展更加深入的研究。首先,实验样本量有限,数据采集不够全面。与大多数教育研究实验相同的是,实验的样本量并不是很大。对于学习者数据的收集还存在一定的局限性,还需挖掘更多有效收集学习者思维数据的方式和工具。其次,学习者个体差异可能对实验结果有一定影响。由于学习者之间存在个体思维差异,在Scratch课程中很难全面考虑并进行完全针对性的训练培养。学习者的思维方法、思维速度以及思维独立性和灵活性都会影响实验的结果,鉴于实验条件的限制无法完全满足学习者的计算思维发展要求。最后,构建的基于模块化程序设计思想的教学模型的适用性有待拓展。从数据分析结果可以发现,训练策略对计算思维的个别维度的影响程度更大,但尚未完全满足学习者计算思维培养的要求,需要再进一步拟定更加有针对性的训练策略和训练方式,并进行不同层次的实践研究来多次完善和改进该模型的普适性和有效性。

参考文献

北京开放大学地平线报告K12项目组, 2017. 2017地平线报告:新技术驱动教学创新的趋势、挑战与策略[J]. 人民教育, (21): 71-75.

何钦铭, 陆汉权, 冯博琴, 2010. 计算机基础教学的核心任务是计算思维能力的培养——《九校联盟(c9)计算机基础教学发展战略联合声明》解读[J]. 中国大学教学, (9): 5.

黄崇福. 信息扩散原理与计算思维及其在地震工程中的应用[D].北京师范大学,1992.

赖均等编.软件工程:清华大学出版社,2016.01.

吴登峰,邢鹏飞主编;耿姣,李婧,宁海涛副主编.C语言程序设计:中国水利水电出版社,2015.01

许嘉璐, 曹才翰, 1991. 中国中学教学百科全书: 数学卷[M]. 沈阳: 沈阳出版社: 参考的页码呢,下同

张苗苗, 王海燕, 2021. 对计算思维培养研究的梳理与思考——基于CNKI数据库近十年(2010—2019年)的文献分析[J]. 中国医学教育技术, 35(2): 162-166.

张屹, 李幸, 黄静等, 2018. 基于设计的跨学科STEM教学对小学生跨学科学习态度的影响研究[J]. 中国电化教育, (7): 81-89.

中华人民共和国教育部, 2018. 普通高中信息技术课程标准[M]. 北京: 人民教育出版社: 5-6.

朱亚宗, 2009. 论计算思维——计算思维的科学定位、基本原理及创新路径[J]. 计算机科学, 36(4): 53-55.

Aho, A. V. . (2012). Computation and computational thinking. Computer Journal, 55(7), 832-835.

MYHILL D, WARREN P, 2005. Scaffolds or straitjackets? Critical moments in classroom discourse[J]. Educational Review, 57(1): 55-69.

ÖZGEN K, RECEP Ç, M YAŞAR Ö, 2017. A validity and reliability study of the computational thinking scales (CTS)[J]. Computers in Human Behavior, 72: 558-569.

ROMAN-GONZALEZ M, PEREZ-GONZALEZ JC, JIMENEZ-FERNANDEZ C, 2017. Which cognitive abilities underlie computational thinking? criterion validity of the computational thinking test[J]. Computers in Human Behavior, 72(7): 678-691.

Seymour Papert. Mindstorms: Children, Computers, and PowerfulIdeas[M]. New York: Basic Books, 1980: 285-286.

VAN MERRIENBOER JJG, KIRSCHNER PA, KESTER L, 2003. Taking the load off a learner’s mind: Instructional design for complex learning[J]. Educational Psychologist, 38(1): 5-13.

WANG SL, LIN SSJ, 2007. The effects of group composition of self-efficacy and collective efficacy on computer-supported collaborative learning[J]. Computers in Human Behavior, 23(5): 2256-2268.

WANG SL, LIN SSJ, 2007. The effects of group composition of self-efficacy and collective efficacy on computer-supported collaborative learning[J]. Computers in Human Behavior, 23(5): 2256-2268.

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

地址:中国北京市海淀区新街口外大街19号
电邮: luchenyu@bnu.edu.cn