APP下载

基于CDIO模式的移动开发学习平台建设

2017-05-04任凯林佳文高正顾隽逸陆伟乾

智能计算机与应用 2017年2期

任凯+林佳文+高正+顾隽逸+陆伟乾

摘 要: CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate),是“做中学”和“基于项目教育和学习”的集中概括和抽象表达,是目前进行的工程教育改革战略之一。以iOS和Android为主要代表的移动开发人才需求增长迅猛,同时,这2个平台的开发技术本身也在不断发展中,造成学习的困难性。本文以高校的移动开发教学为主要研究对象,运用CDIO教育模式对移动开发课程的教与学进行探讨,为高校建设一个专门学习iOS和Android知识的平台,通过这个平台提高移动开发的教学效果。

关键词: 移动开发学习平台; CDIO; iOS开发学习; Android开发学习

中图分类号:TP393

文献标志码:A

文章编号:2095-2163(2017)02-0139-03

Abstract:CDIO (means Conceive, Design, Implement and Operate), is the concentration of generalization and abstract expression of "learning by doing" and "project-based education and learning", which is recognized as the most extensive influenced and most widely accepted engineering education model. At the same time, the talent demand of iOS and Android development, the main representative of mobile development, is growing rapidly. However, both development platforms are constantly developing. This brings great difficulties to mobile technology study. This paper takes the mobile development of colleges and universities as the main research object, and discusses teaching and learning of the mobile development course using the CDIO education model. Furthermore, the paper builds a special learning platform of iOS and Android knowledge, by which the teaching effect of mobile development can be improved.

Keywords:mobile development learning platform; CDIO; iOS development learning; Android development learning

0 引 言

2013年12月我國电信产业正式宣布进入4G时代,随着移动通信技术的优化升级,以手机和平板电脑为主要代表的移动终端设备也发展迅速,其中以Android和iOS平台尤为突出,最近新有统计显示,Android和iOS市场占有率合计达到98.4%,已经呈现统领瓜分智能手机市场之态势。与此同时,移动互联网与各行各业加快融合,人才需求增长迅猛[1],其中移动开发人才需求则更见显著增幅。高等学校作为移动开发人才培养的主力军,面临着新的挑战,因此需要进一步重视高校教学活动的研究开展。但是,Android API和iOS开发API在持续更新中,新旧版本之间差异颇大,现有教材和参考书籍与产业发展之间难达协调同步,网络资料过时、繁杂,这些因素都给移动开发课程教授带来困难。

另一方面,经过多年移动开发教学实践的考察探讨可知,当前有一部分大学生暴露出如下的学习行为特点:普遍具有较强的求知欲,但有些基础理论掌握薄弱,动手能力不强,遇到困难容易退缩,这些特点使得传统的教学方式不再适用于这一群体。

CDIO是近年来已获国际公认的工程教育与人才培养模式,并且现已发展成为计算机实践教学改革的有效途径之一[2-4]。为了更加切实高效地培养移动平台开发领域的专门人才,本文即在参考借鉴已然推出平台[4-7]的基础上,设计构建了一个围绕CDIO模式、且基于Web和Android的移动开发学习平台。该平台可以通过教师发布最新的移动开发教学视频,使教学视频和课程之间的内容联系更紧密、衔接更顺畅。利用该平台,学生可根据任课教师发布的视频边做边练,在不断的练习中掌握移动开发技能,从而真正解决计算机专业本科教学(包括实验课程、毕业设计、实习)课时紧张的问题。

1 系统实现背景

1.1 Android开发教学面临的难题

Android从2007年实现首版发布以来,不同版本的市场占有率时有变化,而应用程序接口也在不同版本中常态性发生着迭代更替。所以,去年的代码在新的API中可能就不能运行通过,这种更新却由于成本问题难于在教科书中展现和呈现。

Android开发使用Java语言,在2015年前则是以Eclipse为集成开发环境,赢得了一批Java程序员的欢迎。随着新的API的出现,Android平台不断增加新功能,Eclipse在满足新需求上即陆续遭遇瓶颈。考虑到提高开发环境易用性的效果目的,2013年5月Google在I/O大会上推出了新的开发工具Android Studio。在2015年底Google官方宣布将不再对Eclipse环境追加技术维护。截止发稿日期为止,Android Studio总共发布了3个大版本,每个版本都会产生较大变化,这就给学生学习Android编程带来了困难。至此,研究给出了有关Android Studio和Eclipse的优缺点对照比较,具体如表1所示。

1.2 iOS開发教学面临的难题

苹果手机和平板电脑应用程序的开发必须有赖于XCode开发环境的设定支持,XCode开发环境则必须依托苹果操作系统,并且不同的XCode版本和苹果的操作系统是一一对应的。2014年以前苹果官方主要使用Objective-C编写iOS和苹果操作系统下的应用程序,2014年苹果于WWDC(Worldwide Developers Conference,苹果开发者大会)发布了新开发语言Swift,旨在使编程更趋简单、灵活、有趣,最终目的是让Swift编程更加通用、更加多样化—除了苹果平台的应用,开发者也可以在其它项目中使用这个编程语言。目前,国内大部分苹果应用程序的开发都是使用Objective-C,但是使用Swift开发已是大势所趋,国外很多企业已经转向使用Swift作为主要开发语言,国内很多企业也开始为新语言集聚储备人才。图1即是全球著名软件评价公司TIOBE公布的3种计算机语言市场占有率动态图。

2 系统实现

2.1 系统架构与功能

该平台由Web子系统和Android子系统构成,功能上2个子系统大致相同。Web子系统采用Spring MVC和Struct2的Java EE软件架构,后台使用MySQL数据。Android子系统通过发送HTTP请求到Web服务器,Web服务器返回JSON格式数据,Android客户端通过解析JSON数据展示信息。整体的系统架构如图2所示。

平台的设计中是使用学号或工号实现登录。教师可以查看/修改个人信息、导入学生名单、发布视频和作业、设置视频浏览权限、下载/检查学生作业、查看留言等。学生则根据学号和手机号进行注册,登录后可以收看视频完成同步作业、上传作业、对视频进行评分、在线留言、浏览学习历史等。系统管理定期将评分较低、过时的视频下架并且通知上传人。系统的功能模块划分即如图3所示。

2.2 核心模块的实现

Android子系统主要是数据的展示,该系统除了使用SharedPreferences保存少量数据外,大部分数据是通过和服务器交互得到。以学生获取课程信息为例,核心代码如下:

String url = NetUtils.SERVER_URL_COURSE_SERVLET + "&action=getCourse";

String webContent = web.getWebContent(url);

courseData=(CourseData) JsonUtil.json ToObject(webContent, GetCourseDto.class );

服务器端获取客户端发送的请求后,从数据库中查出数据并发送JSON格式的数据,核心代码如下:

if(action!=null &&action.equals("getCourse")) {

CourseData cd=new CourseData();

List result =CourseDao.getInstance().getAll();

status =ConstantsUtil.SUCCESS;

cd.setResult(result);

cd.setStatus(status);

out.print(JsonUtils.objectToJson(dto));

}

观看视频是系统的关键设计功能。学生登录后点击视频,客户端收到消息后向数据库查询学生的权限信息,如果该学生有权限观看该视频,则查询视频信息表中视频存放路径,发送该链接给客户端观看,图4是整个过程的时序图。

[LL]Web页面服务器端播放视频的代码如下所示:

document.getElementById("gocourse").className="videoitem";

var myVideo = document.getElementById("myvideo");

myVideo.currentvideo = 0;

myVideo.addEventListener("ended",

function() {

myVideo.src =" $[WT5”BZ]{videoUrl} ";

if (myVideo.paused)

myVideo.play();

else

myVideo.pause();

});

3 结束语

本文研究论述了基于CDIO模式的移动开发学习平台的设计与实现。该平台Web子系统部署在标准的Web容器中可以实现全部功能,Android子系统已通过模拟器和真机测试。下一步需要解决的即是如何在大用户量情况下实现视频下载观看的速度流畅问题。

该平台是对我国高校移动开发课程CDIO工程教育模式的丰富和发展,对在信息快速发展的大背景下,如何在移动开发课程中优化展开CDIO的工程教育模式具有重要的研究推动意义。

参考文献:

[1]卢迪. 移动互联网人才需求及高校移动互联网人才培养现状分析[J]. 现代传播(中国传媒大学学报),2015(6):141-146.

[2] 陈卫民. 基于CDIO的Android教学改革探索[J]. 当代教育实践与教学研究,2015(6):27.

[3] 王向辉,崔巍,徐俊丽. 基于CDIO的数据库课程教学改革方案研究[J]. 计算机教育,2011(2):38-41.

[4] 查建中. 论“做中学”战略下的CDIO模式[J]. 高等工程教育研究,2008(3):1-6,9.

[5] 刘帅. 基于视频课程的移动学习系统的设计与开发[D]. 北京:北京邮电大学, 2015.

[6] 刘政利. 基于iOS的移动学习平台设计与实现[D]. 郑州:郑州大学, 2014.

[7] 段学东,何九周. 基于敏捷思想的iOS平台软件的设计与实现[J]. 计算机技术与发展,2012,22(9):53-58.

[8] 康全礼,陆小华,熊光晶. CDIO大纲与工程创新型人才培养[J]. 高等教育研究学报,2008,31(4):15-18.