基于问题解决的计算思维培养模式探究
杨娟
摘要:随着信息技术学科核心素养的提出,计算思维已然成为中小学信息技术课堂教学目标之一。但是对于计算思维是什么,如何在课堂教学中开展计算思维教育,以及如何基于可视化编程工具培养学生计算思维等问题,一线教师还存在一定的困惑。作者结合现状,参照问题解决的一般流程,将计算思维的五大核心要素融入其中,构建了基于问题解决的计算思维培养模式,并以“水温杯垫”一课为例,采用此模式开展课堂教学,以期能为中小学教师进行计算思维的培养提供一些思路。
关键词:计算思维;培养模式;labplus
中图分类号:G434 ?文献标识码:A ?论文编号:1674-2117(2019)23-0053-05
● 引言
随着信息技术学科核心素养的提出,计算思维的培养已经成为中小学信息技术课程的重要目标指向。与此同时,可视化的编程工具(如Scratch、App Inventor、Micro:bit等)大量进入中小学信息技术日常教学。这些工具的引入虽然在很大程度上调动了学生的学习兴趣与积极性,但是因为教师对这些工具背后所隐含的计算思维特征还缺乏一定的认识与理解,所以在日常的教学中教师仍采用一些相对单一的教学模式,过于重视知识与技能的学习,忽视对学生计算思维的培养。因此,作为计算思维培养主要阵地的信息技术课程,十分有必要重构原有的课堂教学模式,重新设计课堂教学环节,明确教育目标,并通过一系列的任务或项目,实现对学生计算思维的培养。本研究以小学信息技术课程为依托,借助可视化编程工具——labplus,构建了基于问题解决的计算思维培养模式,将抽象的计算思维培养融入到具体的教学活动中,希望能为一线的教育工作者们在日常教学中开展计算思维培养提供一些思路。
● 计算思维深度解析
计算思维这一名词,早在20世纪五六十年代就已经出现,但由于那个时候深受将计算机教育等同于编程观念的影响,人们都将计算思维等同于算法思维、程序思维。[1]2006年,周以真教授首次提出了“计算思维”这一概念,认为“计算思维就是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动”。[2]这一定义,明确了计算思维所指向的以计算机科学概念为工具的一系列思维活动,但由于此定义过于宽泛、抽象,对于一线教师来说更是缺乏实际的可操作性,所以现实中的计算思维教育难以展开。
2013年,英国南安普敦大学的Cynthia Selby和John Woollard两位博士再次明确了基于计算思维进行问题解决的主要表现,具体包括[3]:①抽象:通过减少不必要的细节使事物更容易被理解的过程[4],即屏蔽情境中重复、无用的信息,保留问题的关键部分;②分解:对已有的数据进行分析并能够将一个复杂的问题分解成若干个已知的小问题;③概括:这是一种基于先前解决问题的方法,以原先的经验为基础,快速解决问题的方式;④算法思维:将需要解决的问题用计算机语言或程序表达出来,以便计算机能够自动执行;⑤评估:对所编写的代码或应用按照一定的标准进行评价。由此可以看出,计算思维是指人类借助于计算机解决问题的思维,它描述了人们在解决问题的过程中所采取的主要方法与步骤,并且这些方式最终能够借助计算机工具自动执行。
● 基于参与的计算思维培养路径
近年来,随着对计算思维研究的不断深入,对计算思维的理解出现了新的变化,如计算参与。计算参与是对计算思维的新解读,也是计算思维教育发展的一种新范式。2012年,美国宾夕法尼亚大学教育研究生院的Yasmin B. Kafai教授指出,以“社会化转向”为特征的计算参与将是培养学生计算思维的新范型,主张从编写程序代码转向使用代码创建应用,从使用代码设计工具转向促进在社区中交流代码应用,从使用Scratch创作转向在他人的作品上進行再修改和再创作,并将其视为K-12阶段学生学习编码的一种新范式。[5]计算参与的提出,不仅改变了传统的计算思维教学中只是一味注重编程、算法学习的方式,更强调了设计有意义的、真实的应用程序去解决实际生活中的具体问题,改变了以往计算思维培养中,以独立完成任务为主,过于强调学生在解决问题过程中的个体性,而忽视对学生的社会性和协作性的培养的方式。
基于参与的计算思维培养路径,不是要全盘否定编程或忽视学生的编程能力,它更加注重学生从发现问题到解决问题的全过程,更加注重应用的创建和在创建应用过程中学生之间的社会化交往,而编程仅仅是这个过程当中的一个重要环节。通过此培养路径,学生可以基于现实需要或自己的想法创设有意义的各种应用,这不仅能够将学生从枯燥乏味的代码练习、晦涩难懂的算法学习中解放出来,而且能够让学生在创建应用的过程中进一步交流与合作。因此,在一定程度上可以说计算参与是培养计算思维的新方法,基于参与的计算思维培养路径更注重计算思维的实践性与社会性,使得计算思维教育更加全面,也为计算思维的“落地”提供了有力的保障。
● 基于问题解决的计算思维培养模式
目前,国内对计算思维教育的研究还处于起步阶段,现有的研究大多是从宏观层面对计算思维融入教学活动进行阐述,而对计算思维究竟该如何培养、具体的方法或流程是什么很少涉及。当前学校的计算思维教育有的偏重于教编程或教算法,有的偏重于通过大量引进各种先进的工具培养学生动手能力,这一定程度上,反而忽视了思维的培养。因此,针对上述现象,本研究参照问题解决的一般流程,将Cynthia Selby和John Woollard两位博士所提出的计算思维的五大核心要素与问题解决的一般流程相互对应,构建了基于问题解决的计算思维培养模式(如下页图1),从而将原先仅仅注重编程或算法的信息技术课堂教学转向了注重应用创建、学生主动参与的探究性课堂。通过解决现实生活中常见的一个个问题,最终实现对学生计算思维的培养。
以问题为导向的教学在中小学课堂教学中十分普遍。图1中的第一条脉络就是信息技术课堂教学中最常用的方式之一,即:学生根据教师所创设的问题情境积极思考,实现新课的导入;教师适时进行新知的讲授,并呈现一些具体的任务要求;鼓励学生根据需求动手操作,在学生操作的过程中教师可以给予一定的帮助,最后由学生展示自己的作品,教师引导学生一起做课堂小结。而第二条脉络是在第一条脉络的基础上融入了计算思维的五大核心要素和计算参与,将计算思维的各要素整合到课堂教学环节中,并始终围绕应用创建和促进学生交流合作这一宗旨,在学生完成应用的同时能够实现对学生的计算思维能力培养的目的。
基于问题解决的计算思维培养模式的主要活动介绍如下:
(1)抽象问题。课堂教学从具体问题引入,这一环节关键在于引导学生根据问题情境抽象出问题的本质,摒弃重复与无关信息,并能够迅速定位出问题。
(2)问题分解与概括。针对上个环节中抽象出的问题,根据已有的数据或信息试着对该问题的组成部分进行分解,将其分解成一个个已知的小问题,并引导学生运用流程图、概念图等方式勾勒问题的分解过程。而概括则是教师针对所出现的问题引导学生搜索先前解决问题的方法,若能够找到则直接提取问题的解决方案,若没有找到类似的问题则需引导学生回到问题本身,按照分解的方式进行问题分解,最后再将本次解决问题的思路进行归纳与总结,以便下次遇到类似问题能够快速解决。
(3)设计算法。这是该模式的核心部分,在此过程中教师要引导学生将上述的分析思路运用计算机能够理解的方式(如程序或代码等),搭建应用所需要的主要代码模块,并不断调试代码模块,直到能够顺利完成应用的创建。
(4)反思评估。这一般是课堂的最后环节,即学生展示作品的过程。在此过程中,引导学生用自己的语言去表述创作思路,讲解作品。其他同学根据描述积极评价该应用的优缺点,最后教师再做一个总结性评价。
● 基于问题解决的计算思维培养模式的教学实践
下面,笔者基于labplus,以“水温杯垫”为例,对课堂教学活动中所涉及的基于问题解决的计算思维培养的各个方面进行具体阐述。
1.根据情境,抽象问题
在开始正式上课之前,教师询问学生是否还记得“乌鸦喝水”的故事,并与学生一起回忆故事的主要情节。随后,教师适时在PPT上呈现两幅不一样的“乌鸦喝水”画面:一幅是一杯热气腾腾的水和一只焦急等待的乌鸦;另一幅是水特别凉,乌鸦喝完后肚子很不舒服。就此情境引发学生想象,思考该如何帮助乌鸦解决问题,学生积极讨论,开展头脑风暴。最终在教师的引导下,学生发现乌鸦最大的麻烦在于“不知道水的温度”,从而抽象出该情境的本质问题,这是问题解决的第一步——发现问题。这时,教师在PPT上呈现本节课的教学重点,即制作一款水温杯垫来测试水的温度。学生明晰本课的教学重点后,思索要实现水温杯垫的功能,需要有能够测试水温的模块和水温控制模块,然后就是水温测试完毕该如何呈现。经过梳理后,学生都能清晰地了解制作这一款水温杯垫的应用,需要用到输入模块、控制模块和输出模块三大模块。
2.问题分解与概括
在学生建立起基于“输入—控制—输出”的整体思路后,引导学生分析具体的问题:当温度大于36度时,LED灯长亮且蜂鸣器长叫;当温度在32度到36度之间时,LED灯快速闪烁2次,蜂鸣器5秒后停止;当低于32度时,LED灯不亮且蜂鸣器不叫。任务发布完后,教师引导学生回想以前是否解决过类似的问题,如果有就直接提取问题解决的方法,没有则对问题进行分解。
本节课,采用了小组讨论以及引导学生绘制流程图的方式,帮助学生理解、分析问题。图2为第二组学生绘制的简易流程图,从图中可以看出,最大的难点在于对控制模块的把握,该组学生采用了2组判断语句,将上述任务分解成了3个小问题。
3.应用搭建
基于上述分析,各小组都能顺利找出应用搭建所需要的模块。在组装模块的过程中,有小组发现任务中需要同时实现LED灯闪烁、蜂鸣器长叫这两种输出。当学生疑惑该如何实现这两种输出时,教师及时引导学生回想上一节课留言盒中是如何实现两个按键并联的。在教师的提示下,学生找到了要实现两路输入/输出信号合并/分离的分支模块,完成了应用的搭建。与此同时,教师适时教导学生,学习中知识往往是零散的,要学会总结、归纳已经学过的内容,建构知识框架,从而实现有意义的学习。
4.设计算法,调试应用
要想使计算机能够理解人的意图与想法,就必须将问题的解决思路、方法与手段,运用计算机能够理解的方式告诉它,让计算机能够按照人的指令去执行任务。这种人与计算机之间交流的过程就是编程。而人们常说的算法即是编程中所运用的解决问题的一系列指令的集合,也是人与计算机进行交流的方式,它是编程的一个重要组成部分,也是计算思维的核心。在模块组建完成后,接下来最重要的就是告诉模块该如何实现上述功能,即如何运用labplus软件去搭建程序、设计算法。通过前期分析,每个小组基本都能熟练运用选择和循环语句搭建。
教师在巡视的过程中發现,各小组不仅完成了“水温杯垫”应用的基本功能,而且一部分学生还在此基础上对程序进行了进一步的构思与创新,如加入了灯带的设计。通过灯带闪烁的不同颜色来判断水的温度,既美化了杯垫应用,也更加富有个性化。当然,学生在编程遇到困难时还可以参考互动学习平台上教师上传的微课,进行视频学习。
5.展示评估
在课堂最后环节,教师引导学生积极展示小组作品,并阐述是如何发现问题、分析问题以及解决问题的。学生将自己的作品,通过拍照上传的方式,上传到互动学习平台。每位学生选择两组同学的作品,进行评价,指出他们的优点与不足,最后教师再根据学生们的评价做总结性的概括。课堂及时评价能够让学生及时获得反馈、调整设计,而且学生在描述其创作过程时,可以将隐性的思维过程通过语言的方式较为完整地表述出来。这样的展示交流能够增强学生的信心,也符合现阶段基础教育阶段对人才的培养要求。
课堂展示环节总是精彩而短暂的,那些未能在课上展示的学生或还未完成的学生,可以在课后将作品上传到平台,供教师和同伴查看、点评。在学习互动平台,师生、生生之间可以及时地沟通和交流,从而将课堂教学活动延续至平台,有效地实现了线上、线下的混合式学习。
● 小结
基于问题解决的计算思维培养模式,以问题为导向,将计算思维的核心要素融入到解决问题、构建应用的具体教学环节当中。在创设应用的过程中,学生之间相互协作、交流,改变了以往计算思维教育中片面地强调编程或算法学习的状况。此模式并没有完全颠覆原有的教学方式,只是在原有的基础上进行了一些增改。教师只需在教学设计的各环节当中突出对计算思维五大核心要素的培养即可,其操作简单、方便,在一定程度上满足了现阶段一线教师对学生计算思维培养的需求。
参考文献:
[1]刘敏娜,张倩苇.国外计算思维教育研究进展[J].开放教育研究,2018,24(01):41-53.
[2]Wing J M. Computational Thinking[J].Communication of the ACM,2006,49(03):33-35.
[3]谢忠新,曹杨璐.中小学信息技术学科学生计算思维培养的策略与方法[J].中国电化教育,2015(11):116-120.
[4]朱珂,贾彦玲,冯冬雪.欧洲义务教育阶段发展计算思维的理论与实践研究[J].电化教育研究,2019(09):1-9.
[5]王旭卿.从计算思维到计算参与:美国中小学程序设计教学的社会化转向与启示[J].中国电化教育,2014(03):97-100.