移动应用开发实验课程教学改革探索
2020-06-08孙欣欣
孙欣欣
摘要:针对当前移动应用开发实验课程存在的问题,对该课程的实验教学进行改革。通过加强实验室硬件设备和软件环境,重新设计实验教学内容,以项目组形式组织自主学习等方式,增加学生的学习兴趣,让学生掌握更加系统的移动应用开发技术,提高教学效率。
关键词:移动应用开发;实验教学;教学改革
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2020)10-0133-02
1概述
随着Android移动终端的普及和使用,移动应用开发岗位对人才的需求量越来越大,基于Android的移动应用开发课程的重要性也日渐凸现。这门课程对于学生的实践动手能力要求较高,因此,如何利用实验课程有限的时间,让学生高效熟练地掌握系统的移动应用开发技术,提高综合开发能力和解决问题的能力,是本门课程的重要目标。
本文分析了当前移动应用开发实验课程存在的问题,之后针对这些问题提出相应的改革思路。
2移动应用开发实验教学问题分析
2.1硬件设备和软件环境落后
Android移动应用开发对于硬件设备的要求较高。移动应用开发依托于Android Studio集成环境,需要搭配8GB以上内存的PC终端,才能比较流畅地开发运行移动应用程序,而高校内实验室硬件设备更新换代较慢,硬件条件上无法满足开发需求。另外,大部分实验教学是在手机模拟器上运行和查看结果,模拟器与真机在实际开发中仍存在一定差异,导致部分实验内容无法在模拟器上运行查看结果,比如涉及需要传感器的应用(GPS、相机、加速度传感器等),且有些实验结果在模拟器上运行正常,但移植到真机上会出现错误。
Android移动应用开发有以下特点:开发工具更新换代迅速;Android系统及相关API更新迭代迅速;第三方框架技术更新迭代迅速。而高校课堂教学内容的更新通常无法跟上移动应用开发软件环境的更新速度,导致学生掌握的技术较为陈旧,无法满足企业项目开发需求。
2.2實验内容与实际项目开发脱节
受实验课程的课时时间限制,每个小实验只针对单一An-droid知识点进行设计,内容简单,且相互之间并无联系,与实际项目开发过程和内容脱节,学生在完成实验内容之后,只是掌握了某个简单的知识点,对于如何系统地完成一个项目开发、开发技术的综合运用都缺乏了解和掌握。当面对较为完整复杂的项目需求时,仍不知从何人手。
2.3学生缺乏学习兴趣和解决问题的能力
大部分学生都至少持有一台Android移动设备,因此对于常用设备上的移动应用开发都有比较高的兴趣,然而课程的实验内容场景设置过于简单,与常用App的使用场景没有关联,无法满足学生对于课程学习的期待值,导致学生缺乏学习兴趣。
大部分学生能完成基础功能的开发,但是当开发过程中出现预期之外的bug时,通常不知道如何下手解决这些问题,而对于实际项目开发,解决问题的能力至关重要,因此如何提高学生解决问题的能力应当作为本课程的重要目标之一。
3加强实验室硬件设备和软件环境
针对目前本课程实验室软硬件环境落后的问题,需要对软硬件平台进行及时更新换代。
3.1加强硬件平台建设
为保证Android Studio集成环境的运行效率,需要将实验室PC机搭配8GB内存,可以通过加载内存条或者更换新PC机的方式实现。为保证运行结果的准确性,除搭载模拟器进行实验结果验证之外,还需要配备几台Android真机,需涉及不同品牌、不同系统版本,方便学生更直观地了解不同品牌、系统版本对于应用程序的兼容性,同时方便设计需要用到硬件传感器的实验内容。
3.2软件环境更新
Android Studio集成开发环境每隔一段时间会发布新的版本,每个新版本会提供新的功能,以及修复旧版本存在的bug,而且新的Android Studio工具可能存在不兼容旧版本代码的问题。为更高效地开发Android应用程序,及时跟上企业项目开发需求,需要及时更新Android Studio开发环境到新的版本。Android系统每年至少会发布一个正式版本,其中开发所用的API也会随之更新,实验课程内容需要更新到较新版本的API,以方便学生掌握最新的开发知识和技术。
4重新设计实验内容
当前实验内容设计较简单,与实际项目开发脱节,且使用场景与常用APP没有关联,很难激发学生的学习兴趣,同时,学生在碰到实际问题时,通常不知道如何解决。针对以上问题,拟从以下方面对实验内容进行重新设计。
4.1以项目驱动方式组织实验内容
Android移动应用开发实验课程包含的主要知识点有:开发环境配置,静态界面开发与事件处理,动态界面开发与事件处理,Activity的创建、启动和通信,数据存储与访问,网络编程。以往的实验内容设计分别针对以上知识点设计一个单独的实验项目,实验目的单一,各个实验项目之间没有关联性,学生完成实验之后,只对某个知识点有印象,却不清楚如何将所有知识点融合在一个项目中完成综合系统开发。
针对此问题,重新对实验内容进行设计。除去第一个实验项目,配置开发环境之外,选择一个综合性项目,将该项目根据知识点进行任务分解,每一个子任务主要针对以上列出的某个知识点,每次实验课完成一项子任务,而且是在上一次实验课已完成内容的基础上添加代码。这种项目驱动的组织方式,一方面,可以让学生在实验过程中了解一个实际的综合项目开发是如何实现的,另一方面,项目越复杂,可能出现的bug越多,学生可以在这个过程中提高自己解决问题的能力。
4.2选择实际使用场景作为实验项目
为了提高学生的学习兴趣,可以选择常用App作为项目内容,比如支付宝、微信、天气预报等。以
App虽然包含了本课程所有知识点,但功能过于复杂,任务分解的难度太大,而且时间有限,学生没办法完成所有功能开发。因此,需要针对本课程知识点,对选定App的功能进行裁剪,最终保留的功能既能针对所有知识点进行练习,又要保证工作量和难度适中。
以支付宝为例,设计实验项目如表1所示。
4.3增加纠错项目
在项目开发过程中,分析和解决问题的能力至关重要,为培养此项能力,需要通过课程实验,让学生掌握logcat工具的使用方法、debug工具的使用方法、常用技术社区(github、stack-overflow、极简、CSDN等)的查阅使用方法。而以上工具和方法的掌握需要通过练习解决一定数量的bug来实现。由于实验内容有限,学生在实验过程中,碰到的bug类型和数量都不足,因此,当实际项目开发碰到问题时,通常不知道从何人手。
通过添加一部分纠错项目,可以一定程度上解决上述问题。即每个实验项目中,都发给学生一份包含典型bug的代码,让学生在运行过程中查看logcat分析bug类型,通过debug工具定位bug位置,再查阅技术社区寻找解决思路,修改并运行成功后,方可通过答辩。以实验六为例,可以将bug设置为“把连接网络通信的代码放到主线程中”,考查学生解决ANR问题的能力。
5以项目组形式组织自主学习内容
受实验课程的课时限制,能完成的实验内容有限,可以在课外布置自主学习内容,三名左右学生一组,选定一个常用App作为项目内容,课下共同完成一个Web+Android综合项目开发。设置项目组组长,进行任务分解,阶段性提交项目进展报告,最终进行答辩验收。这种组织方式,学生可以选择自己感兴趣的项目作为实验内容,更能激发学生的学习兴趣,以项目组形式共同完成一个应用开发,可以锻炼学生团队合作的能力。
6结束语
移动应用开发课程的实验教学在软硬件建设、实验内容设计、学生能力培养等方面仍存在很多问题。针对这些问题,本文从几个方面对该课程进行了改革探索,包括加强硬件和软件环境建设,重新设计实验内容,以项目组形式组织自主学习内容。提高了学生的学习兴趣,增强了学生综合项目开发能力和解决问题的能力,提高了教学质量和教学效率。