渐次推进的教学策略:“开源硬件项目流程”的教学理解与实施

2023-01-30 09:12赵伟刚山东省淄博市基础教育研究院
中国信息技术教育 2023年2期
关键词:开源流程算法

赵伟刚 山东省淄博市基础教育研究院

候继仓 山东省日照市教育科学研究院

孙波 山东省教育科学研究院

“开源硬件项目设计”是《普通高中信息技术课程标准(2017年版2020年修订)》(以下简称“课程标准”)设置的选择性必修课程,旨在满足学生个性化发展需要,激发和培养学生的创新兴趣和动手实践能力。[1]“开源硬件项目流程”是课程模块的第二部分,通过该部分学习,能够让学生对开源硬件项目开发过程有一个宏观的了解,帮助学生从整体把握后续的项目开展,提前思考预期项目成果,掌握从创意生成到调试迭代的科学方法,为学生能够顺利开展基于开源硬件的作品设计与制作奠定基础。

●课程标准要求

“开源硬件项目流程”对应课程标准内容要求的6.2,该部分内容可以分解为两块:一是通过对已有的开源硬件作品案例进行剖析,让学生体验基于开源硬件完成项目开发的基本流程;二是通过对实例分解剖析,让学生知道常用开源硬件的功能与特征。对此处提及的“开源硬件”有两种理解。理解一:包括开源硬件主控板及软件开发平台。理解二:在理解一的基础上还包括基本的输入输出组件及相关控制模块。但在实际教学中,多数学生对开源硬件还很陌生,对利用开源硬件进行项目设计和制作的基本流程还不了解。基于以上学情分析及后续学习的需要,此处对开源硬件的理解,笔者倾向于理解二[1],比内容要求6.1中提及的开源硬件范围有所扩展。

在教学中,教师要引导学生根据开源硬件项目解决问题的需要,自觉、主动地寻求合适的方法去获取和处理信息,培养学生信息意识。通过学习开源硬件系统构成,了解程序指令和各硬件模块在小型信息系统自动控制实现过程中的功能,并能够运用合理算法,形成问题解决方案,发展学生计算思维。让学生在运用开源硬件这一数字化学习工具解决问题的过程中,感受开源硬件平台在创造性解决问题中的优势,培养学生数字化学习与创新的习惯。通过具体项目实践,体验基于开源硬件的项目开发流程,促进学生理性判断,并以积极的学习态度应用信息技术创新,以培养学生信息社会责任。

●教材内容分析

各版本教材对该部分内容的处理各有特色,内容设计、活动形式及课时安排差别较大,具体如下页表所示。教科版对开源硬件项目开发一般流程的介绍最为简洁,在简要概述了项目规划、项目实现、测试与优化三个步骤后就迅速转入内容丰富的三大类十六个小项目的学习活动。

对于项目开发基本流程的概括,各教材表述不同,概括起来也都从创意需求分析、设计方案、制作实现(含硬件搭建和程序设计)、测试运行等环节做了阐述。粤教版介绍了生命周期法、快速原型法等项目开发方法,有助于学生进一步理解项目开发流程。粤教版、浙教版介绍了头脑风暴、思维树等创意思维工具,可以更好地指导学生做好项目的需求设计与构思。浙教版、人教-中图版通过剖析“智能鸟蛋”典型案例,从项目的由来、分析论证、具体实施及项目的意义,梳理了开源硬件项目开发的一般流程。

各版本教材大都以Arduino开发板为例展开项目活动,本文也以Arduino为例进行阐述。

●教学实施建议

1.基于简单项目,渐次深入,体验项目开发流程

鉴于多数学生对开源硬件还很陌生的学情,教师可以带领学生先从简单电路的搭建入手,如在电路实验板上实现按下按钮来点亮LED的小任务,这个任务并没有涉及Arduino主控板的过多应用,只是让学生尝试搭建一个简单电路,回顾物理学习中电路设计的全部基本要素,教会学生如何通过串联电阻来保护LED、如何正确使用面包板的预制连接快速搭建电路、开发板使用要注意哪些安全事项、如何通过主控板获取实验电源等。通过这样的任务,让学生逐步认识常用开源硬件的基本构造、硬件连接和使用方法,初步具备将无形的电流转化为现实中可以体验到的物理现象的能力,为后续项目的顺利开展奠定基础。

接下来可以通过搭建功能简单、结构简洁的开源硬件信息系统,让学生辨识、理解开源硬件系统各模块的功能实现,以及“智能”背后的程序控制。例如,控制一个LED闪烁的小实验,在搭建好物理连接后,借助Arduino IDE编程环境,来自动控制电路电流变化,实现闪烁功能。通过如上简单实验,教师引导学生认识到系统是在程序代码和微控制器的共同作用下,自动控制电路,实现灯光闪烁,进一步加深了学生对开源硬件系统组成的认识。

各版本教材“开源硬件项目流程”知识框架

在此基础上,教师组织学生开展头脑风暴,将LED闪烁实验进一步拓展,尝试模拟生活场景的具体应用。学生想到了城市夜景的流水灯、充电进度的指示灯、出租车上的字幕灯、交通信号灯。接下来就可以引导学生根据创意来设计初步方案,选择元器件,进行可行性验证实验,进一步详细设计,制作原型,尝试编写代码,测试优化作品。随着活动的深入,学生发现的问题、遇到的困难会越来越多,尤其是代码编写环节。教师要有充分的预设,预先准备若干套解决方案和功能代码,给学生足够的提示,供学生选用、借鉴和改造。通过这样渐次递进的教学推进,有助于学生深刻体验基于开源硬件的项目开发流程,初步掌握常用基本开源硬件的功能、特征及安全使用注意事项。

2.注重算法理解,聚焦计算思维培养,激发学生创新创意兴趣

随着该部分教学的深入,开源硬件元器件的选择和电路的搭建成为教学的重点,而对于多数学生,控制代码的编写和功能实现就是学习的难点。在教学中,教师可以根据学情,借助图形化编程软件,简化程序代码的编写,降低代码学习难度。教师要指导学生规范使用自然语言去描述算法,能准确读懂算法流程图,学会使用流程图表达简单算法思想,能够理解学习资源中给出的代码与算法意图和功能实现的对应关系,根据自己的设计需求改造代码,初步掌握利用编程语言,控制数据驱动致动器(执行装置),形成解决问题的方案,更好地培养学生计算思维。

笔者在教学实践中深刻感受到,只有结合好学情,通过科学设计教学活动,让探究任务渐次深入,才能让学生系统地掌握开源硬件项目开发的基本流程。只有引导学生关注算法设计,切身体验代码实现到功能实现,才能让学生深刻理解算法、程序与开源硬件项目应用的关系。当教师借助头脑风暴,看到学生在探讨选择哪些元件、交通信号的切换有哪些规律、怎样实现信号无缝切换、怎样功能优化、如何根据车流变化自动调整等候时间以优化交通资源配置的时候,学生深入探究的欲望和尝试创新的火花就被有效激发了。

猜你喜欢
开源流程算法
吃水果有套“清洗流程”
基于MapReduce的改进Eclat算法
五毛钱能买多少头牛
2019开源杰出贡献奖
Travellng thg World Full—time for Rree
进位加法的两种算法
违反流程 致命误判
四川省高考志愿填报流程简图
析OGSA-DAI工作流程
大家说:开源、人工智能及创新