肖逸飛,吉家成,黃飛虎
(電子科技大學(xué),成都611731)
移動開發(fā)類實驗教學(xué)探討
肖逸飛,吉家成,黃飛虎
(電子科技大學(xué),成都611731)
隨著移動互聯(lián)網(wǎng)、互聯(lián)網(wǎng)+的飛速發(fā)展,計算機技術(shù)人才的市場需求與高校學(xué)生的培養(yǎng)方式發(fā)生了重大偏移,如何將學(xué)生的培養(yǎng)融合人才市場的需求成為高校亟需解決的問題。其中,移動開發(fā)類實驗課程符合當前市場需求,但在國內(nèi)鮮有涉獵,學(xué)生普遍缺乏移動開發(fā)理論及認知。鑒于此,提出了一門全新的實驗課程——基于Android的嵌入式開發(fā)綜合實驗,提出“實驗三步走”的教學(xué)理念,通過講教結(jié)合、軟硬結(jié)合的教學(xué)方式提升學(xué)生對移動開發(fā)的興趣與水平。通過實踐證明,該課程對學(xué)生掌握移動開發(fā)概念、提高移動開發(fā)水平,起到積極的作用。
移動開發(fā);實驗課程;教學(xué)改革;Android
隨著移動互聯(lián)網(wǎng)[1]、互聯(lián)網(wǎng)+[2]的飛速發(fā)展,計算機技術(shù)人才的市場需求與高校學(xué)生的培養(yǎng)方式發(fā)生了重大偏移,如何將學(xué)生培養(yǎng)成為具有綜合素質(zhì)和實踐能力的創(chuàng)新型人才,以適應(yīng)當前社會的發(fā)展,是高校亟需解決的問題,也是高校當前不斷探索的主要教學(xué)改革課題[3]。
自2007年推出移動智能終端以來,移動應(yīng)用規(guī)模盛況空前,2013年底,蘋果App Store及谷歌Google Play應(yīng)用下載量均達到500億次,應(yīng)用規(guī)模均超過100萬個。同時,根據(jù)國際電信聯(lián)盟的數(shù)據(jù)顯示,截止到2013年9月,全球移動互聯(lián)網(wǎng)用戶數(shù)接近全球人口數(shù),達到了71億。據(jù)CIRP報道,截至2017年初,谷歌的Android和蘋果iOS兩個操作系統(tǒng)總共占據(jù)了美國移動市場98%的份額,剩下少得可憐的2%則由Windows手機和其他一些平臺所瓜分[4],如圖1所示。僅7年時間,ICT核心的技術(shù)平臺體系完成從PC(Wintel)到智能手機(Android&iOS+ARM)的轉(zhuǎn)移,軟件架構(gòu)模式已由傳統(tǒng)互聯(lián)網(wǎng)下的C/S、B/S模式向移動互聯(lián)網(wǎng)下的Web+App模式傾斜。

圖1 美國移動市場操作系統(tǒng)份額
為適應(yīng)主流軟件開發(fā)技術(shù)向移動互聯(lián)網(wǎng)傾斜這一趨勢,計算機科學(xué)與技術(shù)專業(yè)的嵌入式開發(fā)課程改革已經(jīng)在世界范圍內(nèi)展開。全球知名高校斯坦福大學(xué)、麻省理工大學(xué)、卡內(nèi)基梅隆大學(xué)早在2007年左右已經(jīng)對計算機類課程進行了改革,為學(xué)生開設(shè)諸如“開發(fā)iPhone與iPad應(yīng)用”、“iPhone應(yīng)用開發(fā)”等移動應(yīng)用課程[5]。與此同時,國內(nèi)諸多高校也紛紛加入改革隊伍,2010年以來,Google正式啟動Google校企共建Android類實用課程項目,與北京大學(xué)、西安交通大學(xué)、廈門大學(xué)等國內(nèi)知名高校建立校企合作關(guān)系[6]。然而,雖然國內(nèi)高校對移動開發(fā)課程改革響應(yīng)迅速,但總體上仍然缺乏從全方位專業(yè)建設(shè)角度進行的調(diào)整,難以為高校學(xué)生建立全面的移動應(yīng)用知識框架。因此,面對國內(nèi)移動互聯(lián)網(wǎng)、互聯(lián)網(wǎng)+的浪潮,國內(nèi)計算機科學(xué)與技術(shù)專業(yè)課程改革依然迫在眉睫。
國內(nèi)計算機實驗類課程普遍屬于基礎(chǔ)類、通識類實驗課,所用計算機相關(guān)技術(shù)過于老舊,缺乏與時俱進的新技術(shù)及新思想。例如,計算機圖形學(xué)普遍采用MFC進行圖形化軟件繪制,MFC是微軟于1992年發(fā)布的一個類庫,用于面向Windows的軟件開發(fā)。雖然MFC有面向?qū)ο蟮乃枷耄⑶以创a開源。但MFC的一些封裝過程過于復(fù)雜,對于大二、大三學(xué)生來講,很難在短時間內(nèi)快速掌握MFC的應(yīng)用程序框架,以及在調(diào)試中定位問題的位置。這對于學(xué)生提高編程積極性,增強學(xué)生的自信心是有負面影響的。
按照電子科技大學(xué)計算機學(xué)院的本科培養(yǎng)計劃,該課程的先修課程《Java程序設(shè)計》屬于選修課,并且Java語言只是入門,缺乏實際的開發(fā)經(jīng)驗,但在本課程中,除了少量UI及配置相關(guān)代碼采用非Java形式,其他代碼均采用Java,可以說,Java是學(xué)習(xí)本門課程的核心。
Android開發(fā)在2014年以前主要采用Eclipse+插件,或者ADT集成開發(fā)環(huán)境進行開發(fā),然而隨著Jet-Brains公司的強勢崛起,基于JetBrains的IDEA,Google于2014年發(fā)布了Android Studio,由于其運行速度更快、自動補全更智能、依賴管理更方便等優(yōu)勢,迅速占領(lǐng)市場,成為當前最流行的集成開發(fā)環(huán)境[7]。
然而,學(xué)生對于Android Studio一無所知,沒有任何一門相關(guān)的先行課程使用Android Studio作為開發(fā)環(huán)境,與其稍微有關(guān)的開發(fā)環(huán)境是學(xué)習(xí)Java語言所采用的Eclipse。但是,兩者在視圖和使用上差距較大,需要花較長時間學(xué)習(xí),才能初步掌握其使用方法。因此,要求學(xué)生在很短的時間內(nèi)掌握較為困難。
眾所周知,高校的機房普遍配置較差、一般與當前主流的計算機配置差5-8年,由于Android基于Java,采用Java虛擬機運行,開發(fā)過程中對系統(tǒng)資源消耗較大,尤其是CPU和內(nèi)存開銷。若在開發(fā)過程中,開啟手機模擬器,則CPU和內(nèi)存基本屬于跑滿狀態(tài),這對學(xué)生開發(fā)的效率及學(xué)習(xí)的心態(tài)影響較大。
眾所周知,高校普遍存在學(xué)生抄襲現(xiàn)象,在實驗教學(xué)方面也不例外。高校普遍采用的實驗教學(xué)考核方式是實驗報告,然而實驗報告格式雷同,差異性小,不容易捕捉到抄襲的真?zhèn)危又畬嶒瀳蟾娴脑u判屬于定性判斷,學(xué)生的真實表現(xiàn)不容易從成績中體現(xiàn)。
基于當前國內(nèi)移動應(yīng)用教學(xué)改革現(xiàn)狀,考慮到以上教學(xué)存在的問題,本文基于Android平臺開設(shè)了一門嵌入式課程——《基于Android的嵌入式開發(fā)綜合實驗》,課程采用講教結(jié)合、由淺入深的教學(xué)方式,實現(xiàn)“實驗三步走”,設(shè)計了3個小實驗:1)Android入門2)簡易計算器3)2048游戲開發(fā)。
Android開發(fā)實驗課在國內(nèi)高校屬于初探階段,由于技術(shù)較為新穎、相關(guān)理論課未及時跟進,因此該類實驗課程極少,在電子科技大學(xué)計算機學(xué)院未有涉及。本課程的教學(xué)目標是為學(xué)生開發(fā)移動應(yīng)用提供理論與實踐相結(jié)合的基礎(chǔ)平臺,由于學(xué)生缺乏相關(guān)理論知識、對開發(fā)環(huán)境較為陌生,因此,本課程采取“實驗三步走”的設(shè)計思路(如圖2):第一步,了解開發(fā)環(huán)境,通過“手把手教學(xué)”一步步現(xiàn)場演示及講解,指導(dǎo)學(xué)生如何進行實際操作、如何配置及使用Android Studio開發(fā)環(huán)境,了解Android理論知識架構(gòu)及基本控件的使用方法,學(xué)生通過投影儀,可以清晰地看到老師的操作方法及操作技巧,結(jié)合幻燈片的內(nèi)容,可以更加緊密的將理論與實踐結(jié)合起來。第二步,掌握開發(fā)流程。雖說開發(fā)的難度及規(guī)模大小不一,但任何編程語言的開發(fā)都遵循一套開發(fā)流程,本課程通過開發(fā)小小的“簡易計算器”,使學(xué)生在很短的時間內(nèi)了解Android平臺開發(fā)的基本流程,對于學(xué)生樹立開發(fā)的自信心也是大有裨益。很多學(xué)生對于開發(fā)有所抵觸,由于曾經(jīng)做的項目難度偏大、程序較為復(fù)雜,對程序出現(xiàn)bug更是容易驚慌失措,本課程通過手把手教學(xué),從簡單的小項目里帶領(lǐng)學(xué)生解決一些程序錯誤,樹立學(xué)生的自信。第三步,提升開發(fā)難度,本課程的最后一個小實驗是開發(fā)Android版的2048游戲[8],這款游戲曾經(jīng)在網(wǎng)絡(luò)上風靡一時,被學(xué)生群體所熟知,加之在游戲領(lǐng)域其開發(fā)難度較低,玩法也簡單有趣,因此,較為適合作為一個實驗項目。通過2048游戲的開發(fā),學(xué)生不僅掌握了Android游戲開發(fā)的基本概念,也對Android開發(fā)及相關(guān)技術(shù)有了更深層次的理解。通過“實驗三步走”,學(xué)生逐步掌握了基本的Android開發(fā)技巧,豐富了自己對移動應(yīng)用背后原理的探索。實踐證明,該方案的效果良好,得到了學(xué)生們的肯定與好評。

圖2 實驗三步走流程圖
本課程屬于嵌入式實驗課程,軟件+硬件是本課程的一大特色。本課程系統(tǒng)開發(fā)環(huán)境如下:
(1)操作系統(tǒng):Windows7
(2)代碼編輯 IDE:Android Studio 2.3
(3)代碼調(diào)試:Android 4.0+手機
由前文可知,移動互聯(lián)網(wǎng)目前有70%左右的手機是Android系統(tǒng),在學(xué)生群體中也是如此。因此,本課程不需要額外配置硬件,只需學(xué)生自己攜帶個人手機及數(shù)據(jù)線即可。這樣不僅節(jié)約了高校硬件資源的成本,學(xué)生不使用Android仿真模擬器調(diào)試代碼,也降低了開發(fā)過程中對計算機CPU、內(nèi)存等資源的消耗,同時應(yīng)用安裝在學(xué)生手機中,方便學(xué)生可以隨時瀏覽自己的勞動成果,這樣可以激發(fā)學(xué)生的開發(fā)興趣、提升學(xué)生的成就感。
相較于傳統(tǒng)的嵌入式開發(fā)實驗,如計算機組成原理、數(shù)字邏輯實驗等,其課程難度較大[9],學(xué)生雖掌握其結(jié)果,但疏于其過程及原理。本課程雖同屬于軟件+硬件,但在硬件方面的調(diào)試可以完全忽略,只是需要打開手機授權(quán)即可。這樣學(xué)生可以集中注意力到軟件的實現(xiàn)上,對于過程及原理的掌握是非常有幫助的。
傳統(tǒng)的實驗課程中,老師不一定會帶著學(xué)生一步一步操作,雖說是依葫蘆畫瓢,但在基礎(chǔ)較差、概念不清的學(xué)生眼中,手把手教學(xué)可以讓他們對理論如何應(yīng)用于實際有更清晰的認識,課程同時配合教學(xué)講解,學(xué)生可以快速理解,并達到推左及右、舉一反三的效果。本課程采用講教結(jié)合的方式,一邊講解,一邊帶著學(xué)生手把手教學(xué),這樣的方式不僅可以幫助學(xué)生在短時間內(nèi)掌握理論知識的一套實踐技巧,也可以促進學(xué)生模仿老師,養(yǎng)成良好的代碼風格及習(xí)慣,同時,對于當下提倡的“實驗教學(xué)+”的教學(xué)培養(yǎng)模式[11],引導(dǎo)學(xué)生在實驗課程中自主創(chuàng)新,提升學(xué)生的創(chuàng)新能力和創(chuàng)新意識,起到了一定的鋪墊作用。
如前所述,實驗報告存在大量抄襲現(xiàn)象,復(fù)制粘貼的學(xué)生大有人在,這種考核方式無法保證學(xué)生的成績與實際的水平相當[10]。鑒于此,本課程在最后一節(jié)實驗課,增加項目驗收的環(huán)節(jié),讓學(xué)生打開手機應(yīng)用,現(xiàn)場講解應(yīng)用的實現(xiàn)流程及采用的Android技術(shù),一定程度上,避免了抄襲現(xiàn)象,促使學(xué)生真正學(xué)有所得。本課程考核標準如表1所示:

表1 課程考核評價標準
通過開設(shè)新實驗課程,本文對移動開發(fā)類實驗如何實施進行了簡要介紹,提出了“實驗三步走”的實驗教學(xué)理念,通過手把手教學(xué)、軟硬結(jié)合的實驗方式,使學(xué)生了解移動開發(fā)的概念及背后的原理,掌握基本的Android開發(fā)技巧,實驗報告中的學(xué)生反饋信息也印證了這一點。實驗教學(xué)是對理論知識運用到實際的平臺,同時也應(yīng)是學(xué)生在入職之前的培訓(xùn)場所,如何做好實驗課程,使學(xué)生在接觸社會之前具備相關(guān)的經(jīng)驗和技巧是高校所關(guān)注的。隨著移動互聯(lián)網(wǎng)的快速發(fā)展,企業(yè)對相關(guān)的移動應(yīng)用人才也會趨之若鶩,合理利用實驗教學(xué),將新技術(shù)與新思想運用到學(xué)生的教學(xué)中去,無疑對學(xué)生日后的發(fā)展會有所幫助。
[1]向文杰.移動互聯(lián)網(wǎng)發(fā)展的回顧與展望[J].電信技術(shù),2009(1):66-69.
[2]CIRP.https://www.cirpllc.com/.
[3]楊棟梁.移動互聯(lián)網(wǎng)發(fā)展趨勢的研究[J].電腦知識與技術(shù),2012(2X):1039-1042.
[4]王俊生,王春霞,耿大勇,等.電工電子實習(xí)教學(xué)改革與實踐[J].實驗科學(xué)與技術(shù),2017,15(2):102-105.
[5]楊庚宇,邢紅宇,秦柱秋.美國,加拿大教育技術(shù)與遠程教育考察報告[J].教育信息技術(shù),2005(8):28-30.
[6]Elite,http://www.google.cn/university/curriculum/elite.html
[7]劉萬輝.微課開發(fā)與制作技術(shù)[J].2015.
[8]UDACITY.https://cn.udacity.com/course/.
[9]米源,吉家成,吳淮.《計算機組成原理》實驗教學(xué)探討[J].實驗科學(xué)與技術(shù),2013,11(6):278-280.
[10]尹立蘋,劉雁紅,韓聰.高校實驗教學(xué)考核模式的研究與探索[J].實驗科學(xué)與技術(shù),2009,7(5):73-75.
[11]俞麗珍,寧春花,左曉兵,等.設(shè)計性,研究性實驗教學(xué)探索與實踐[J].實驗科學(xué)與技術(shù),2017,15(1):117-119.
肖逸飛(1989-),男,四川成都人,碩士研究生,助理實驗師,研究方向為云計算調(diào)度、網(wǎng)絡(luò)安全態(tài)勢
Exploration of Experiment Teaching on Mobile Development
XIAO Yi-fei,JIJia-cheng,HUANG Fei-hu
(University ofElectronic Science and Technology,Chengdu 611731)
With the rapid developmentofmobile Internetand Internet Plus,the marketdemand ofcomputer technology talents has a greatdeviation from the training mode ofcollege students.It's importantto consider the needs oftalenttraining marketinto studenttraining.Among which,the mobile developmentof experimentalcourses meets the current market demand,but there is almost no such course in China,students generally lack oftheoreticalknowledge and related concepts.Therefore,presents a new experimentalcourse,Embedded Comprehensive Experiment Based on Android Platform,puts forward the experimental three-step teaching philosophy,with the combination of teaching and training,uses the teaching method ofsoftware-hardware combination to improve the mobile development interestand level of students.The practice proves that the course can help students to master the concept of mobile development,and improve the level of mobile development.
Mobile Development;ExperimentalCourse;Teaching Reform;Android
1007-1423(2017)30-0081-04
10.3969/j.issn.1007-1423.2017.30.018
2017-10-12
修稿日期:2017-10-22