唐剑梅
(西华大学计算机与软件工程学院,四川成都610039)
国家提出“互联网+”战略后,社会对移动应用开发人才的需求量增加,高校相继开设安卓移动应用开发相关课程[1]。“移动互联高级应用开发”是西华大学计算机与软件工程学院软件工程系的移动开发方向的专业选修课。学院将原教学计划中的“移动软件开发基础”与“移动软件项目实训”课程调整为 “移动互联开发基础”与“移动互联高级应用开发”两门课。Goolge公司2007年发布Android平台,自2011年以来一直远超IOS、WindowsPhone等其它智能手机平台,稳居全球智能手机市场份额第一的位置。“移动互联高级应用开发”课程主要介绍针对Android移动平台的软件开发,选修该课程的学生几乎全部学过先修课“移动互联开发基础”。
“移动互联高级应用开发”课程是移动开发方向的重要专业课,学生从中习得的知识和技能将对毕业设计和就业有直接影响。课堂教学质量直接关系着人才培养质量,也是衡量一所学校教学质量的准绳[2],对教学模式进行探索并及时总结经验有着重要意义。本文将从课程培养目标及内容设计、混合式教学模式的设计与实施及课程考核方式三个方面对该课程的教学模式探索与实践进行介绍。
学生在“移动互联开发基础”课程中学习了移动开发程序文件的组成、资源管理、核心组件、界面布局设计、UI组件、数据存储、触摸和手势事件处理等移动互联软件开发的基础知识和技能。“移动互联高级应用开发”课程的教学目标则是使学生进一步掌握移动互联软件开发中的多媒体技术、进程与线程、通知与后台服务、手机服务、网络编程、位置服务与地图应用等高级应用技术,能够综合运用这些技术进行移动互联应用软件开发,并培养学生的自主学习能力、创新意识及团队协作的能力。
根据学院的专业教学计划,“移动互联高级应用开发”课程总学时数为48个学时(24个理论学时+24个实验学时)。由于目前市面上并没有合适的分别针对移动开发基础和高级开发技术的教材,所以需要教师根据教学目标,融合多本教材和参考书籍设计出课堂讲授内容及对学生的课后学习要求。本课程的教学内容分为八部分,课时分配如表1所示。
表1 教学内容及课时分配
具体各部分教学内容如图1所示。
“移动互联高级应用开发”课程既有针对各种移动开发高级应用技术的以教师讲授和学生上机练习为主的阶段,也有在课程后期分组进行项目开发的学生自主学习和实践的阶段,所以教学实施不宜采用单一模式,借鉴以往相关课程的教学经验,针对本课程特点进行设计,最终决定混合采用基于项目小组的群组式学习、基于问题导向的启发式学习及基于微课的碎片化资源学习等多种方式实施教学。
图1 各部分教学内容
在先修课“移动互联开发基础”中,学生对相关知识和技术的掌握程度已有一定程度的自我认知和互相认知,所以本课程一开始,教师对学生进行分组,每组4-6人[3]。上课时各小组集中坐在一起。这种群组式的学习方式,有利于学生以小组为单位进行协作学习与提升。小组内共同学习探讨有利于优生带动差生,培养团队协作能力。同时,成员彼此熟悉各自的优势和劣势,有利于课程后期项目开发时组内分工。教师在课堂上提出启发式问题时,学生也便于以小组讨论形式找到解决方案。
在单项实验课上,主要进行对各部分知识和技术点的验证或设计性实验。教师给出实验指导书,学生按照实验指导书进行实验,教师进行辅导。组员可以在遇到问题时互相讨论,但必须动手实践,独立完成实验。由于学生在完成实验的进度上会有差异,因此实验题目除了要求学生必须全部完成的基础题目外,还适当增加部分扩展技能的选做题,供学有余力的学生练习。
“移动互联高级应用开发”课程教学内容,1-6部分相对独立,教师提供的学习资料是从多本教程或资料搜集而来,每部分的知识和技术都在手机上一些常用的应用软件的开发中有所应用,所以在课堂讲授时,很适合采用基于问题导向的启发式教学[4]。每次课的开始,教师提出本次课的教学目标和任务,介绍手机上常用的一些App作为知识技能应用示例,引出学生的兴趣和求知欲;接下来教师针对本次课学习内容抛出几个技术层面的问题,各组讨论,选出代表给出本组讨论结果;教师再通过程序实例讲解具体编程思路与技术。教学内容完成后,教师还可提出扩展问题要求学生以组为单位课后查找资料并讨论得出解决方案。
在先修课“移动互联开发基础”中,Android开发环境的搭建采用的是Eclipse+ADT的方式。该方式使用广泛,对硬件的配置要求相对较低。考虑到课程的衔接性,本课程沿用Eclipse+ADT方式。但由于Google公司在2013年发布了Android Studio作为官方IDE工具,放弃了对ADT的更新,并建议广大Android开发者尽快改用Android Studio,因此Android Studio将是未来Android开发中的主流编译器。因此,教师在课程的后期补充介绍Android Studio,以便学生在分组项目开发中有选择地使用。但由于课内时间有限,需要学生课后自学。为了完成教学内容,教师必须控制上课的节奏,但由于基础不同,会有少数学生不能完全跟上教师教学进度。
考虑到上述因素,教师可推荐一些适合课后学习的碎片化资源[5],比如推荐一些有配套微课的参考书籍,要求学生课后自学。这种碎片化的资源具有灵活短小、网络传输快、问题性强等特点,适合学生随时随地在移动设备上进行学习。
课程分组项目开发阶段,教师介绍项目选题要求,APP的类型不限,但要求覆盖本课程所学的多个知识和技术点,有一定工作量和技术含量。组员集体讨论拟定选题交由教师审核。各组题目确定后,教师讲解各类题目的项目开发报告写作规范及答辩PPT的制作要点。然后各小组作为一个开发团队,分五个阶段完成工作:①项目分析设计及成员分工(分工由组长主持,按照成员意愿协调,注意兼顾各成员的特点及工作量的均衡性);②各模块设计与实现(组员完成自己负责的模块);③项目各模块集成与测试;④项目开发报告写作与答辩PPT制作;⑤分组项目答辩及成果提交(提交内容包括答辩PPT、项目源码、项目开发报告)。
根据“移动互联高级应用开发”课程的特点,以对知识和技术的实际应用能力为主进行考核,课程总成绩的构成分为四项:①平时成绩(10%):由课堂考勤、课堂小练习及小组回答问题的表现折算成分数;②实验成绩(40%):由6个单项实验的成绩组成。对于各单项实验的成绩评定,主要根据实验签到、题目完成情况和实验报告给出分数;③期中考试(10%):放在课程中后期进行,目的是对课程各部分知识和技能进行上机考试测试,以主要知识和技能点的考核为主;④分组项目开发 (40%):对于分组项目开发的成绩评定,由各小组通过答辩PPT对项目进行展示和讲解,然后教师及其它小组的学生提问,由小组中对应模块的负责成员回答,然后教师点评。最后教师与其它小组分别打分并按一定比例计算出小组成绩,组员成绩由教师根据小组分工和完成情况在小组分数的基础上上浮或下调一定分数给出。
“移动互联高级应用开发”是一门实践性很强的课程,是移动开发方向的重要专业课程。根据实际教学情况来看,课程很好地激发了学生学习的热情,出勤率非常高;分组项目开发也挖掘出了很多有潜力的学生团队,已经具备一定的团队开发的能力,有一些小组以团队方式积极参加相关赛事,或在教师指导下申请省级或国家级创新创业训练项目。但是由于该课程是新开课,教学方法和措施还在探索性实践的过程中,需要在以后的教学过程中及时总结经验和查证效果。教师也可在教学过程中借助学校的麦可思教学质量管理平台制定即时评价的调查问卷,收集学生反馈的信息,据此调整教学方式和手段。