任凱+林佳文+高正+顧雋逸+陸偉乾



摘 要: 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
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.