基于计算思维的 App Inventor课堂教学结构的研究
2020-03-26洪优萍
洪优萍
创新教育是新课改的重要方向之一,也是一种较高的教育目标。如何结合现行教育机制寻找合适的创新教育模式是一线实践的关键。本期解码,让我们一起走进手机编程和STEM项目设计的现场,共同探索创新教育的教学方式。
App Inventor安卓编程是近几年兴起的一个开源编程平台,因其具有可视化、图形化、模块化拼接的特点,特别适合低年级学生学习。在教学中,笔者聚焦核心素养,开展基于计算思维的App Inventor程序设计课堂教学实践,让学生经历提出问题、分析问题、算法建模、实践验证、反思升级的过程,构建课堂教学结构,培养学生的计算思维。
● 课堂教学结构的架构
基于App Inventor程序設计教学的基本特点,构建基于计算思维的App Inventor程序设计课堂教学结构,主要分为五大环节(如图1)。
该模式融合了教师活动、学生活动、学生思维,将课堂分为五大板块:第一个板块是创设问题情境,激发学生分析、解决问题的意识;第二个板块是对问题进行抽象与分解,将大任务分解为一个个小任务,在用自然语言描述的基础上,能用算法形式来绘制流程图,培养学生的分解、抽象思维,形成算法思维;第三个板块是提出解决方案,用模块化的方式,抽象为App Inventor代码语块来解决实际问题,培养学生的算法思维与逻辑思维;第四个板块是实践解决方案,验证其正确性,通过实践验证、交流分享的循环模式,培养学生的批判思维;最后一个板块是展示分享,总结归纳,延伸课堂,在师生交流中产生新的设想,培养学生的迭代思维。
● 课堂教学结构的实施
1.提出问题
基于计算思维的App Inventor程序设计教学首先要创设问题情境,激发学生的深度思考,引出学习需求。结合学生的生活与学习实际,围绕问题创设情境,提出本课所要解决的问题,引发学生的思考与讨论,激发学生的学习兴趣,使其对程序设计的学习能够学以致用。
以《美丽校园》案例为例,课堂伊始创设问题情境:春天来了,校园里春意盎然,特别美丽,你想用什么办法来记录与展现这校园春色呢?问题一经抛出,学生会产生很多想法,例如,有学生会提出可以通过手机来拍摄照片或视频,有学生会提出可以利用这些素材通过信息技术来设计各种各样的展示作品,也有学生会提出运用正在学习的安卓APP程序设计平台为美丽校园设计APP。
2.分析问题
当学生提出问题后,要立足学生思维发展,从不同角度、不同层面引导学生思考与分析,以问题解决为核心,培养学生的问题分析能力。课堂上引导学生用计算机的方式去思考,将大任务通过抽象与分析,变成一个个小任务,并运用算法思维,引导学生用流程图的方式来分解,化复杂为简单,培养他们的抽象思维与算法思维。
在《美丽校园》案例中,要展示比较多的照片,可以通过用户来进行控制,那么可以设计怎样的APP呢?这里要解决的问题如下:如何实现照片切换的功能?切换到照片的最后一张该怎么处理?学生会提出可以通过按钮来进行切换,可以使用上一张、下一张的方式来进行切换,切换到最后一张照片后重新回到第一张。提出了这一想法,就会产生新的问题:这些照片通过什么方式来按序切换呢?这就引出了变量的运用。
功能分析后,让学生用计算机的方式来思考,将问题通过算法思维来进行表述,也就是如图2、图3所示的流程图。
3.设计方案
通过流程图的绘制与分析,学生已经有了解决实际问题的初步方案,那么如何通过App Inventor平台来实现呢?这就需要经历一个界面设计、组件属性设置、逻辑设计的完整方案的设计过程。通过组件的选择、功能的描述、代码的选择,实现模块化的思考,将问题抽象为App Inventor代码块来解决实际问题,从而培养学生的算法思维与逻辑思维。
在《美丽校园》案例中,方案设计过程如下。
①界面设计。界面设计如下页图4所示,在该APP中,需要添加五个按钮组件、一个标签组件、一个图像组件。其中,有四个按钮组件进行了表格布局,因此在添加这四个按钮组件之前,需要添加表格布局组件。
②组件属性设置。每一个组件都有其特有的属性,在组件添加完毕后,通过“组件属性”面板,根据实际需求,进行组件属性的设置与修改。
③逻辑设计。完成了界面设计后,就要通过编写代码来实现“点击按钮显示图片”的功能。单击“逻辑设计”按钮切换到程序设计视图进行代码编写,选择合适的代码来实现。
4.解决问题
学生在经历了一个提出问题、分析问题与设计方案的过程后,已经将复杂问题简单化,将实际问题抽象为自然语言,并通过算法思维将问题通过流程图的方式表达出来,在设计方案的时候能将App Inventor中模块化的思想融合其中。在此基础上在App Inventor中进行实践,通过模拟器或AI伴侣进行调试运行,在实践验证、师生交流、修改优化的循环模式中培养学生的批判思维。在代码编写的过程中,学生不断去调试与优化,特别是在学生展示、师生交流中,不断发散学生思维,通过多种思路来解决问题,在多种思路的对比验证中,引导学生不断产生批判性思维,优化程序代码,找到最佳路径。
5.反思迭代
问题解决后,让学生来分享与展示,说一说在程序设计过程中碰到的问题以及解决的方法。教师引导学生产生新的想法与创意,通过迭代思维升级APP,再进一步引导学生思考如下问题:如何来实现这些功能?需要解决哪些问题?还需要添加哪些组件?运用哪些代码模块来实现?提出新的设想后,让学生带着自己的思考,沿着分析问题、设计方案、解决问题、反思迭代的一般过程,进一步升级APP,培养他们的迭代思维。
总之,在基于计算思维的App Inventor程序设计课堂实施过程中,要以学生为主体,以教师为主导,以问题为向导,给学生充分的时间与空间,启发学生思维,注重课堂实践,在程序设计教学中,不断培养学生的计算思维。