APP下载

“移动应用软件开发”课程案例教学实践

2015-12-07冯璐陈威兵

科技创新导报 2015年27期
关键词:移动应用教学方法改革工程实践

冯璐 陈威兵

摘要:针对“移动应用软件开发”课程知识新、内容广、工程性强的特点,课程教学中提出引入案例教学,以提高学生的学生兴趣,激发其学习潜能,教师能讲授更多知识点。案例教学实践中,做到实验准备充分、精选案例、有效引导、创新性训练、合理评价。实践表明,案例教学能提高学生工程素质和能力,全面提升人才培养质量。

关键词:教学方法改革;案例教学;移动应用;工程实践

中图分类号:G64 文献标识码:A 文章编号:1674-098X(2015)09(c)-0000-00

案例教学法作为一种基于互动、源于启发式教学、与实践紧密结合的教学方法,能充分调动学生积极性,最大限度地发挥学生学习潜能,它已在商学、管理学、法学和医学教学中取得巨大成功[1]。近年,由于案例的“真实性”特性,能培养学生工程素质和能力,已被逐步引入工程教育中,本文讨论它在“移动应用软件开发”课程教学中的应用方式。

1 课程教学现状

1.1 课程起源与课程定位

随移动通信技术的发展,特别是3G、4G移动网络的部署,移动网络的传输能力大大增强,以移动通信网络为平台开展的移动增值业务也越来越多。相应地,在智能手机制造、智能手机应用软件开发、移动增值应用开发和移动WAP网站建设等企业从事软件产品开发、软件工程实施、系统测试和移动WAP网站制作等工作的人才成为了急需人才,据最新行业统计,缺口在100万左右。基于人才需求,软件工程、计算机应用和通信工程等本科专业也就逐步发展出移动技术应用专业方向,或者叫移动互联网及应用技术专业方向。

“移动应用软件开发”是移动技术应用的重要专业方向限选课,课程教学目标是培养移动终端应用产品开发能力和测试能力。课程主要教学内容是:移动智能终端硬件组成及结构、移动终端嵌入式操作系统、移动智能终端上应用的各种主流技术、移动应用软件的设计开发流程和方法。预俢课程主要有:计算机基础与C++程序设计、Java程序设计、嵌入式操作系统、数据库原理、数据与网络通信、移动通信原理、语音信号处理、数字图像信号处理等。

1.2 课程特点

概括起来,“移动应用软件开发”课程主要具有以下特点:

1.知识内容新。智能手机终端是伴随新一代移动通信网络出现的,因此它自身技术出现得比较晚,并且还处在不停的发展过程中。正因为如此,所以本课程直到2009年才在浙江大学等7所高校中首次开设[2],目前,也只有不到30所普通高校开设该门课程。课程本身还处在建设与完善过程中,其教学规律还未完全掌握。

2. 知识涉及面广。一方面手机开发平台多样化,主要有Sybian、iOS、 webOS 、Android、Linux、Windows phone7、Windows CE等,主流的有Google公司的 Android和苹果公司的iOS等。其中,iOS相对来说性能稳定,但由于其开发方式的密闭性,使用受限;Android是基于Linux内核的操作系统,其显著特性是开放性和服务免费[3],它是一个对第三方软件完全开放的平台,开发者在为其开发应用程序时拥有更大的自由度,因而广受欢迎并迅速占领了市场,所以在教学过程中普遍选择Android作为开发平台。另一方面,在学习移动应用开发技术过程中,需要多种知识,包括编程知识、通信知识、网络知识、数据库知识、信息安全知识等,特别强调的是,由于移动智能终端通常要处理多媒体业务,所以还应该掌握语音编码、图像/视频编码等信息处理知识。

3.工程真实性。一方面所开发的移动应用软件都是和我们的日常生活密切相关的,体现出实用性,学生也能感受得到它的用处。这样能提高学生学习积极性,激发其工程创新能力。另一方面开发的移动应用软件都是一个个软件工程,需要采用工程的观念和方式来应对。

2 案例教学的必要性与可行性分析

从上述课程特点看,本课程知识新、内容广、工程性强,采用传统的讲授和演示教学方法,难以使學生在短时间内接受纷繁复杂的知识;如果没有工程实践训练,学生仍然不知道所学知识如何使用,不具备工程实践能力。因此,这样一门工程性极强的课程需要采用适应工程教育的教学方法,比如案例教学等可以和工程实践紧密结合的新型教学方法。

工程类案例具有真实性、综合性、完整性、启发性和实践性特点[4]。案例内容具有知识迁移性,通过案例教学过程,可以达到预定教学目标,使学生获取知识并提高能力。案例教学的实施过程是一个交流、讨论、分析问题的过程,不是满堂灌的过程,容易为学生所接受,也能促使学生主动学习。“移动应用软件开发”的每一个章节基本上是一个主题,都可以用一个案例来说明并实践。案例教学在本课程中实施时,研讨部分只提供一种实际工程的情境,用于讨论软件项目总体设计和难点问题的解决,实践过程在实验室完成或者在学生寝室完成(只需将开发平台安装在自己电脑上),能延长实践教学时间,提高课堂教学效率。总之,在本课程中实施案例教学是可行的。

3 案例教学实践

3.1 案例准备

案例教学的前提是高质量的案例。编制的案例可以来自教师自己的工程实践、合作企业的实际项目,也可以是来自是相关书箱提供的案例,但要注意选择,并进行适度修剪。所有案例级联能覆盖全课内容,形成知识构建。具体案例要有一定规模,不是停留在举例说明的水平,可以给学生思索、发挥的空间;案例通常应有多个知识点,一方面能覆盖整堂课的教学内容,也能涉及已学知识,起到巩固知识的目的。比如多媒体开发一节教学内容,实用的手机多媒体程序很多,侧重点不一样,综合教学内容后,设置的案例如表1所示。

表1 “多媒体开发”一节案例设计

案例名称 音/视频录播机

程序功能描述 ① 实现音乐播放器、视频播放器、录音和摄像;

② 存储音视频文件;

③ 上传下载音视频文件。

教学内容 多媒体开发

教学知识点 VideoView类、MediaRecorder类、MediaPlayer类

巩固知识点 数据库存储与访问、网络通信、Activity和Intent

3.2 实验条件

“移动应用软件开发”是一门工程性课程,需要在授课前进行一定的实验与实践设备平台准备。主要设备内容有:开发用计算机、开发软件、Android实验箱、外围设备模块(包括手机射频模块、WIFI模块、蓝牙模块、摄像头模块、GPS模块、RFID模块、单片机模块、DSP模块、FPGA模块、ZigBee模块等)。因为移动应用程序主要训练的是移动客户端程序,为使开发的程序能得到验证,教师要准备好相应的服务器程序。

3.3 教学过程

具体教学过程包括教师讲解、课程讨论、上机实践和总结评价。仍然以多媒体开发一节的教学过程来说明。

1.教师讲解

首先将案例项目列出,明确待开发程序的功能要求。再将智能手机中和本案例相关的通用程序进行演示,如录音机、音乐、视频、照相机等软件,这些程序和案例程序虽相关但不一样,放在这里演示,可以引起学生学习兴趣,也可以给学生提供直观的感受。

接下来,在演示程序中,找到对应的知识点的关键程序进行基础性的讲解说明,例如实现音频及视频的录制的调用方法步骤说明如下:⑴创建record()方法,调用MediaRecorder的start()方法录制,同时使录制按钮失效,使停止按钮生效;⑵创建stop()方法,调用MediaRecorder的sttop()方法停止录制;⑶创建error()方法捕获异常;⑷创建setPath()方法,设置录音文件的存储位置;⑸创建setProperty()方法,设置MediaRecorder的属性,包括用MediaRecorder.setAudioSource()方法来设置音频源,用MediaRecorder.setOutputFormat()方法来设置输出文件格式;⑹创建setup()方法,使录制按钮生效,使停止按钮失效;⑺为录制按钮添加单击事件,调用play()方法录制;⑻为停止按钮添加单击事件,调用stop()方法停止录制;⑼当实现的MediaRecorder类完成音频的捕捉后,调用release()方法。

在工科教学中,对新知识的学习,讲解是必要的。但在讲解过程中,要由浅入深、循序渐进,注意知识点的融合与比较,做到理论联系实际[5]。

2.课程讨论

案例教学的一个重要环节是课程讨论,可以培养学生分析问题、解决问题的能力。在这一过程中,教师要注意引导,提示案例的“陷阱”所在,即技术难点和疑义问题。在本堂课中,主要疑义问题有:①同一界面,有多个子界面显示,如何布局?②播放视频时使用VideoView类和MediaPlayer类有何区别?③登陆服务器以哪种方式更合理?④当针对通话状态及播放音频时的录音、播放视频时的录像,如何解决程序状态?程序之间如何联络?⑤以流媒体形式播放存储的网络视频时,如何保障视频质量?

教师提出的讨论问题也应该由易至难,先全局后局部。讨论过程中,教师也不能放任自流,注意掌控讨论方向。对旧知识点内容提示为主,对新知识点内容,可以再度讲解、解释。课堂讨论时间是有限的,也不是必须解决所有问题,特别是一些需要学习新知识的问题,可以提出问题,给出解决问题的方向,列出参考书目,一些学有余力的学生可以利用课后时间来进行深层次的学习。在本堂课中,比如Android并不支持所有格式的音视频的编解码,对于一些特殊格式的音视频的编解码需要去学习相关知识,并用C++开发相应的库函数,再由Jave通过JNI机制调用。

3.实践与评价

工程教育不能停留在思辨阶段,最终需要通过实践来获得知识和能力。“移动应用软件开发”是要开发应用程序的,一定要通过上机实践来验证自己的设计方案。简单程序可以独自承担,综合性的大型程序可以2-3人组成团队开发。学生实践过程中,教师只能给出指导性建议,而不是要求学生按标准性流程跟踪完成,即所有的实践要求是创新性完成。

实践完成后,学生要提交总结性的实验报告。虽然案例教学主张实施方案是无标准的,没有统一答案,但教师还是可以根据学生在整个教学过程中的表现、完成程序效果、实验报告质量给出一个等级性的综合评价。

4 结语

在“移动应用开发”这门课程中采用案例教学的方式,是一次有益的尝试。让教师在有限的课堂教学时间里讲授更多的知识点,提高了教学效果;有效地解决了传统教学中学生兴趣低、参与性差,解决实际工程问题能力弱的问题,全面提升了人才培养质量,对移动技术应用专业方向“移动应用软件开发”课程的教学和实践提供了示范性方法。

参考文献

[1] 周云,姚新宇.计算机软件技术基础课程的案例建設[J].计算机教育,2014(2):67-70.

[2] 张琳,容晓峰,沈虹.移动应用开发课程建设与教学模式探索[J].计算机教育,2012 (14):95-99.

[3] 曹晓芳,王超,李杰.一种基于Android智能手机的远程视频监控的设计[J].电子器件,2011,34(6):709-712.

[4] 金明华.高校案例教学之管见[J].黑龙江高教研究,2004,118(2):156-157.

[5] 蒋峥峥,陈晓红,王进等.网络工程专业“网络程序设计”课程的案例教学实践[J].计算机教育,2013(2):27-31.

猜你喜欢

移动应用教学方法改革工程实践
T学校公共设施便捷报修平台的移动应用研究
云计算环境下的微课移动云平台设计
中级财务会计教学方法改革研究
军用建筑机械维修人才培养实践与探索
大数据时代下免费手机软件盈利模式探讨
高分子材料与工程专业实习模式的探索与实践
基于CDIO模式的机械电子工程专业教学体系改革
六步教学法及翻转课堂在数据库原理与应用教学的应用探讨
基于职业标准的三维数字建模技术课程改革
参与式教学法在“自动控制原理”教学中的应用