论文部分内容阅读
摘 要: 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 "
关键词: 移动开发学习平台; 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 "