基于计算思维培养的中小学 开源硬件课程开发探究*

    刘莹昕 牛宝裕 石伟 李敬睿

    

    

    

    摘 要:文章通过梳理相关文献分析了计算思维教育的研究现状;以开源硬件为视角,对比三种常用的开源硬件,从教学方式、开源硬件的自身功能探讨了开源硬件对计算思维能力培养的重要性;阐述开源硬件、课程和计算思维的关系,明确开发开源硬件课程可以更好地促进学生计算思维能力的培养;以开源硬件Micro:bit为例,从课程目标设定、课程内容设计方面进行了课程设置,提出课程实施的教学策略和多元化的评价方式;探究和开发以开源硬件为内容的课程,为推进计算思维能力的培养提供新的切入点。

    关键词:信息社会;计算思维; 开源硬件;课程开发

    中图分类号:G434? ? ? 文献标志码:A? ? ? ? ? 文章编号:1673-8454(2020)18-0075-05

    信息技术的发展逐渐影响着人们的学习、工作和生活,人们需要转变思维方式,运用全新的思维能力,更好地适应日益更新的信息社会和知识社会。计算思维起源于计算机科学领域,是一种全新的思维方式。计算思维的概念最早于2006年由周以真教授提出,她认为计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动[1]。计算思维已成为国内外计算机教育领域广泛关注的内容,它是一种解决问题的思维过程,虽然看不见摸不着,却与人们的各个方面息息相关。计算思维能力将成为信息社会人们不可或缺的一种能力。

    在中小学阶段,随着计算思维研究的不断深入,培养中小学生计算思维的“落脚点”也趋于多元化的方向发展,正由信息技术学科外延,但还未发现有研究者以开源硬件为内容,构建完整的计算思维课程。因此,本文从课程设计的角度出发,探究开发一门“以培养中小学生计算思维能力为目标”的开源硬件课程。

    一、中小学生计算思维能力的培养

    1.计算思维能力培养的必要性

    (1)从学生发展的角度来看

    美国计算机科学与电信委员会(简称CSTB)在Report of a Workshop on the Scope and Nature of Computational Thinking(2010)中指出,计算思维不仅仅属于计算机科学家,而是每个人的技能,每个人都可以运用计算思维帮助解决问题、设计系统、理解人类行为;计算思维与数学、语言、逻辑推理能力同样重要,应该让所有学生掌握[2]。《普通高中信息技术课程标准(2017年版)》在重构课程体系的基础上,把计算思维纳为学科核心素养之一,丰富学科内涵,指明发展方向[3]。因此培养学生的计算思维能力,将成为重中之重。

    (2)从技术促进教育发展角度来看

    传统的“双基”教育内容显然不能适应未来的需要。随着新技术的出现与应用,教育方式与教育内容也应随之做出调整。未来的教育将打破现有传统,打通各学科知识体系的连结界限,从而转向注重学生的双创能力、思维技能等综合能力的培养。以《信息技术》课程为例,以往的信息技术教育只是为了教会学生某个系统的原理或软件的具体操作,而忽略了技术的飞速发展可能会使学生学习的技术在离开学校时就已经落伍。为了适应技术的快速更迭,面向未来的信息技术教育,应将重点放在引导学生理解技术的本质,渗透思维教育,掌握科学方法并提高其在问题解决的过程中运用现代化信息技术手段的能力,而计算思维正是这样一种思维方式。因此,培养学生的计算思维能力,不仅是为促进学生全面发展奠定基础,更是适应时代的变迁,推进教育的发展与进步。

    2.中小学计算思维教育研究现状

    计算思维教育研究目前在中小学教育阶段呈现出多样化的趋势。笔者采用文献分析法,以中小学、计算思维、課程为主题,在中国知网数据库中进行文献检索(数据截止到2020年3月),并以摘要和关键词为依据进行了二次筛选,共选择40篇文章。对这些文章内容进行归类后发现,现有的中小学计算思维教育课程可分为两类,如图1所示。

    (1)通过其他学科课程进行计算思维培养

    一些教师认为,中小学计算思维能力培养处于起步阶段,不能只局限于信息技术类学科,其他学科也能够实现培养计算思维的任务。如有的教师巧用数学课程中的内容培养小学生的计算思维能力[4]。但目前这方面的实践研究并不多,是否有效培养了学生的计算思维能力无法得到证实。同时从教师角度来看,这可能加大了教师的工作难度,使计算思维更容易与学科思维混淆。

    (2)以信息技术学科为基础衍生出的相关课程或整合课程

    有许多一线教师与学者,利用信息技术课程[5]、编程教育[6]、创客、steam整合课程[7]等来培养中小学生的计算思维能力,这是目前计算思维研究的主要方面。许多研究者正尝试在中小学阶段利用Scratch[8-10]与App Inventor[11][12]进行一线教学研究,培养学生的计算思维能力;高中阶段培养计算思维能力一般结合信息技术教材中的内容来进行[13]。同时也有研究者从教学的角度出发,基于游戏化[14]、项目教学[15]、问题驱动的学习方式[16],结合编程教育内容,培养学生的计算思维能力。相关研究者认为,使用科学的教学方式结合与信息技术相关的课程,是进行计算思维培养的最优方式。目前,已经有教师从高中信息技术课程的角度,嗅探到Arduino对计算思维培养的支持[17],但目前还没有一个完整的基于计算思维培养的开源硬件课程研究。

    随着观念的转变与计算思维内涵的不断丰富,培养中小学生计算思维能力的方式不是固定的,但必须要明确,无论是信息技术学科还是其他学科,都只是培养计算思维的一个载体,而不是计算思维教育的本身。

    二、开源硬件与计算思维

    1.认识开源硬件

    “开源”(Open Source)即“开放源代码”,产生于20世纪 90 年代[18],最早出现在软件开发中,被用于描述其源代码以某种方式向公众提供的免费软件,并且可以由任何人进行修改、检查、增加相应的功能。开源硬件(Open Source Hardware)的概念最早是在 1997 年正式提出,一般是采用与自由及开源软件相同的方式设计的计算机或电子硬件,作为开源文化的一部分,开源硬件的出现丰富了开源的内涵[19]。开源硬件是实际的可感知的物品,例如机器、设备等其他物理产品,任何人都可以自由使用、修改、分发和研究这些东西的思想向公众发布。随着创客和STEAM教育的兴起,一大批开源硬件产品被广泛应用在教育领域中。笔者以Arduino、Micro:bit和树莓派这三款具有代表性的开源硬件为例,从开放性、扩展性、跨平台性、教育性和经济性五个方面进行对比分析,判断其是否适合中小学教育教学的应用,分析结果如表1所示。

    上述三款开源硬件都拥有良好的兼容性,支持丰富的控制器、传感器等其他外接元器件,集图形化编程、开发板实体操作于一体,学生不仅能够接触编程知识,还能够触摸到程序运行的物化结果,避免了单纯的程序设计知识所带来的枯燥体验,有效调动了学生学习兴趣。例如Micro:bit,虽然只有4cm×5cm大小,但其功能却一应俱全,有微控制器(MPU),有独立的运算存储编译功能,有输出设备(5×5 LED矩阵),有A、B两个按钮(可编程),有重力计、磁力计等输入设备,还可以连接丰富的外部传感器与模块。在程序设计上支持线上图形化编程(网址为:https://makecode.microbit.org/),无需配置复杂的运行环境,支持实时同步仿真,操作与变化反馈一目了然。程序设计好以后,点击页面中的“下载”按钮,可以直接下载扩展名为.hex的文件,hex是Hexadecimal Source File的简写,是一种可供单片机执行的文件格式,使其运用更加简单便捷,如图2所示。Arduino型号繁多,功能齐全。树莓派因其操作需要一定编程基础,且价格相对较高,目前在中小学教育中应用的实例并不多,但是随着创新教育的发展,已经受到越来越多的关注,相信未来在中小学教育中的地位将举足轻重。

    2.开源硬件对中小学生计算思维能力培养的支持

    《普通高中信息技术课程标准(2017年版)》中新增了开源硬件项目设计内容,这部分内容在教学上可以采用基于问题的学习方式,让学生体验利用开源硬件解决问题的完整过程[3]。根据王荣良老师的观点,抽象、形式化表达、构造到自动化形成了计算思维的方法路径[20]。这一方法路径体现了计算思维的本质,是计算思维教育的核心。由此可见,开源硬件课程可使用的教学方法与计算思维的培养路径在体系上不谋而合。

    教师首先提出一个生活中的实际问题,然后引导学生对问题进行分析,明确需要解决的问题要点,这是抽象的过程;设计系统解决方案包含表达问题中的要素关系和建立解决问题的有效流程,两个方面分别对应了计算思维培养路径中的形式表达与构造;利用开源硬件实现解决方案就是按照构造好的操作流程实现预设问题的自动化解决。开源硬件教学模式与计算思维关系如图3所示。

    生活中很多物品的功能都可以利用开源硬件来实现,如遥控器、LED广告牌、音乐播放器等等。通过开源硬件培养学生的计算思维能力,开展基于问题的学习方式,在学习上更加有利于学生进行抽象,避免了天马行空的想象。同时,嵌有微处理器的开源硬件就如一台迷你计算机,具备计算机的完整系统,同时还为学生提供二次创作的空间,教师带领学生利用开源硬件设计生活物品,使学生参与到作品创作中的需求、设计、开发和运行全过程。在这个动态的问题解决过程中理解计算机科学,逐步实现计算思维能力的培养。

    三、基于开源硬件的计算思维课程设计

    1.開源硬件、课程与计算思维

    通过开源硬件培养中小学生计算思维能力,一定需要设置相关课程才能实现。开源硬件与计算思维的关系如图4所示。

    所开设的课程是开源硬件与计算思维的中间介质,课程设置的主要目的是为了使学生掌握计算思维能力,因此计算思维也是整个课程的全局策略。在此关系基础上,根据具体情况,选择合适的课程模式,确定课程的开展方式。例如:可以在传统信息技术课程基础上增加开源硬件的内容,或者结合创客、STEAM教育理念,设计基于开源硬件的跨学科特色校本课程,以培养学生的计算思维能力。

    2.课程目标的设定

    (1)学习者特征分析是设定课程目标的前提

    学习者是课程最终的受众对象,设定课程目标需要对学习者进行分析。其中学习者的自身因素、年龄特征、心理发展特点、认知发展特点等都是需要进行分析的内容。例如,在中小学开设开源硬件课程,参与课程的学生年龄应在11~13岁左右,该年龄段学生的认知正处于从具体运算阶段向形式运算阶段过渡的时期,因此设定课程目标时应注意这些细节,从学生实际情况出发,设置科学合理的课程目标,保障课程沿着正确的方向开展。

    (2)明确课程目标是课程开发的关键

    开源硬件课程的突出特点是集编程教育与硬件操作于一体,在目标的设定上,需要向更深层次发展,不能认为学生掌握了基本知识、基本技能就是达到了要求,要考虑到学生的主体地位,考虑到信息社会的发展,使学生在思维、能力等方面共同得到提升。在基于计算思维培养理念下设计的开源硬件课程,要充分利用开源硬件实现学生计算思维能力的培养是课程的总体性目标,按照课程内容要求解决实际问题,设计相关作品是阶段性目标。同时依据课程目标设定的教学目标同样应体现出多维度的特点,培养计算思维能力只是其中的目标之一,其他维度的目标应在实践中根据不同的课程内容进行动态化的设定,例如,对某一具体知识的掌握,培养协作能力、动手操作能力、问题解决能力等。

    3.课程内容的设计

    课程的设计应具有整体性,根据课程目标选择与之相匹配的内容,并合理安排课程的内容结构,组织开发课程资源库,将每个学生都看作是一个独立的个体,从课程资源库中灵活选用教学资源,以小组合作的形式进行任务闯关,最终实现课程目标。以开源硬件Micro:bit为例,课程结构及内容的设置如图5所示。

    在内容结构的分布上,安排“新手期—中级专家—电子超人”三个部分,知识点与操作难度逐渐加深。在课程资源库的建立上,要体现出因时制宜、因生制宜、内容丰富、可被学生理解接受的特点。资源库不是枯燥知识点的“游乐场”,而是各种案例和资料的聚集地。通过在资源库中预设相关内容,教师以合适的方式提供给学生,设计学习活动,关注学习过程中学生的思维是否被调动,以及是否在预设的问题域中探索[20],可以使教师有效地引导学生对问题进行抽象,为培养计算思维能力迈出重要的一步。

    4.课程的实施与评价

    (1)教学策略

    开源硬件课程可以采用基于问题驱动的教学策略,该策略能够为计算问题解决的过程提供可能,而培养计算思维能力的最终目的是利用计算思维有效地解决问题,因此是一个行之有效的策略。基于项目式的学习同样是有效的教学策略之一,以课程资源库为依托灵活运用项目活动,逐级增加难度,使学生稳步前进,提高解决问题的综合能力,鼓励学生进行创新设想、创新实践,培养计算思维能力并促进学生全面发展。

    (2)提升教师自身能力

    教师作为课程实施的先行者,必须要提升自身两个方面的刚性条件,分别是计算机学科的专业知识与技能、思维教育的意识与方法[20]。二者也是培养计算思维所需依托的两个方面。基于开源硬件培养学生的计算思维能力,教师首先应更深入地理解专业知识,掌握必要的计算机学科知识与技能。教师对思维教育、计算思维的认识是促其有效开展课程的重要环节,也是决定课程开展深度的重要因素。

    (3)多元化评价方式

    由于教育的内容、采用的研究方法不同等原因,目前关于如何评价计算思维还没有一个确切的评价标准,使用较多的是一种多元化的评价方式。开发开源硬件课程培养学生的计算思维能力,可以通过作品档案记录袋、作品访谈分析、实践设计记录等多方面进行综合评价,这种形式的评价能够有效避免只注重理论、作品展示而轻视思维技能的学习结果考察方式。

    计算思维目前正以一个崭新的姿态被众多学者、教师所熟知,培养中小学生的计算思维能力也成为一项重要的任务。开发开源硬件课程培养中小学生的计算思维能力,能够为学生掌握计算思维、应用计算思维提供有力的支持,同时也能够让教师不断丰富自己,把握计算思维教育的核心,推动计算思维教育向更深层次方向发展。

    参考文献:

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

    [2]National Research Council 2010.Report of a Workshop on the Scope and Nature of Computational Thinking[R].Washington, DC: The National Academies Press.2010:3

    [3]教育部.普通高中信息技術课程标准(2017版)[S].北京:人民教育出版社,2018.

    [4]朱芳芳,刘海华,张雪,等.小学数学教学中计算思维的培养研究——以小学数学课程“认识东南西北”为例[J].办公自动化,2019,24(13):41-43.

    [5]陈静.初中信息技术课程教学中学生计算思维能力的培养策略研究[D].兰州:西北师范大学,2017.

    [6]周明.基于计算思维培养的中小学编程教育校本课程开发与实践[J].中小学信息技术教育,2017(3):61-65.

    [7]倪正辉.机器人教学中创客教育与计算思维的融合探索[J].中国教育信息化,2017(2):6-8.

    [8]黄红伟.计算思维在Scratch程序设计教学中的实践——以小车巡线为例[J].中国信息技术教育,2019(19):37-40.

    [9]金政.基于Scratch编程的小学生计算思维培养实践研究[D].延吉:延边大学,2019.

    [10]张晓晴,李鹏,文昌,等.基于Scratch校本课程对初中生计算思维培养的研究[J].中国教育信息化,2019(10):26-29.

    [11]郭守超,周睿,邓常梅,等.基于App Inventor和计算思维的信息技术课堂教学研究[J].中国电化教育,2014(3):91-96.

    [12]柏安茹.面向计算思维培养的App Inventor课程设计与开发[D].北京:北京邮电大学,2018.

    [13]高燕.在任务驱动与自主探究学习中培养计算思维的研究——以“Python程序设计奇妙的绘图”为例[J].中国信息技术教育,2019(2):54-56.

    [14]罗小青.基于游戏化教学的计算思维培养研究[D].上海:上海师范大学,2018.

    [15]黄金.利用项目教学法培养初中生计算思维的实验研究[D].长沙:湖南师范大学,2019.

    [16]董玉莹.基于问题驱动的计算思维培养研究[D].兰州:西北师范大学,2018.

    [17]郭群.基于Arduino的计算思维培养策略——以高中信息技术课程为例[J].教育信息技术,2019(6):57-60.

    [18]刘刚刚,肖玉贤.面向中小学教学的开源硬件现状分析与比较[J].中国教育技术装备,2018(2):4-8.

    [19]邓佩佩.基于开源硬件的小学创客教学模式的构建与应用研究[D].成都:四川师范大学,2016.

    [20]王荣良.中小学计算思维教育实践[M].上海:上海科技教育出版社,2019:28-116.(编辑:鲁利瑞)