曹 伟
2017年,党中央、国务院印发的《关于深化教育体制机制改革的意见》明确提出,要重点培养4种支撑学生终身发展、适应时代要求的关键能力,即认知能力、合作能力、创新能力、职业能力。其中,学生的创新能力主要指学生在学习与生活、社会实践、面对困难等过程中所形成的创新意识、创新思维以及创新技能。在小学信息技术课堂中,笔者利用开源硬件开展人工智能教学探索,通过编程来培养学生的创新意识和创新思维,从而有效促进学生创新能力的提升。
通过这几年的教学实践,笔者认为编程的本质是对问题进行有效求解,编程能够帮助学生形成科学有效的问题解决策略,重塑结构化的认知结构。但是,开展编程教育并不是为了将学生培养成写代码的程序员,而是要培养学生的编程思维,发展学生的计算思维和科学思维,从而提升学生解决问题的能力。在小学信息技术课堂中,开源硬件编程教学能够对小学生思维的完整性和逻辑性进行有效、有针对性的训练,让学生通过对问题关键要素的提炼建立科学模型,探究问题的有效表征。这样的过程是系统化、结构化问题解决方法与策略的展示,也是信息技术学科核心素养中所提到的“计算思维”的重要特征。
何为开源硬件编程?简单来说,就是一个硬件项目的原始设计文件是对外公开的,所有人都可以对它进行加工,比如Arduino开源硬件。开源硬件和开源软件的目的相似,都是给用户提供二次开发,实现创意设计与制作。基于开源硬件的编程主要是通过传感器与环境实现交互作用,符合创客与STEM教育的理念,可以有效促进学生动手能力和思维能力的深度发展。
编程是一种结构化的程序设计过程,能够帮助学生形成科学有效的思维方式。学生学会使用结构化的程序设计思维,能够促进问题的解决,对问题进行抽象、建模、表征等提高了学生解决问题的效率。从结构化的视角来看,进行教学设计和构建项目案例成为开展开源硬件编程教学的关键。比如,在“灰度传感器的应用”一课中,笔者设计了利用灰度传感器实现小车自动循迹。在该项目中使用的是CF-Board主控板,该主控板是基于Arduino主控板与扩展板相结合的开源硬件主控板,而编程软件是利用基于Scratch2.0的AS-Block图形化编程软件。在项目式任务设置上,要注重探究过程的设计和活动过程性的有效评价。此外,问题设置要相互衔接,要构建层次分明且递进式的项目任务。这样的项目式任务有助于学生将较为综合复杂的项目拆分成简单的小任务,然后学生根据已有知识结构和认知水平进行抽象与重构,高效完成任务。在这个过程中,结构化项目设计与解决问题的结构化策略尤为重要,对学生思维的结构化和问题解决能力的提升起到促进作用。因此,在核心素养时代,教师要积极转变传统的知识传递式教育方式,向更深入的思维能力培养转变。开源硬件编程教学不仅能够培养学生的动手实践能力,而且还能促进学生学习思维的转变,让学生从被动接受知识转变为主动进行思维活动。
在以往编程教育或者软件操作教学过程中,学生缺乏有效的动手实践和设计过程,多是根据教师的案例进行模仿操作,缺乏对真实问题的有效建构,导致学生各方面能力和素养发展欠缺。基于开源硬件的人工智能教育实践活动利用结构化的方法与策略,帮助学生提升解决问题的效率,促进学生思维能力的发展。在“灰度传感器的应用”案例中,笔者通过让学生经历动手搭建小车,促进学生学思融通。笔者积极引导学生“做中学”,鼓励学生大胆想象和创造,让学生利用开源硬件实现自己的想法。同时,结构化问题解决方法和策略有效降低了问题解决的难度,让学生对问题的思考更加深入。
针对具体的问题,需要进行科学有效的分析以促进问题的解决。在利用灰度传感器实现小车循迹项目中,笔者通过对问题进行科学有效的分解,帮助学生理解什么是灰度传感器,引发学生思考如何使用灰度传感器,这成为解决问题的第一步,也是关键一步。灰度传感器主要是用来检测灰度值的一种传感器,其获取的数值通常会受检测距离、环境、光线等因素的影响。灰度传感器所获取的数值越小表示颜色越接近黑色。一般当灰度传感器检测到的值小于600时认定是黑色,而大于或者等于600时则认定是白色。需要注意的是,在使用灰度传感器前必须先获取场地的灰度值,用来修正主控板灰度值的设定。
学生通过对“灰度传感器实现小车循迹”这一项目案例中关键要素的提炼,准确把握灰度传感器在小车循迹过程中的具体作用,实现对问题本质的抽象,最终形成关于灰度值与小车循迹的概念模型。在此基础上,为了有效解决问题,笔者建立了传感器状态与小车行驶动作的模型(如图1所示),在开源硬件创趣CFBoard小车系列主控板上集成了两个灰度传感器,分别对应左和右两个位置,用来检测场地的灰度值,从而帮助小车调整位置,实现小车沿着黑线循迹行驶。
图1 灰度传感器实现小车循迹的模型
笔者设计了可视化的分析结构图(如图2所示),引导学生通过调整小车左右车轮的速度来调整小车位置状态。结构化的建模过程能够有效促进学生对问题本质的把握。在可视化教学支架的帮助下,学生直观地掌握了传感器状态与小车动作的逻辑关系,形成了科学有效的结构化模型。
图2 左右灰度传感器在黑线上的状态
学生通过对问题进行科学有效的抽象分析形成了概念模型。模型需要求解,即进行数字化、形式化表征。在教学实践过程中,笔者发现小车沿着黑线自动循迹行驶主要有3种状态。其中,小车偏左和偏右时需要小车自动调整位置。借助可视化的分析过程,学生建立小车行驶状态的逻辑结构,大致知道小车在沿着黑线行驶过程中可能会遇到的情况。将小车灰度传感器所处位置的灰度状态用数字0和1表示,不同的0和1的组合表示当前灰度传感器的检测状态(如下页表1所示)。
表1 灰度传感器的检测状态
可见,通过结构化方式对问题进行有效分解并最终解决问题,对培养学生思维能力也是极为有益的。
学生在项目问题解决方案不断迭代与优化的过程中形成更加完整的认知结构和结构化的知识体系,促进知识的内化与素养的形成。
在“灰度传感器的应用”案例中,小车能够根据灰度传感器获取到的状态信息来实现自动循迹驾驶,部分学生发现了一些可以进一步优化的地方。比如小车沿着黑线行驶时,偏左的情况还可以分为部分偏左和完全偏左,同理偏右也可以细分为部分偏右和完全偏右。针对小车车身位置的部分偏转和完全偏转的纠偏,笔者设计了可视化的学习支架帮助学生更好地理解部分偏转和完全偏转的概念。同时,引导学生通过调整左右车轮的速度,自主探究并总结出小车车身偏转方向与小车左右车轮行驶速度的关系。比如,小车车身位置部分偏左,说明只有小车左边传感器不在黑线上,通过增加小车右车轮的速度能够让小车车身完全回到黑线上行驶。而小车车身完全偏左,说明小车的左右灰度传感器都不在黑线上。学生通过实践发现,可以通过同时调整小车左右车轮的速度来解决完全偏左的问题,同时小车左边车轮速度要快于右边车轮速度,从而让小车车身完全回到黑线上继续循迹行驶。同理,学生在此基础上可以独立解决小车车身完全偏右的问题。笔者认为,如果学生掌握了某一类问题的解决方法,就能将其自主迁移到对新问题的探究中,从而实现深度学习。
递归作为解决复杂问题过程中有效的方法与策略,可以有效降低问题的复杂度。比如,在“灰度传感器的应用”案例中,小车循迹项目的最终目标是学生掌握灰度传感器的使用方法。使用递归策略将项目分为两个层次,即利用灰度传感器实现小车循迹和提升小车自动循迹驾驶的稳定性,其实质是掌握小车自动循迹驾驶的稳定性影响因素。比如,笔者设计了小车沿着黑线循迹行驶的基本项目任务,在项目实践过程中引发学生思考小车车身位置发生偏转后该如何调整,以及小车发生完全偏转后又该如何有效解决。通过引导学生进行结构化探究,让学生掌握小车左右灰度传感器在黑线上的位置与小车车身偏转方向的关系,以及如何通过调整小车左右车轮的速度来对小车车身位置进行纠偏。此外,在调整小车左右车轮实现小车车身位置纠偏的过程中,学生总结得出小车在循迹行驶过程中左右车轮速度等因素对小车自动循迹驾驶稳定性的影响等。因此,笔者认为对项目问题的递归可以帮助学生更好地分解项目问题,对项目问题的本质形成更加清晰的认知。对影响小车自动循迹驾驶的稳定性因素进行递归分析,实现了对项目问题的多层次分解,从而逐步深入问题的关键要素。