肖逸飛,吉家成,黃飛虎
(電子科技大學(xué),成都611731)
移動(dòng)開發(fā)類實(shí)驗(yàn)教學(xué)探討
肖逸飛,吉家成,黃飛虎
(電子科技大學(xué),成都611731)
隨著移動(dòng)互聯(lián)網(wǎng)、互聯(lián)網(wǎng)+的飛速發(fā)展,計(jì)算機(jī)技術(shù)人才的市場(chǎng)需求與高校學(xué)生的培養(yǎng)方式發(fā)生了重大偏移,如何將學(xué)生的培養(yǎng)融合人才市場(chǎng)的需求成為高校亟需解決的問(wèn)題。其中,移動(dòng)開發(fā)類實(shí)驗(yàn)課程符合當(dāng)前市場(chǎng)需求,但在國(guó)內(nèi)鮮有涉獵,學(xué)生普遍缺乏移動(dòng)開發(fā)理論及認(rèn)知。鑒于此,提出了一門全新的實(shí)驗(yàn)課程——基于Android的嵌入式開發(fā)綜合實(shí)驗(yàn),提出“實(shí)驗(yàn)三步走”的教學(xué)理念,通過(guò)講教結(jié)合、軟硬結(jié)合的教學(xué)方式提升學(xué)生對(duì)移動(dòng)開發(fā)的興趣與水平。通過(guò)實(shí)踐證明,該課程對(duì)學(xué)生掌握移動(dòng)開發(fā)概念、提高移動(dòng)開發(fā)水平,起到積極的作用。
移動(dòng)開發(fā);實(shí)驗(yàn)課程;教學(xué)改革;Android
隨著移動(dòng)互聯(lián)網(wǎng)[1]、互聯(lián)網(wǎng)+[2]的飛速發(fā)展,計(jì)算機(jī)技術(shù)人才的市場(chǎng)需求與高校學(xué)生的培養(yǎng)方式發(fā)生了重大偏移,如何將學(xué)生培養(yǎng)成為具有綜合素質(zhì)和實(shí)踐能力的創(chuàng)新型人才,以適應(yīng)當(dāng)前社會(huì)的發(fā)展,是高校亟需解決的問(wèn)題,也是高校當(dāng)前不斷探索的主要教學(xué)改革課題[3]。
自2007年推出移動(dòng)智能終端以來(lái),移動(dòng)應(yīng)用規(guī)模盛況空前,2013年底,蘋果App Store及谷歌Google Play應(yīng)用下載量均達(dá)到500億次,應(yīng)用規(guī)模均超過(guò)100萬(wàn)個(gè)。同時(shí),根據(jù)國(guó)際電信聯(lián)盟的數(shù)據(jù)顯示,截止到2013年9月,全球移動(dòng)互聯(lián)網(wǎng)用戶數(shù)接近全球人口數(shù),達(dá)到了71億。據(jù)CIRP報(bào)道,截至2017年初,谷歌的Android和蘋果iOS兩個(gè)操作系統(tǒng)總共占據(jù)了美國(guó)移動(dòng)市場(chǎng)98%的份額,剩下少得可憐的2%則由Windows手機(jī)和其他一些平臺(tái)所瓜分[4],如圖1所示。僅7年時(shí)間,ICT核心的技術(shù)平臺(tái)體系完成從PC(Wintel)到智能手機(jī)(Android&iOS+ARM)的轉(zhuǎn)移,軟件架構(gòu)模式已由傳統(tǒng)互聯(lián)網(wǎng)下的C/S、B/S模式向移動(dòng)互聯(lián)網(wǎng)下的Web+App模式傾斜。
圖1 美國(guó)移動(dòng)市場(chǎng)操作系統(tǒng)份額
為適應(yīng)主流軟件開發(fā)技術(shù)向移動(dòng)互聯(lián)網(wǎng)傾斜這一趨勢(shì),計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的嵌入式開發(fā)課程改革已經(jīng)在世界范圍內(nèi)展開。全球知名高校斯坦福大學(xué)、麻省理工大學(xué)、卡內(nèi)基梅隆大學(xué)早在2007年左右已經(jīng)對(duì)計(jì)算機(jī)類課程進(jìn)行了改革,為學(xué)生開設(shè)諸如“開發(fā)iPhone與iPad應(yīng)用”、“iPhone應(yīng)用開發(fā)”等移動(dòng)應(yīng)用課程[5]。與此同時(shí),國(guó)內(nèi)諸多高校也紛紛加入改革隊(duì)伍,2010年以來(lái),Google正式啟動(dòng)Google校企共建Android類實(shí)用課程項(xiàng)目,與北京大學(xué)、西安交通大學(xué)、廈門大學(xué)等國(guó)內(nèi)知名高校建立校企合作關(guān)系[6]。然而,雖然國(guó)內(nèi)高校對(duì)移動(dòng)開發(fā)課程改革響應(yīng)迅速,但總體上仍然缺乏從全方位專業(yè)建設(shè)角度進(jìn)行的調(diào)整,難以為高校學(xué)生建立全面的移動(dòng)應(yīng)用知識(shí)框架。因此,面對(duì)國(guó)內(nèi)移動(dòng)互聯(lián)網(wǎng)、互聯(lián)網(wǎng)+的浪潮,國(guó)內(nèi)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)課程改革依然迫在眉睫。
國(guó)內(nèi)計(jì)算機(jī)實(shí)驗(yàn)類課程普遍屬于基礎(chǔ)類、通識(shí)類實(shí)驗(yàn)課,所用計(jì)算機(jī)相關(guān)技術(shù)過(guò)于老舊,缺乏與時(shí)俱進(jìn)的新技術(shù)及新思想。例如,計(jì)算機(jī)圖形學(xué)普遍采用MFC進(jìn)行圖形化軟件繪制,MFC是微軟于1992年發(fā)布的一個(gè)類庫(kù),用于面向Windows的軟件開發(fā)。雖然MFC有面向?qū)ο蟮乃枷?,并且源代碼開源。但MFC的一些封裝過(guò)程過(guò)于復(fù)雜,對(duì)于大二、大三學(xué)生來(lái)講,很難在短時(shí)間內(nèi)快速掌握MFC的應(yīng)用程序框架,以及在調(diào)試中定位問(wèn)題的位置。這對(duì)于學(xué)生提高編程積極性,增強(qiáng)學(xué)生的自信心是有負(fù)面影響的。
按照電子科技大學(xué)計(jì)算機(jī)學(xué)院的本科培養(yǎng)計(jì)劃,該課程的先修課程《Java程序設(shè)計(jì)》屬于選修課,并且Java語(yǔ)言只是入門,缺乏實(shí)際的開發(fā)經(jīng)驗(yàn),但在本課程中,除了少量UI及配置相關(guān)代碼采用非Java形式,其他代碼均采用Java,可以說(shuō),Java是學(xué)習(xí)本門課程的核心。
Android開發(fā)在2014年以前主要采用Eclipse+插件,或者ADT集成開發(fā)環(huán)境進(jìn)行開發(fā),然而隨著Jet-Brains公司的強(qiáng)勢(shì)崛起,基于JetBrains的IDEA,Google于2014年發(fā)布了Android Studio,由于其運(yùn)行速度更快、自動(dòng)補(bǔ)全更智能、依賴管理更方便等優(yōu)勢(shì),迅速占領(lǐng)市場(chǎng),成為當(dāng)前最流行的集成開發(fā)環(huán)境[7]。
然而,學(xué)生對(duì)于Android Studio一無(wú)所知,沒(méi)有任何一門相關(guān)的先行課程使用Android Studio作為開發(fā)環(huán)境,與其稍微有關(guān)的開發(fā)環(huán)境是學(xué)習(xí)Java語(yǔ)言所采用的Eclipse。但是,兩者在視圖和使用上差距較大,需要花較長(zhǎng)時(shí)間學(xué)習(xí),才能初步掌握其使用方法。因此,要求學(xué)生在很短的時(shí)間內(nèi)掌握較為困難。
眾所周知,高校的機(jī)房普遍配置較差、一般與當(dāng)前主流的計(jì)算機(jī)配置差5-8年,由于Android基于Java,采用Java虛擬機(jī)運(yùn)行,開發(fā)過(guò)程中對(duì)系統(tǒng)資源消耗較大,尤其是CPU和內(nèi)存開銷。若在開發(fā)過(guò)程中,開啟手機(jī)模擬器,則CPU和內(nèi)存基本屬于跑滿狀態(tài),這對(duì)學(xué)生開發(fā)的效率及學(xué)習(xí)的心態(tài)影響較大。
眾所周知,高校普遍存在學(xué)生抄襲現(xiàn)象,在實(shí)驗(yàn)教學(xué)方面也不例外。高校普遍采用的實(shí)驗(yàn)教學(xué)考核方式是實(shí)驗(yàn)報(bào)告,然而實(shí)驗(yàn)報(bào)告格式雷同,差異性小,不容易捕捉到抄襲的真?zhèn)?,加之?shí)驗(yàn)報(bào)告的評(píng)判屬于定性判斷,學(xué)生的真實(shí)表現(xiàn)不容易從成績(jī)中體現(xiàn)。
基于當(dāng)前國(guó)內(nèi)移動(dòng)應(yīng)用教學(xué)改革現(xiàn)狀,考慮到以上教學(xué)存在的問(wèn)題,本文基于Android平臺(tái)開設(shè)了一門嵌入式課程——《基于Android的嵌入式開發(fā)綜合實(shí)驗(yàn)》,課程采用講教結(jié)合、由淺入深的教學(xué)方式,實(shí)現(xiàn)“實(shí)驗(yàn)三步走”,設(shè)計(jì)了3個(gè)小實(shí)驗(yàn):1)Android入門2)簡(jiǎn)易計(jì)算器3)2048游戲開發(fā)。
Android開發(fā)實(shí)驗(yàn)課在國(guó)內(nèi)高校屬于初探階段,由于技術(shù)較為新穎、相關(guān)理論課未及時(shí)跟進(jìn),因此該類實(shí)驗(yàn)課程極少,在電子科技大學(xué)計(jì)算機(jī)學(xué)院未有涉及。本課程的教學(xué)目標(biāo)是為學(xué)生開發(fā)移動(dòng)應(yīng)用提供理論與實(shí)踐相結(jié)合的基礎(chǔ)平臺(tái),由于學(xué)生缺乏相關(guān)理論知識(shí)、對(duì)開發(fā)環(huán)境較為陌生,因此,本課程采取“實(shí)驗(yàn)三步走”的設(shè)計(jì)思路(如圖2):第一步,了解開發(fā)環(huán)境,通過(guò)“手把手教學(xué)”一步步現(xiàn)場(chǎng)演示及講解,指導(dǎo)學(xué)生如何進(jìn)行實(shí)際操作、如何配置及使用Android Studio開發(fā)環(huán)境,了解Android理論知識(shí)架構(gòu)及基本控件的使用方法,學(xué)生通過(guò)投影儀,可以清晰地看到老師的操作方法及操作技巧,結(jié)合幻燈片的內(nèi)容,可以更加緊密的將理論與實(shí)踐結(jié)合起來(lái)。第二步,掌握開發(fā)流程。雖說(shuō)開發(fā)的難度及規(guī)模大小不一,但任何編程語(yǔ)言的開發(fā)都遵循一套開發(fā)流程,本課程通過(guò)開發(fā)小小的“簡(jiǎn)易計(jì)算器”,使學(xué)生在很短的時(shí)間內(nèi)了解Android平臺(tái)開發(fā)的基本流程,對(duì)于學(xué)生樹立開發(fā)的自信心也是大有裨益。很多學(xué)生對(duì)于開發(fā)有所抵觸,由于曾經(jīng)做的項(xiàng)目難度偏大、程序較為復(fù)雜,對(duì)程序出現(xiàn)bug更是容易驚慌失措,本課程通過(guò)手把手教學(xué),從簡(jiǎn)單的小項(xiàng)目里帶領(lǐng)學(xué)生解決一些程序錯(cuò)誤,樹立學(xué)生的自信。第三步,提升開發(fā)難度,本課程的最后一個(gè)小實(shí)驗(yàn)是開發(fā)Android版的2048游戲[8],這款游戲曾經(jīng)在網(wǎng)絡(luò)上風(fēng)靡一時(shí),被學(xué)生群體所熟知,加之在游戲領(lǐng)域其開發(fā)難度較低,玩法也簡(jiǎn)單有趣,因此,較為適合作為一個(gè)實(shí)驗(yàn)項(xiàng)目。通過(guò)2048游戲的開發(fā),學(xué)生不僅掌握了Android游戲開發(fā)的基本概念,也對(duì)Android開發(fā)及相關(guān)技術(shù)有了更深層次的理解。通過(guò)“實(shí)驗(yàn)三步走”,學(xué)生逐步掌握了基本的Android開發(fā)技巧,豐富了自己對(duì)移動(dòng)應(yīng)用背后原理的探索。實(shí)踐證明,該方案的效果良好,得到了學(xué)生們的肯定與好評(píng)。
圖2 實(shí)驗(yàn)三步走流程圖
本課程屬于嵌入式實(shí)驗(yàn)課程,軟件+硬件是本課程的一大特色。本課程系統(tǒng)開發(fā)環(huán)境如下:
(1)操作系統(tǒng):Windows7
(2)代碼編輯 IDE:Android Studio 2.3
(3)代碼調(diào)試:Android 4.0+手機(jī)
由前文可知,移動(dòng)互聯(lián)網(wǎng)目前有70%左右的手機(jī)是Android系統(tǒng),在學(xué)生群體中也是如此。因此,本課程不需要額外配置硬件,只需學(xué)生自己攜帶個(gè)人手機(jī)及數(shù)據(jù)線即可。這樣不僅節(jié)約了高校硬件資源的成本,學(xué)生不使用Android仿真模擬器調(diào)試代碼,也降低了開發(fā)過(guò)程中對(duì)計(jì)算機(jī)CPU、內(nèi)存等資源的消耗,同時(shí)應(yīng)用安裝在學(xué)生手機(jī)中,方便學(xué)生可以隨時(shí)瀏覽自己的勞動(dòng)成果,這樣可以激發(fā)學(xué)生的開發(fā)興趣、提升學(xué)生的成就感。
相較于傳統(tǒng)的嵌入式開發(fā)實(shí)驗(yàn),如計(jì)算機(jī)組成原理、數(shù)字邏輯實(shí)驗(yàn)等,其課程難度較大[9],學(xué)生雖掌握其結(jié)果,但疏于其過(guò)程及原理。本課程雖同屬于軟件+硬件,但在硬件方面的調(diào)試可以完全忽略,只是需要打開手機(jī)授權(quán)即可。這樣學(xué)生可以集中注意力到軟件的實(shí)現(xiàn)上,對(duì)于過(guò)程及原理的掌握是非常有幫助的。
傳統(tǒng)的實(shí)驗(yàn)課程中,老師不一定會(huì)帶著學(xué)生一步一步操作,雖說(shuō)是依葫蘆畫瓢,但在基礎(chǔ)較差、概念不清的學(xué)生眼中,手把手教學(xué)可以讓他們對(duì)理論如何應(yīng)用于實(shí)際有更清晰的認(rèn)識(shí),課程同時(shí)配合教學(xué)講解,學(xué)生可以快速理解,并達(dá)到推左及右、舉一反三的效果。本課程采用講教結(jié)合的方式,一邊講解,一邊帶著學(xué)生手把手教學(xué),這樣的方式不僅可以幫助學(xué)生在短時(shí)間內(nèi)掌握理論知識(shí)的一套實(shí)踐技巧,也可以促進(jìn)學(xué)生模仿老師,養(yǎng)成良好的代碼風(fēng)格及習(xí)慣,同時(shí),對(duì)于當(dāng)下提倡的“實(shí)驗(yàn)教學(xué)+”的教學(xué)培養(yǎng)模式[11],引導(dǎo)學(xué)生在實(shí)驗(yàn)課程中自主創(chuàng)新,提升學(xué)生的創(chuàng)新能力和創(chuàng)新意識(shí),起到了一定的鋪墊作用。
如前所述,實(shí)驗(yàn)報(bào)告存在大量抄襲現(xiàn)象,復(fù)制粘貼的學(xué)生大有人在,這種考核方式無(wú)法保證學(xué)生的成績(jī)與實(shí)際的水平相當(dāng)[10]。鑒于此,本課程在最后一節(jié)實(shí)驗(yàn)課,增加項(xiàng)目驗(yàn)收的環(huán)節(jié),讓學(xué)生打開手機(jī)應(yīng)用,現(xiàn)場(chǎng)講解應(yīng)用的實(shí)現(xiàn)流程及采用的Android技術(shù),一定程度上,避免了抄襲現(xiàn)象,促使學(xué)生真正學(xué)有所得。本課程考核標(biāo)準(zhǔn)如表1所示:
表1 課程考核評(píng)價(jià)標(biāo)準(zhǔn)
通過(guò)開設(shè)新實(shí)驗(yàn)課程,本文對(duì)移動(dòng)開發(fā)類實(shí)驗(yàn)如何實(shí)施進(jìn)行了簡(jiǎn)要介紹,提出了“實(shí)驗(yàn)三步走”的實(shí)驗(yàn)教學(xué)理念,通過(guò)手把手教學(xué)、軟硬結(jié)合的實(shí)驗(yàn)方式,使學(xué)生了解移動(dòng)開發(fā)的概念及背后的原理,掌握基本的Android開發(fā)技巧,實(shí)驗(yàn)報(bào)告中的學(xué)生反饋信息也印證了這一點(diǎn)。實(shí)驗(yàn)教學(xué)是對(duì)理論知識(shí)運(yùn)用到實(shí)際的平臺(tái),同時(shí)也應(yīng)是學(xué)生在入職之前的培訓(xùn)場(chǎng)所,如何做好實(shí)驗(yàn)課程,使學(xué)生在接觸社會(huì)之前具備相關(guān)的經(jīng)驗(yàn)和技巧是高校所關(guān)注的。隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,企業(yè)對(duì)相關(guān)的移動(dòng)應(yīng)用人才也會(huì)趨之若鶩,合理利用實(shí)驗(yàn)教學(xué),將新技術(shù)與新思想運(yùn)用到學(xué)生的教學(xué)中去,無(wú)疑對(duì)學(xué)生日后的發(fā)展會(huì)有所幫助。
[1]向文杰.移動(dòng)互聯(lián)網(wǎng)發(fā)展的回顧與展望[J].電信技術(shù),2009(1):66-69.
[2]CIRP.https://www.cirpllc.com/.
[3]楊棟梁.移動(dòng)互聯(lián)網(wǎng)發(fā)展趨勢(shì)的研究[J].電腦知識(shí)與技術(shù),2012(2X):1039-1042.
[4]王俊生,王春霞,耿大勇,等.電工電子實(shí)習(xí)教學(xué)改革與實(shí)踐[J].實(shí)驗(yàn)科學(xué)與技術(shù),2017,15(2):102-105.
[5]楊庚宇,邢紅宇,秦柱秋.美國(guó),加拿大教育技術(shù)與遠(yuǎn)程教育考察報(bào)告[J].教育信息技術(shù),2005(8):28-30.
[6]Elite,http://www.google.cn/university/curriculum/elite.html
[7]劉萬(wàn)輝.微課開發(fā)與制作技術(shù)[J].2015.
[8]UDACITY.https://cn.udacity.com/course/.
[9]米源,吉家成,吳淮.《計(jì)算機(jī)組成原理》實(shí)驗(yàn)教學(xué)探討[J].實(shí)驗(yàn)科學(xué)與技術(shù),2013,11(6):278-280.
[10]尹立蘋,劉雁紅,韓聰.高校實(shí)驗(yàn)教學(xué)考核模式的研究與探索[J].實(shí)驗(yàn)科學(xué)與技術(shù),2009,7(5):73-75.
[11]俞麗珍,寧春花,左曉兵,等.設(shè)計(jì)性,研究性實(shí)驗(yàn)教學(xué)探索與實(shí)踐[J].實(shí)驗(yàn)科學(xué)與技術(shù),2017,15(1):117-119.
肖逸飛(1989-),男,四川成都人,碩士研究生,助理實(shí)驗(yàn)師,研究方向?yàn)樵朴?jì)算調(diào)度、網(wǎng)絡(luò)安全態(tài)勢(shì)
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