论文部分内容阅读
为培养创新人才,我校从三个维度开展了三门校本选修课程,其中包括了以Arduino为开发工具的电子制作基础课。Arduino作为一款开源电子原型平台,通过编程实现丰富多样的交互设计,能够极大地提升学生的技术意识、创新思维和物化能力。根据本校校情和高中生认知发展理论,我们在校开展了基于PBL(Problem-Based Learning,简称PBL,也称作问题式学习)学习Arduino的校本选修课程。我们从学生的认知角度出发,设计了从图形化编程到文本化编程的Arduino项目课程体系,带领学生由浅入深地学习。
一、图形化编程课程
图形化编程是由Arduino编程环境的第三方软件ArduBlock上编写的,它是以图形化的模块,通过积木搭建的方式编程的,把繁杂的英文代码简化成一个个的模块积木,可以根据逻辑关系进行嵌套、叠加等。
图形化编程共设计5个课程,内容分别为:走进Arduino世界;智能灯;智能报警;智能栏杆;智能小车。课程设计的目标是以智能小车为项目主体,通过解决真实情境的问题,学习最基本的Arduino元器件,并在此基础上体验如何运用逻辑关系编写程序,实现不同的效果。
课程以项目设计为依托,从灯、蜂鸣器、电机等元器件的应用,形成多种人物交互的方式,学生能够从老师的讲解和课件中理解程序设计的逻辑关系。在图形化编程的课程中,我们集中以讓学生掌握如何应用模块为主,而不是按照课件的实例一模一样地做一遍,我们要求学生在做的时候尝试创新,稍微改变一些设置,主动探索模块的原理。课程的步骤一般为:1. 通过视频演示要达到的效果,激发学生兴趣。2. 老师带领学生认识新的传感器,以及在PPT中呈现图形化编程的实例,用流程图讲解其中的逻辑关系。3. 学生自己上机操作,做出与实例一样的效果。4. 完成拓展练习。PPT的最后教师都会布置了一两个作业,需要学生在自己摸索并理解所学程序代码的基础上,加以应用才能实现的。我们一般通过视频来呈现要求达到的效果,提醒学生着重关注代码的哪个部分,降低作业的难度。目标是让学生懂得遇到什么问题应该调用什么模块,怎样拼接,怎样调用传感器的功能。
二、文本化编程课程
文本化编程是用编写代码的方式设计程序的,它的教学相对来说就比较困难了。文本化编程用的是C语言,这是以英文为依托,加以符号、标点等文字与Arduino进行交流,需要设计者把文字一个个地码上去,倘若少了一个标点符号或者错了一个英文单词,Arduino就无法正确读取,因此为学生的掌握提高了门槛。与此同时,元器件的连接方式和引脚的位置也要注意,若图形化编程教学没有培养学生养成检查的习惯的话,容易产生问题,实现不了应有的效果,学生很容易因为失败而懊恼沮丧。
因此,老师需要在图形化编程的课程中让学生养好检查的3个习惯:遇到问题时,首先检查在软件上有无选择Arduino主板;其次检查元器件的连线是否正确;最后检查编写的代码的引脚、标点、大括号等有无错漏。第三步的检查是最难的,软件往往不会直接了当地显示错误的位置,需要学生细心和耐心地检查。
后续我们将会把Arduino与激光雕刻相结合,设计出外壳用木板拼接,核心为Arduino的机器人项目,让学生动脑又动手。文本化编程课程目前还处于开发阶段,还没有形成一个系统的体系,仍需要不断丰富和完善。
三、遇到的困难和应对策略
在开设课程的过程中,我们遇到了不少困难。首先,开设课程之前,我们需要准备上课的材料,需要购买Arduino的元器件。由于Arduino的开源性,全部元器件的设计包括电路、材料等都是公开的,所以有很多厂商生产Arduino,以此来获利,要找到物美价廉的元器件,实属不易。我们通过综合比对,购买了其中一家的“初学者套件”,但是使用后发现有些传感器的质量不过关,导致学生在做的时候达不到应有的效果。
其次,Arduino需要运用高阶的思维方式,如果学生对此没有兴趣的话,很难坚持下去,因此课程开设应以兴趣为主导,并与机器人相结合吸引对此有兴趣的学生。而且对做得好的同学及时表扬称赞,让学生有成就感。
再次,本课程由于是利用课余时间上课的,所以要求学生具有较强的自学能力和耐力。学生在从图形化编程到文本化编程的过渡期很容易产生畏难情绪,容易放弃,老师应该多观察、多鼓励、多启发学生,相信与激光雕刻结合后的文本化编程更让学生富有成就感,学生可以设计作品的外壳,也可以融入自己喜爱的交互效果,让作品更加生动有趣。
责任编辑 钱昭君
一、图形化编程课程
图形化编程是由Arduino编程环境的第三方软件ArduBlock上编写的,它是以图形化的模块,通过积木搭建的方式编程的,把繁杂的英文代码简化成一个个的模块积木,可以根据逻辑关系进行嵌套、叠加等。
图形化编程共设计5个课程,内容分别为:走进Arduino世界;智能灯;智能报警;智能栏杆;智能小车。课程设计的目标是以智能小车为项目主体,通过解决真实情境的问题,学习最基本的Arduino元器件,并在此基础上体验如何运用逻辑关系编写程序,实现不同的效果。
课程以项目设计为依托,从灯、蜂鸣器、电机等元器件的应用,形成多种人物交互的方式,学生能够从老师的讲解和课件中理解程序设计的逻辑关系。在图形化编程的课程中,我们集中以讓学生掌握如何应用模块为主,而不是按照课件的实例一模一样地做一遍,我们要求学生在做的时候尝试创新,稍微改变一些设置,主动探索模块的原理。课程的步骤一般为:1. 通过视频演示要达到的效果,激发学生兴趣。2. 老师带领学生认识新的传感器,以及在PPT中呈现图形化编程的实例,用流程图讲解其中的逻辑关系。3. 学生自己上机操作,做出与实例一样的效果。4. 完成拓展练习。PPT的最后教师都会布置了一两个作业,需要学生在自己摸索并理解所学程序代码的基础上,加以应用才能实现的。我们一般通过视频来呈现要求达到的效果,提醒学生着重关注代码的哪个部分,降低作业的难度。目标是让学生懂得遇到什么问题应该调用什么模块,怎样拼接,怎样调用传感器的功能。
二、文本化编程课程
文本化编程是用编写代码的方式设计程序的,它的教学相对来说就比较困难了。文本化编程用的是C语言,这是以英文为依托,加以符号、标点等文字与Arduino进行交流,需要设计者把文字一个个地码上去,倘若少了一个标点符号或者错了一个英文单词,Arduino就无法正确读取,因此为学生的掌握提高了门槛。与此同时,元器件的连接方式和引脚的位置也要注意,若图形化编程教学没有培养学生养成检查的习惯的话,容易产生问题,实现不了应有的效果,学生很容易因为失败而懊恼沮丧。
因此,老师需要在图形化编程的课程中让学生养好检查的3个习惯:遇到问题时,首先检查在软件上有无选择Arduino主板;其次检查元器件的连线是否正确;最后检查编写的代码的引脚、标点、大括号等有无错漏。第三步的检查是最难的,软件往往不会直接了当地显示错误的位置,需要学生细心和耐心地检查。
后续我们将会把Arduino与激光雕刻相结合,设计出外壳用木板拼接,核心为Arduino的机器人项目,让学生动脑又动手。文本化编程课程目前还处于开发阶段,还没有形成一个系统的体系,仍需要不断丰富和完善。
三、遇到的困难和应对策略
在开设课程的过程中,我们遇到了不少困难。首先,开设课程之前,我们需要准备上课的材料,需要购买Arduino的元器件。由于Arduino的开源性,全部元器件的设计包括电路、材料等都是公开的,所以有很多厂商生产Arduino,以此来获利,要找到物美价廉的元器件,实属不易。我们通过综合比对,购买了其中一家的“初学者套件”,但是使用后发现有些传感器的质量不过关,导致学生在做的时候达不到应有的效果。
其次,Arduino需要运用高阶的思维方式,如果学生对此没有兴趣的话,很难坚持下去,因此课程开设应以兴趣为主导,并与机器人相结合吸引对此有兴趣的学生。而且对做得好的同学及时表扬称赞,让学生有成就感。
再次,本课程由于是利用课余时间上课的,所以要求学生具有较强的自学能力和耐力。学生在从图形化编程到文本化编程的过渡期很容易产生畏难情绪,容易放弃,老师应该多观察、多鼓励、多启发学生,相信与激光雕刻结合后的文本化编程更让学生富有成就感,学生可以设计作品的外壳,也可以融入自己喜爱的交互效果,让作品更加生动有趣。
责任编辑 钱昭君