潘夏福
摘要:通过对App Inventor开发环境设计一堂课,利用App Inventor拼图实现一个项目。在课程学习过程中,学生学习App开发的热情明显提高。App Inventor通过屏蔽书写代码的烦琐细节,将学生学习的重点定位到App开发的关键技术上,使得学生能够快速掌握App开发的细节。通过实践,课程取得了较好的效果。
关键词:App Inventor;高职;教学
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2021)02-0052-02
1 App Inventor软件介绍
App Inventor软件是使用Google公司开发的一款拼图式开发软件,它可提供在线编程,能够采用积木块的方式搭建Android手机App。学生可以在0基础的情况下,按照积木块的嵌套方式,直接实现一个日常App。App Inventor软件可以极大减少学生对编程的恐惧,把学习编程简单积木搭建。
在国外,许多学校都在编程入门的时候选择App Inventor作为环境[1],提高学生的计算思维。在国内,部分大中小学已经在计算机课中引入拼图式开发,部分学校还利用App Inventor 支持乐高NXT机器人的特点,将它引入到机器人学习中,实现了把机器人带入课堂。
2 高职学生采用App Inventor软件教学意义
高职学生的基础薄弱,特别是与编程相关的数学能力和逻辑能力较弱,部分学生在学习编程时,书写代码无法完整地表达出要完成的功能,对其中的程序逻辑也无法实现。特别是部分学生英语水平也比较差,对代码书写具有畏惧心理。手机开发或者编程类课程开展十分困难,学生学习效果十分差。App Inventor软件可以屏蔽代码细节,只关注程序逻辑本身,学生可以通过反复操作,掌握技巧。同时App Inventor软件界面简单易用,采用拼图式开发,学生可以当作一种游戏在学习,学生在学习过程中是十分享受的,学习进步十分明显,教学效果十分明显[2-3]。
部分教师还运用STEAM教学理念探索在教学中提高学生的学习兴趣,App Inventor可以明显提高学生学习兴趣,学生学习效果十分明显[4-6]。同时,如果将App Inventor软件引入课外学习,可以很方便实现微课或第二课堂[7-8]。
3 App Inventor软件在教学中的应用
3.1 App Inventor构建在线学习平台实现翻转课堂
App Inventor软件采用在线编程模式,学生可以随时随地进行编程。而且采用积木块方式进行编程,只需要在编程过程中使用平板电脑,携带方便,用户可以在旅途中学习,不会影响学生的各种活动。因此学生的第二课堂就可以使用App Inventor作为开发环境。
3.2 App Inventor实现0基础学习
由于采用积木块的方式开发,学生更多地集中在如何搭建积木实现系统,可以很好地避免在系统实现过程中书写代码的烦琐,学生可以花更多的精力去了解系统的逻辑而不用关心细节上的问题。因此,App Inventor将学习的群体转移到了低年龄段和无基础人员,特别符合让普通人掌握相关计算机编程技术的要求。
3.3 App Inventor提高学生学习兴趣
学生对编程具有天然的抵触,特别是C语言等一系列高级语言,内容繁多,编写代码需要掌握大量的基础知识。学生在学习过程中往往还没有掌握,就已经丧失了对编程的兴趣,对编程产生畏惧心理,学习效果很差。App Inventor软件界面简单易用,操作起来非常容易,而且最为重要的是能够实现非常强大功能的App,在实现项目后,可以直接在手机上测试软件,实现可见即所得的编程方式。学生在实现App后可以获得非常多的正反馈,对学习课程的兴趣有很大的帮助,如果學时足够,还可以采用代码加积木块两种不同方式来验证,对学生理解App开发原理具有很好的效果。
4 App Inventor软件在一次课上的使用
下面以一次以“涂鸦板”这个简单项目作为教学实例,说明如何根据项目的开发过程将App Inventor应用到教学当中。一次简单的App开发过程一般包括下面几个部分:项目需求分析、界面设计、功能设计和测试。
4.1 项目需求分析
教师分析“涂鸦板”的功能,并讲解画布的功能以及采用拖动消息实现,在这一阶段学生主要是获取相关知识,并构思整个App项目如何实现。教师可以在此阶段将学生分组,指定小组长。一般3个人为1组,小组成员之间可以相互讨论,增加学习兴趣,提高学习效率。通过这一阶段的学习,学生已经初步掌握基本知识,可以进入App实现阶段。
4.2 界面设计
学生在这一阶段,可以根据项目的要求设计App的界面,教师可以鼓励学生设计出自己与众不同的界面,激发学生兴趣。学生可以根据App设计规范,按照规范流程设计出App的图标、按钮图标等,然后在App Inventor软件中按照自己设计的东西,拖动控件到手机界面上,采用可见即可得的方式实现界面布局,实现过程非常简单。下面就是项目的界面设计图。
4.3 功能设计
在学生设计完自己的App界面后,可以在App Inventor编程界面,进行编程。教师可以让学生尝试着将各个模块功能积木拖动到界面里面,然后自己组合,分析每一个功能模块组合在一起之后会有什么效果。
在本项目中,主要涉及的内容是控件消息(事件)机制,学生可以通过相关控件的“单击消息”,实现不同颜色的画笔切换,也可以通过“单击消息”更换画笔的粗细,而且其他的一些操作,也可以对“单击消息”进行操作,学生可以通过举一反三的练习,掌握消息机制的概念和操作方法。
本项目的难点是如何实现绘制图画,主要是利用画布进行简单绘画,通过画布的“移动消息”可以获取手指在画布上移动的位置,然后根据位置变化使用选择好的画笔绘制曲线。画布操作是简单游戏制作的必备手段,可以通过画布操作,为后面的游戏制作项目提供基础。学生通过画布操作,对电脑绘制图形有一定的了解,而且采用拼图式开发,学生也就无须关注很复杂的程序细节,且能够形象生动地了解整个App的设计。
通过功能设计之后,学生已经把App所有的功能设计完成了,下面就可以对App的功能和界面进行测试。可以看到,整个App的设计部分是十分简单的,可以跳过许多细节,学生可以很容易掌握。
4.4 测试
测试的方式主要有两种,一种采用App Inventor提供的测试工具AI伴侣,通过AI伴侣可以连接手机或者桌面测试工具进行测试。使用桌面测试软件,学生可以不用手机直接在电脑上查看App的运行结果。AI伴侣可以实时更新界面设计和功能设计的内容,使用起来十分方便。
另外一种方式是直接生成apk文件,然后安装在手机或者虚拟机上测试。这种方式需要将项目进行编译,然后下载apk文件,这种方法操作比较复杂,每次程序更改都要重新编译下载,过程非常烦琐,但是这种方式最贴近手机实际的工作环境,一般作为系统最后测试使用。
通过测试后,学生就可以把自己实现的项目下载到手机里面,然后使用。学生通过项目的实现,可以掌握App开发的整个过程。
需求分析、界面設计、功能设计和测试是完整的一个过程,学生在完成这一个过程后,教师可以提示一下学生是App是否有哪些功能需要改进,哪些功能需要添加,然后要求学生继续在自己的项目上,根据自己的想法,实现自己软件的特色,通过不断这样反复实现,可以让学生学会软件迭代开发的过程,学生也可以发挥自己的聪明才智,将自己的项目打造得更有个性化。
5 学生使用App Inventor软件开发App的效果
学生在使用App Inventor开发App后明显兴趣提高,很多学生都可以自主对App软件进行设计和开发,部分学习比较好的学生还自己设计了许多有趣的游戏,部分还上传到Android市场,非常有成就感。还有很多同学的App参加了各种比赛,获得了很好的成绩,学生编程能力总体上有了很显著的提高。
6 总结
App Inventor软件可以改善传统App开发课程中比较枯燥的形式,以简单的拼图入手学习App开发,它可以把传统编程学习中的烦琐细节屏蔽,学生直接接触到编程的重要原理,特别是程序逻辑方面,图形化的方法天然具有优势。由于屏蔽掉细节,一堂课中可以安排一个完整的项目,设置还可以实现项目开发的简单迭代,比起传统开发当中需要多节课能迅速看到项目开发的完整过程,学生在当时就可以看到自己的成果,对学生是一种激励,学习效果非常好。
但是App Inventor相对于传统App开发也有不足之处,首先就是因为屏蔽掉细节后,能够开发的内容没有原来的深入,定制一些特殊功能比较困难。另外,拼图式开发只适合小项目,当项目比较大的时候,拼图管理比较困难,查看不太方便。
因此建议在教学当中适当引入传统的App开发,App Inventor作为快速实现,编写代码可以相互印证,而且也为App深入学习打下基础。
参考文献:
[1] 师硕,郭迎春,于洋.美国高校计算机科学原理课程介绍及启示[J].计算机教育,2018(1):139-143.
[2] 刘琼,史诺.基于APP Inventor构建高职学生计算思维能力培养模式[J].无线互联科技,2018,15(17):43-44,85.
[3] 谭梁.计算思维和App Inventor的信息技术课堂教学探究——以家庭药箱APP设计为例[J].中国教育技术装备,2017(21):30-32.
[4] 叶绍锦.对App inventor教学中的问题及改进方法[J].知识文库,2018(13):136.
[5] 潘婷婷,梅娟.App Inventor在高职计算机教学中的探究[J].电脑知识与技术,2018,14(17):161-162.
[6] 杜静.STEAM教学理念下的App Inventor教学探索[J].教育革新,2018(8):57.
[7] 郑治武.App Inventor在高职Android移动应用类课程中的教学研究[J].无线互联科技,2017(18):102-103.
[8] 钟浩然.微课程支持下的信息技术第二课堂教学探索——以App Inventor教学为例[J].教育信息技术,2018(4):74-76.
【通联编辑:王力】