在App Inventor课程中训练学生计算思维

发表时间:2021/4/8   来源:《教育学文摘》2021年第2期   作者:梁平忠
[导读] App Inventor是2017年发布的普通高中信息技术课程标准里选修模块中的选修2模块移动应用设计的主要内容
        梁平忠
        江门市第一中学 广东 江门 529000
        摘要:App Inventor是2017年发布的普通高中信息技术课程标准里选修模块中的选修2模块移动应用设计的主要内容,是新课标下普通高中信息技术课开展比较有挑战性的一门选修课,如何能在课程中有效提高学生计算思维水平,如何能更好地培养学生的学科核心素养是开展好这门课程的关键问题。这门课程要求学生能够基于移动终端的特点,利用图形化的设计开发工具,设计开发基于单台设备的移动应用;能够初步进行本地数据的存取和基于网络的数据传输,开发基于真实任务的简单移动应用,设计基于移动应用的问题解决方案。
关键词:App Inventor;移动应用设计;计算思维
        高中信息技术新课程改革目标旨在全面提升高中学生的信息核心素养。计算思维作为学科核心素养的重要组成部分,正受到教育界,特别一线信息技术教师的广泛关注和研究。计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。高中信息技术课要教会学生运用计算思维识别与分析问题,抽象、建模与设计系统性解决方案,成为数字化时代的合格中国公民。
        在新一轮课改中,高中信息技术课程的组成对比之前的课程结构发生了比较大的变化,其中在选修课程里专门设置了《移动应用设计》模块。如果能在新一轮教学改革中,针对“移动应用设计”这门课程,合理利用App Inventor的教育功能和代码块拼接编程的特点,引导学生个性化发展,提高课堂教育教学效率,实现培养学生计算思维能力的目标,将对于我们教学实践的探索和完善提供一条新思路,而且也能促进信息技术学科高中教学创新发展。
        利用App Inventor开发App的过程其实也可以看成一项复杂的信息处理工程,用一个公式来描述就是:
        App开发=创意构思+组件设计+逻辑设计+连接调试
        App Inventor是一种把程序设计思想,通过代码拼接的方式,快速开发Android移动应用的数字化工具,非常适合对学生进行计算思维能力和创新能力的培养。
        一、在创意构思中学会抽象与建模
        在移动应用项目开发中,不同类型的项目尽管在功能、表现方式上各不相同,但是可用计算思维来构建和设计模型。在App开发的创意构思阶段,可以要求学生利用计算思维对作品的功能、表现和结构进行整体的分析和设计,训练学生对非数值问题(又称系统问题)运用信息技术科学的基础概念去认识问题、模拟系统和理解人机行为。
        例如教师在学生开始动手制作自己的App作品时候,可以先与学生一起尝试分析与参考几个类似课题的成果案例,从中找出主题作品一般性创作的基本共性需求,也为自己个性化创作做积累。在实践中,可以让学生以小组为单位讨论最少三个相关App作品的异同,参考如下表:
    比较项目
        
        学生应该学会分析App作品的设计样式、素材特点、导航结构,包括会根据不同串座内容使用合适的文字、颜色来制作App项目作品。学生应该学会在动手制作一个App作品前分析作品的功能需求,学会根据需求分析,抽取出问题的关键信息,合理规划设计方案。在App Inventor课程教学中,避免走进“重操作过程、轻思维训练”的误区。
        在此阶段,教师可以特别注意训练学生“复杂问题简单化”和“选择合适的描述方式”两种思维。“复杂问题简单化”其实就是一种程序式的解决问题的方式原则,就是将问题自顶而下,逐步求解。例如在制作展示个性涂鸦画板App作品中,可以把整个作品按照功能描述划分栏目子项目,例如“画笔选择”、“清除屏幕”、“拍照”、“保存”等。如果划分后的子项目还复杂,例如“画笔选择”,就进一步再分:颜色选择、粗细选择、自定义画壁等。这样直到每个部分只完成单一功能,可以简单设计实现。“选择合适的描述方式”则在规则设计中起到非常大的作用,例如学会使用结构图、流程图、思维导图去描述表达自己的设计构想,易于表达,更加有利于对问题空间和系统任务的理解、改进参与设计的各方交流,更加容易保持需求模型的一致性。
        二、基于计算思维训练的组件设计与实现
        利用App Inventor学生可以在设计视图中完成诸如添加按钮、文本框等程序外观的设计。设计试图就是一个网页,整个界面简洁,操作方便。我们将所需要用到的控件拖放出来,选择编辑,不需要很复杂的操作就可以实现你自己程序界面元素的制作。例如,需要为移动应用添加音乐,可以让学生自己录制一段音频文件,将媒体组件sound组件拖放出来添加音频文件,具体操作步骤包括:
        1)点击选择sound1,显示sound1的属性
        2)点击source->add->选择文件
        3)等待文件上传......source框与media信息框分别如下显示,说明上传完毕,添加成功。
        教师要引导学生思考如何合理地为移动应用程序设计界面,使用什么控件、什么素材等,可以要求学生画出构思图或者列表说明,这也是对计算思维中“表示问题的方法”的一种训练。
        教师还要引导学生能够运用计算思维的方法处理问题,针对已有的类似课题的移动应用的界面风格进行统计分析,从中找出设计的灵感,比如参考在上一个创意构思阶段的项目比较表,从模仿设计入手,到引导学生进行修正创作最终使学生能自由创作,渐进式地让学生领悟应用系统化的问题求解方式。
        App Inventor的组件还与后一阶段的逻辑设计编写程序具有较大的关联性,例如组件的名称、属性等都在编写程序过程中有所涉及,App Inventor组件设计学习能够让学生透过现象看本质,更容易理解软件界面的核心,理解界面设计与功能应用的关系,让学生更好地将移动应用界面信息与逻辑功能连接起来,将界面元素与交互融合成一个系统。事实上,这个过程也体现了计算思维的本质,即抽象化和建模。学生在对移动应用界面的加工过程中很容易就接收到这样的计算思维训练,并理解计算思维中问题求解的一般步骤。
        三、在逻辑设计过程中掌握程序设计知识与算法思维
        计算思维的核心内容之一是算法思维,而算法思维的掌握存在最大障碍是依赖于程序设计的程序语言基础。尽管很早以前就有称为Visual…的“可视化”的编程环境,但对于初学者来说,他们所面对的需要掌握的编程语言困难并没有得到太多的改善。要解决计算思维教学效果的问题需要教学方法和工具的改革,通过对比Visual Basic和App Inventor两种编程工具,容易发现后者跟容易促使学生主动参与学习编程,课堂效果比较积极。
        在APP Inventor里面,程序设计理论知识、语法知识和算法思维在封装的内置代码块体现出来,学生在拼接代码块进行逻辑设计的过程中不断学习这些程序设计知识,并掌握编程方法。程序设计算法思维主要包括了顺序、循环、并行、事件、条件、运算符和数据等,这些知识被映射到了内置块里面的控制、逻辑、数学、文本、列表、颜色、变量、过程等中。
        App Inventor逻辑设计里的块语言模块丰富,使用方法简单,与组件设计相类似的操作,所有行为开发都可以通过可视化的拖放拼接组件来完成,无须关注复杂的语法规则,更容易满足学生的应用设想,这更有利于激发兴趣培养计算思维。学生研习教师精心挑选的案例,不断地再创作练习,习得这些程序设计知识,掌握语法规则,懂得运用合适的算法思维优化案例效果。
        App Inventor编写程序的过程,实质上是问题的提出解决过程,利用App Inventor编写程序,使学生实现自己的创意成为可能,并可以获得体验良好的学习经历,从而真正主动地利用编写计算机程序解决问题,直接培养了学生的计算思维能力。
        由于App Inventor具有丰富而开发的教学资源,学生可以利用在线学习和讨论提高学习效率,利用App Inventor还离不开很多最新的科技创意学习和使用,因此基于App Inventor的移动应用设计教学具有显著的优势。App Inventor不仅可以作为编程软件工具,还可以产生一系列包含各学科知识的学习软件工具,从而使学生把计算思维的思想运用到信息技术学科以外的学习生活中,真正地掌握计算思维。
        编程学习的意义在于学生可以运用已有编程技巧和方法解决新问题、新任务。教师作为学生的指导者,应该鼓励学生敢于想象,学生以创作者的身份投入到从创意想象到探究实现中,并在提出问题、解决问题的过程中逐步发展计算思维、掌握程序设计概念并内化为一种可用的思维方式。教师还可以创建课程学习QQ群,也可让学生加入AI2服务器上的全国QQ讨论群等社会化平台,共同学习成长,既提升了个体又发展了团队。
        四、连接调试为学生的学习评价提供良好反馈
        App Inventor的使用离不开智能终端的支持,学生完成一个移动应用设计的最后一步是需要连接调试。如果要观看APP设计的动态效果和功能效果,而课堂上又没有安卓设备的话,则可以利用AI伴侣进行测试。当然最佳的体验还是离不开把作品在线连接到移动设备上,通过实际实践应用发现自己设计的不足,从实践中检验自己学到的知识与技能。
        在维护和修改移动应用作品的过程中,要用到测试和调试的技术,这些技术也是计算思维中的核心概念。学生在对移动应用作品制作过程中不断调试测试无疑是锻炼计算思维能力的一种有趣方法。在测试阶段,教师指导学生理解迭代的概念,不断迭代地优化系统模型。
        学生在连接调试阶段需要利用回溯、检错、纠错以及保护的方法不断改善思维方法和计算推理,有时可能还要退回到开始阶段修正优化,例如对组件设计的素材进行规则重命名以及大小、位置等参数调整;又或者要对逻辑设计的模块进行重定义和调用、调整模块拼装顺序、输入参数等。学生通过不断地进行回溯、思考,验证应用结果,反复调试程序,知道满意为止。这个过程也进一步锻炼了学生解决问题的能力,实现对计算思维能力的巩固掌握。
        所以信息技术教师可以基于计算思维抽象的特点,提出丰富有趣的实际问题,通过App Inventor进行求解,来培养学生的计算思维能力。结合计算思维和App Inventor可视化模块拼接编程特点,制订App Inventor项目教学范例的研究性学习规划流程:
        
        
        
        
        
        
        
       
        
        
        
        
        
        打地鼠游戏是在中小学生中比较流行的益智游戏,可以训练玩家的灵敏度,同时它也是程序设计领域具有代表性的案例。在App Inventor的开发团队成员中就有一位非常喜爱打地鼠游戏的女性工程师Ellen Spertus,她在App Inventor创作“打地鼠”游戏号称是为了测试精灵组件的功能(她做到了),她在精灵组件以及“打地鼠”游戏上所做的努力,受到了双重怀旧情绪的驱使——计算机以及游戏——她童年时代的最爱。
        下面通过对打地鼠游戏教学案例的分析,验证上面所提出的在基于App Inventor的课程中训练中学生计算思维能力的项目学习探究活动:

        《移动应用设计》未来必然是普通高中信息技术教育的重点课程之一,同时App Inventor也会是广大师生普遍喜欢的课程内容,App Inventor的特点非常有针对性地解决了当前中小学信息技术课程训练学生计算思维的现状问题。以App Inventor为学习工具,通过研究性学习流程模型,可以有效提高学习和教学效率,培养学生的计算思维能力。App Inventor也有不足之处,它的开发环境配置使用还是存在不少问题,课堂教学操作仍然有一定难度。在这里,只是以App Inventor这个教学工具为出发点,对如何在信息技术课程中培养学生的计算思维能力进行了探讨和尝试,并非否定其他的教学方式和教学工具。仅靠一个程序设计工具或某种教学流程模型是不可能实现周以真提出的“让计算机科学的重要理念成为普世教育一种愿景”,对中小学生计算思维的培养,任重而道远,只能是“路漫漫其修远兮,吾将上下而求索”了。
        参考文献:
        1.Wing JM.Computational thinking[J].Communications of the ACM,2006
        2.祝智庭,面向学科思维的信息技术课程设计:以高中信息技术课程为例[J].电化教育,2015
        3.冯巨恒,基于计算思维的App Inventor教学实践[J].中国现代教育装备,2015
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: