导航菜单

面向Android移动开发的编程思维能力训练与培养研究

张建兵,范江波

(中国石油大学(北京) 信息学院, 北京 102249)

摘 要:面向培养实用型、技术型移动应用开发软件人才的需求,从教学内容、学习方式、职业能力等几方面探讨如何在移动开发教学中进行学生的编程思维能力训练,介绍培养学生编程思维能力的几种方法。

教育期刊网 http://www.jyqkw.com
关键词 :移动开发;教学改革;编程思维

基金项目:中国石油大学(北京)重点教改项目 “Android移动终端开发项目式教学探索”(中石大京教[2014]16号)。

第一作者简介:张建兵,男,讲师,研究方向为网络地理信息系统、空间信息服务、云计算,zhangbing153@163.com。

0 引 言

近年来,随着智能手机和平板电脑的普及,Android操作系统已经成为智能手机和平板电脑的市场主导力量[1],发展势头非常迅猛。各家智能终端生产和研发公司都投入Android应用软件开发。由于Android在国内发展才几年的时间,因此人才的稀缺性问题日益凸显[2]。目前,我国许多院校的计算机相关专业都将Android应用开发作为一门重要的专业课程[3]。掌握一门移动开发技术能够为学生顺利就业打下基础。

近几年,大学毕业生面临越来越大的就业压力,这就要求高校教师在课堂教学中直面就业市场的变化,更加注重学生动手能力的培养。Android移动开发的教学不同于数学和自然科学学科,它更强调动手和实践,突出基本技能和动手能力的训练。程序设计具有抽象性、系统性和逻辑性,编程思维是学习程序设计的重要基础,也是软件人才的必备能力[4]。因此,要想培养合格的实用型移动应用开发软件人才,培养其Android移动开发的编程思维能力尤为重要。

目前,Android移动开发教学中能力的培养还停留在掌握基础知识和基本操作技能的阶段,大多是老师说得多,学生做得少,靠“填鸭”的方式让学生掌握知识,缺乏对学生分析和解决问题能力的培养,还没有上升到发展学生思维能力[4]、提升学生创新意识的高度,因此Android移动开发教学中的编程思维能力训练与培养日益成为Android移动应用开发教学改革中的重点。

1 面向思维能力培养的Android移动开发教学方式改革

1.1 细化Android移动开发思维训练

根据Android移动应用课程的特点,教师可将Android移动开发思维训练细分为4方面:界面开发思维训练、图形图像开发思维训练、数据存储开发思维训练和多媒体开发思维训练。教师要针对移动开发的这4个主要方面,采用不同的思维训练培养模式。

移动应用的界面开发思维训练主要采用对比思维方式进行。教师可在课程中设计一个应用项目如图书管理系统,定义该系统中登录界面、添加图书、修改图书、查询图书等几个主要界面,然后让学生分别采用Java图形用户界面技术和Android图形用户界面技术予以实现;通过对比分析,归纳出Android图形用户界面开发不同于Java图形用户界面开发的特点。

图形图像开发思维训练基于逻辑推理的思维方式进行。例如,教师在讲解Android中图像绘制步骤时可以采用逻辑推理的方式:使用逆向推理,将图像开发过程中几个所需的API方法串起来。要想显示图像需要drawBitmap方法,要使用drawBitmap需要构造Bitmap对象,Bitmap对象的构造可以借助于BitmapFactory的decodeResource方法,需要提供Resources对象,因此需要使用getResources()方法。Android图像绘制的逻辑如图1所示。

数据存储开发思维训练采用分类法方式。教师要考虑Android中移动存储的各种情况并进行分类讲解:简单存储、文件存储、数据库存储、网络存储和ContentProvider存储[5]。Android移动存储分类如图2所示。

多媒体开发思维训练采用化难为易、复杂问题简单化的方式,促进学生掌握知识。多媒体开发技术部分涉及音频、视频、录音等多个方面,学生往往在这些方面的基础还很薄弱,因此教师应首先做到复杂问题简单化讲解。理论部分使用通俗的语言和学生理解的术语进行解释,进行理论弱化和实践强化;实践部分使用简明的讲解和演示,进行开发步骤讲解,辅以案例直观教学。首先围绕MediaPlayer、SoundPool、VideoView、SurfaceView关键类讲解;然后指出关键多媒体开发的关键步骤create→setDataSource→prepare→start→stop。

1.2 以“读+演+改+练”为基础进行思维训练,注重引导

Android是一门实践性很强的课程,可以结合实例演示配合课程知识点的讲解。我们在Android教学中提倡课堂现场编程调试分析代码,学生可以直观感受代码如何从零开始演化并一步步地发展,进而形成最终的解决方案。通过现场编程引导,学生能够始终集中注意力,令学习曲线平缓上升,极大地改善授课效果。教师可在课堂上通过“读+演+改+练”引导学生看代码、用代码、学代码、改代码和编代码,帮助学生直观感受一些编码风格,清楚地了解代码的调试过程,提高学生实际解决问题的能力。

1.3 鼓励发散性思维,探讨最佳实现方式

为了及时了解和掌握学生的学习情况,教师应在师生之间建立良好的交流平台。通过建立Android移动开发学习论坛,教师可以给学生的课程实践部分搭建相互学习的平台,同时尽可能多地得到学生反馈回来的信息,及时根据实际情况进行适当调整,避免在教学过程中出现教学和实践脱节、教学计划和学生实际学习情况脱节的后果,掌握学生学习和开发能力的情况。在课程实践中,教师应鼓励学生针对一个问题提出多种解决办法,灵活运用知识,采用发散性思维。

1.4 以实际问题驱动思维训练

在Android课程教学中,教师在加强引导的同时一定要突出实用性。例如,以学生进行推优选举活动为契机,鼓励学生编写移动版班级推优系统;以每年的Android程序大赛为契机,鼓励学生采用所掌握的开发技术,组成小组参加比赛;鼓励学生完成一些跟校园创业大赛相关的移动类作品。通过参与项目驱动教学,学生可以明确学习目标,不再把学习当任务,而是根据项目需求进行学习,由被动地接受知识转变为主动地寻求知识,培养自主学习、分析问题和解决问题的能力。

2 面向思维能力培养的Android移动开发实践教学

实践教学是Android移动开发课程必不可少的环节,是培养学生上机动手操作能力、综合运用知识能力的必需环节。实践教学也是高等学校本科教学的重要环节,是培养高素质、应用型复合人才的重要教学手段。实践教学的质量直接影响学生的工程实践能力和就业机会,因此教师需要精心设计实践教学的内容。

在实践教学中,教师应突出移动开发技术与计算机图形学、图像处理技术、多媒体动画技术、网络技术和数据库技术的结合,以移动平台的多媒体动画开发、图形图像、网络开发技术和数据库开发技术为应用切入点,充实Android移动开发课程的应用环节。

2.1 面向就业选择教学开发环境,突出真机调试

Android移动应用开发有许多集成开发环境( IDE),其中以Eclipse最为流行和功能强大,它提供了语法敏感的编辑环境,不需要配置环境,带有很强的软件测试与调试功能。在教学中,我们选择Eclipse开发工具用于该门课程的实践开发。在教学的前几周,让学生熟悉Android开发环境的配置,移动应用的架构、组成、框架以及编译、执行和调试过程。前两次的实验让学生在模拟器上发布应用和开发调试;后面考虑开发效率、方便实用等因素,使用集成开发环境,在真机上进行相应的调试。

2.2 实验内容设置突出趣味性和实用性

结合具体课程授课知识点,教师可有针对性地设计实现一些有意义、有趣味的小程序。例如,在学习完图形用户界面后设计实现一个简单的自动考试系统,可以随机生成一些四则运算题让学生作答,之后可以自动评分;另外,针对班级推选优秀生,设计移动版班级推选系统。通过这些实验内容,学生会对Android的开发和应用有更具体的认识,更加激发学习兴趣。

2.3 面向就业,偏重多媒体动画开发、图形图像、网络开发和数据库开发内容

从学生未来就业以及目前手机平台应用的趋势分析,我们在实践内容的设置方面重点突出移动平台与多媒体动画开发、图形图像、网络开发、数据库开发等方面的结合,有针对性地设置各部分实验内容,提升学生移动应用开发的技能,促进编程技巧的掌握和应用技能的提高,以强化实践应用的方式推动实用型移动软件人才的培养。

3 项目驱动教学,促进学习方式转变

传统编程类课程教学靠“填鸭”的方式让学生掌握知识,学生的学与练脱离也不利于学生消化理解理论知识,因此结合多年的移动应用教学以及软件开发实践,我们提出“读+演+改+练”的移动应用学习方法,刺激学生对编写程序产生兴趣,从不懂到会读懂程序,进而到会修改程序,直到会自己动脑思考设计程序;同时注重培养学生的自学能力,一方面引导学生学习使用API 文档,另一方面引导学生利用网络平台自主学习和解决问题。另外,教师以每年的全国大学生Android应用开发大赛为契机,鼓励学生组成小组参加比赛。通过项目驱动教学,学生不再把学习当任务,而是根据项目需求进行学习,由被动地接受知识转变为主动地寻求知识,从“让我学”变成“我要学”。

4 Android移动开发职业能力培养

Android移动开发是一门实践性非常强的课程。学生的程序设计职业能力培养需要经过大量的编程训练和上机实习。为了提升学生的编程职业能力,我们把实践教学内容分为课程实训、项目实训和职业能力训练,通过在教学中引入项目开发实训,选取适当的项目案例让学生参与到项目设计中。在教师的指导下,学生进行分组,按照团队的方式独立完成整个移动应用开发项目需求分析、系统设计、详细设计、编码、测试、编写文档的过程;然后由教师分析需要的知识结构和技术路线并对项目进行分析,分解知识点,对学生进行全程跟踪指导,对学生上交的作品进行总结和回顾。通过这种方式,教师能够培养学生的程序设计技能以及团队合作精神,为学生未来走向社会和适应软件企业的需求奠定良好的基础。

5 结 语

Android移动开发课程是一门实践性很强的课程,如何从编程思维的高度提升学生的实际动手能力一直是本门课程教学改革研究的重点。我们通过在教学过程中有针对性地进行界面、图形图像、数据存储、多媒体等方面的思维训练,在实践教学内容的设置上引入项目驱动,突出职业能力培养等多种措施的结合,较大地提升了学生的移动开发能力。教学实践表明,移动开发编程思维的训练对于培养实用型移动开发技术人才至关重要。然而,目前移动编程思维能力的训练还存在能力培养不均衡、部分基础较弱的学生学习效果不明显的问题,如何进行团队互促型、多层次、多方面的编程思维训练是我们未来需要进一步探索的课题。

教育期刊网 http://www.jyqkw.com
参考文献:

[1] 刘仙艳. 移动终端开放平台: Android[J]. 信息通信技术, 2011(4): 50-53.

[2] 杨功元, 李桂珍, 李欣. Android 应用程序开发课程建设探索[J]. 计算机教育, 2012(16): 85-88.

[3] 刘成明, 李玮玮. Android手机开发课程的案例教学法[J]. 计算机教育, 2014(14): 37-40.

[4] 叶恒舟, 牛秦洲. Java教学实践与编程思维培养[J]. 计算机教育, 2009(21): 115-116.

[5] 王向辉, 张国印, 赖明珠. Android应用程序开发[M]. 北京: 清华大学出版社, 2013: 181-225.

(编辑:宋文婷)

下载文本