姚 競(jìng)
(湖北經(jīng)濟(jì)學(xué)院 信息工程學(xué)院,湖北 武漢 430205)
?
iOS應(yīng)用技術(shù)教學(xué)組織研究
姚競(jìng)
(湖北經(jīng)濟(jì)學(xué)院 信息工程學(xué)院,湖北 武漢 430205)
摘要:本文對(duì)iOS應(yīng)用技術(shù)在大學(xué)本科教育階段的具體教學(xué)內(nèi)容和組織進(jìn)行了研究,探討了iOS應(yīng)用技術(shù)在教學(xué)過(guò)程中的難點(diǎn),并以提高學(xué)生對(duì)iOS技術(shù)的學(xué)習(xí)興趣,熟練掌握基本的iOS編程技巧為目的,提出了一套適應(yīng)大學(xué)本科階段教學(xué)的iOS教學(xué)組織方案。
關(guān)鍵詞:iOS;應(yīng)用技術(shù);教學(xué)組織
隨著移動(dòng)終端設(shè)備如智能手機(jī)、平板電腦等電子設(shè)備逐漸普及,每個(gè)人的生活中都逐漸離不開(kāi)這些設(shè)備。而這些移動(dòng)終端設(shè)備中的靈魂,就是在其中運(yùn)行的軟件。移動(dòng)應(yīng)用軟件的多樣化,使得我們的生活變得更加方便。從學(xué)習(xí)、生活到娛樂(lè),從一個(gè)簡(jiǎn)單的計(jì)算器應(yīng)用,到支付寶,移動(dòng)應(yīng)用軟件的市場(chǎng)需求廣泛且多樣,這對(duì)于計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的本科生來(lái)說(shuō)是巨大的就業(yè)和創(chuàng)業(yè)機(jī)會(huì),因此及時(shí)掌握移動(dòng)應(yīng)用軟件的開(kāi)發(fā)技術(shù)是非常必要的。
iOS是目前應(yīng)用最為廣泛和成熟的移動(dòng)應(yīng)用平臺(tái)之一。熟練掌握iOS技術(shù),具備相應(yīng)的編程能力,即意味著大學(xué)本科生具有更強(qiáng)的核心競(jìng)爭(zhēng)力。由于iOS應(yīng)用的迅速發(fā)展,各大職業(yè)培訓(xùn)公司和高校都爭(zhēng)相開(kāi)辦了相關(guān)課程。我校也在計(jì)算機(jī)科學(xué)和軟件工程專(zhuān)業(yè)新開(kāi)設(shè)了相應(yīng)的專(zhuān)業(yè)必修和選修課程。旨在培養(yǎng)學(xué)生掌握移動(dòng)應(yīng)用技術(shù)方面的基礎(chǔ)開(kāi)發(fā)技能。
本文研究和探討在大學(xué)本科教育水平下的iOS應(yīng)用技術(shù)的教學(xué)目標(biāo)、教學(xué)內(nèi)容以及實(shí)施過(guò)程等內(nèi)容。本文首先研究了iOS技術(shù)體系及其具體的教學(xué)知識(shí)點(diǎn)構(gòu)成,在分析了iOS應(yīng)用技術(shù)教學(xué)中的重點(diǎn)和難點(diǎn),和教學(xué)組織中可能存在的一些客觀問(wèn)題后,提出了一套適應(yīng)大學(xué)本科階段教學(xué)的iOS教學(xué)組織方案,并將提出的方案和職業(yè)培訓(xùn)機(jī)構(gòu)的方案進(jìn)行對(duì)比,在實(shí)踐教學(xué)中加以驗(yàn)證。
iOS是由蘋(píng)果公司開(kāi)發(fā)的移動(dòng)操作系統(tǒng)。蘋(píng)果公司最早于2007年1月9日的Macworld大會(huì)上公布這個(gè)系統(tǒng),最初是設(shè)計(jì)給iPhone使用的,后來(lái)陸續(xù)套用到iPod touch、iPad以及Apple TV等產(chǎn)品上。iOS與蘋(píng)果的Mac OS X操作系統(tǒng)一樣,屬于類(lèi)Unix的商業(yè)操作系統(tǒng)。[1]
iOS技術(shù)體系包括四個(gè)層次。Cocoa Touch Layer包含關(guān)鍵框架用于構(gòu)建iOS應(yīng)用程序。這些框架定義了應(yīng)用程序的外觀。同時(shí)提供應(yīng)用程序基礎(chǔ)并支持多任務(wù)、觸碰輸入、通知和其它高層系統(tǒng)服務(wù)。Media Layer包含圖形圖像、音頻、視頻等多媒體技術(shù)。Core Services Layer包含為應(yīng)用程序提供的基礎(chǔ)系統(tǒng)服務(wù)。如Core Foundation和Foundation框架為應(yīng)用程序提供基本數(shù)據(jù)類(lèi)型。這一層也提供獨(dú)立技術(shù),支持諸如location,iCloud,social media,networking等。Core OS Layer包含底層技術(shù)支持,幫助其它層的框架完成工作,如提供安全和硬件服務(wù)。
要想全面掌握iOS應(yīng)用開(kāi)發(fā)的技術(shù),需要學(xué)習(xí)者強(qiáng)化四個(gè)方面的能力水平。一是熟練掌握iOS的開(kāi)發(fā)及應(yīng)用環(huán)境、開(kāi)發(fā)工具和了解移動(dòng)應(yīng)用技術(shù)平臺(tái)的特點(diǎn)。具體來(lái)說(shuō)開(kāi)發(fā)者應(yīng)熟悉iOS開(kāi)發(fā)所要求MacOSX環(huán)境,Xcode集成開(kāi)發(fā)工具,以及移動(dòng)應(yīng)用軟件在有限資源條件下的運(yùn)行流程等內(nèi)容。其次,iOS應(yīng)用軟件是通過(guò)特定編程語(yǔ)言,并使用特定的軟件框架來(lái)編寫(xiě)完成的,因此開(kāi)發(fā)者應(yīng)熟悉iOS的開(kāi)發(fā)語(yǔ)言O(shè)bjective-C或者swift,同時(shí)至少熟悉iOS技術(shù)體系中的部分軟件框架,如Foundation和UIKit框架等。第三,iOS應(yīng)用軟件從開(kāi)發(fā)到軟件上架需要遵循Apple公司制訂的流程,包括申請(qǐng)開(kāi)發(fā)許可、軟件打包、AppStore上架等內(nèi)容。第四,iOS開(kāi)發(fā)學(xué)習(xí)還需要參考大量的項(xiàng)目例子,這樣才可能通過(guò)大量練習(xí)來(lái)熟悉iOS現(xiàn)有的API,以及提高開(kāi)發(fā)能力水平。
然而,考慮到iOS知識(shí)體系自身的復(fù)雜性和一些教學(xué)條件的制約,將iOS的教學(xué)引入大學(xué)本科課堂存在特定的難點(diǎn)。主要幾個(gè)涉及教學(xué)方面的難點(diǎn)問(wèn)題如下,第一個(gè)難點(diǎn)是學(xué)習(xí)iOS過(guò)程中需要掌握的知識(shí)涉及操作系統(tǒng)、編程環(huán)節(jié)、編程語(yǔ)言、編程模型、編程方法等一系列內(nèi)容,而一般計(jì)算機(jī)類(lèi)本科課程的教學(xué)內(nèi)容則相對(duì)單一,比如C語(yǔ)言這門(mén)課就單獨(dú)教授編程語(yǔ)言,軟件工程則單獨(dú)講編程理論和模型,操作系統(tǒng)則單獨(dú)講windows或linux系統(tǒng)等。因此把iOS技術(shù)涉及的知識(shí)點(diǎn)穿插在單一一門(mén)課里,需要很好地安排這些教學(xué)內(nèi)容。第二個(gè)難點(diǎn)在于iOS應(yīng)用技術(shù)由于其復(fù)雜性,如果全面掌握則需要較長(zhǎng)的時(shí)間來(lái)進(jìn)行教學(xué)。大學(xué)教學(xué)在教學(xué)組織上有一定約束,不大可能如培訓(xùn)公司一樣,對(duì)學(xué)生封閉培訓(xùn)3到4個(gè)月時(shí)間。因此在統(tǒng)籌安排教學(xué)時(shí)還必需考慮進(jìn)度的問(wèn)題。第三個(gè)難點(diǎn)是大學(xué)本科教育要求學(xué)生對(duì)理論和實(shí)踐能力并重,而iOS相比其它應(yīng)用技術(shù)而言,對(duì)實(shí)踐能力要求更高,因此結(jié)合前兩點(diǎn)來(lái)看,在教學(xué)內(nèi)容上應(yīng)當(dāng)有一定取舍,有一定側(cè)重,在理論與實(shí)踐能力中求得一定平衡。
具體來(lái)說(shuō),我校iOS應(yīng)用技術(shù)的培養(yǎng)目標(biāo)是培養(yǎng)計(jì)算機(jī)類(lèi)二年級(jí)以上本科生熟練掌握iOS應(yīng)用平臺(tái)相關(guān)技術(shù),熟悉iOS技術(shù)體系;熟悉開(kāi)發(fā)環(huán)境和開(kāi)發(fā)工具;熟練掌握一門(mén)iOS的主要開(kāi)發(fā)語(yǔ)言O(shè)bjective-C;能掌握并合理運(yùn)用iOS相關(guān)的理論知識(shí)開(kāi)發(fā)簡(jiǎn)單的iOS應(yīng)用程序。課程整體上尋求學(xué)生在實(shí)踐動(dòng)手能力和理論知識(shí)的訓(xùn)練方面達(dá)成一定的均衡。先修課的要求包括C語(yǔ)言、軟件工程、操作系統(tǒng)等。
基于培養(yǎng)目標(biāo)我們把教學(xué)內(nèi)容分成四個(gè)階段,分別是應(yīng)用和開(kāi)發(fā)平臺(tái)環(huán)境、基本語(yǔ)言編程、iOS體系和要素知識(shí)、iOS核心框架及內(nèi)容。內(nèi)容上逐步深入,由簡(jiǎn)入深,然后穿插一些項(xiàng)目實(shí)例來(lái)解釋和說(shuō)明相關(guān)問(wèn)題。在具體安排上,以我校計(jì)算機(jī)科學(xué)專(zhuān)業(yè)57學(xué)時(shí)必修課為例,課時(shí)由34學(xué)時(shí)的理論課和23學(xué)時(shí)的試驗(yàn)課組成,其中理論課部分的教學(xué)組織如表1所示:
表1:理論課教學(xué)組織
由于課時(shí)的約束,我們?cè)O(shè)計(jì)的iOS教學(xué)內(nèi)容,整體上希望在動(dòng)手能力和理論知識(shí)之間求得均衡,將與構(gòu)建iOS項(xiàng)目必備的內(nèi)容作為核心,以第二部分基本語(yǔ)言編程和第三部分iOS核心框架作為重點(diǎn)詳細(xì)講解,而其它部分則只是要求學(xué)生了解和熟悉。教學(xué)內(nèi)容借助項(xiàng)目案例進(jìn)行聯(lián)系,并幫助學(xué)生強(qiáng)化動(dòng)手能力。整體上看,理論課部分的教學(xué)組織雖因課時(shí)原因無(wú)法全面覆蓋iOS知識(shí)體系,但仍形成宏觀的知識(shí)脈絡(luò),學(xué)生在課程完成后能知道自己學(xué)會(huì)了什么,在日后查漏補(bǔ)缺。
在實(shí)驗(yàn)環(huán)節(jié),我們?cè)O(shè)立了5個(gè)綜合性實(shí)驗(yàn),每個(gè)實(shí)驗(yàn)依據(jù)內(nèi)容不同分別占4至5個(gè)課時(shí)不等。內(nèi)容安排上配合理論課的進(jìn)度,要求學(xué)生在實(shí)踐環(huán)節(jié)理論聯(lián)系實(shí)際,通過(guò)動(dòng)手熟悉概念,通過(guò)案例提高構(gòu)建項(xiàng)目的能力。具體內(nèi)容如表2所示:
表2:實(shí)踐教學(xué)組織
和培訓(xùn)機(jī)構(gòu)開(kāi)設(shè)的iOS課程對(duì)比來(lái)看,比如業(yè)內(nèi)知名的千鋒公司的視頻培訓(xùn)課程,內(nèi)容上主要以iOS技術(shù)體系中的UIKit框架為主,強(qiáng)調(diào)工具的使用和編碼的熟練程度。教學(xué)組織上以項(xiàng)目推動(dòng)學(xué)習(xí),項(xiàng)目貫穿始終,采用短時(shí)間高強(qiáng)度的訓(xùn)練方式來(lái)進(jìn)行培訓(xùn),以幫助學(xué)員快速達(dá)到完成小型項(xiàng)目的水平,滿(mǎn)足上崗就業(yè)的需要。大多數(shù)培訓(xùn)公司也是如此,更加注重實(shí)踐能力的培養(yǎng),而較少在教學(xué)中講解如MVC模型、委托者模型等理論性較強(qiáng)的內(nèi)容。這種重實(shí)際項(xiàng)目開(kāi)發(fā),輕理論學(xué)習(xí)的培訓(xùn)方式,雖然能在短期內(nèi)滿(mǎn)足學(xué)生的就業(yè)需要,但也正因?yàn)槿绱?,學(xué)生對(duì)所學(xué)內(nèi)容的背景理論知識(shí)不熟悉,所以容易導(dǎo)致“知其然,而不知其所以然”的情況,即知道該這么去編碼,但是為什么就不知道了。另外從長(zhǎng)期來(lái)看,削弱理論學(xué)習(xí),勢(shì)必也將弱化學(xué)生深入研究和自主學(xué)習(xí)相關(guān)知識(shí)的能力。
本文提出的教學(xué)組織方案,注重理論與實(shí)踐相結(jié)合,以項(xiàng)目穿插到理論教學(xué)過(guò)程中,兼顧了學(xué)生動(dòng)手能力的培養(yǎng),同時(shí)也考慮到了大學(xué)教學(xué)的實(shí)際情況,在有限的教學(xué)時(shí)間里糅合了多層次的知識(shí)點(diǎn),可以為學(xué)生更進(jìn)一步的學(xué)習(xí)開(kāi)拓視野。
iOS應(yīng)用編程的教學(xué)在2015至2016年第1學(xué)期已經(jīng)正式在我校計(jì)算機(jī)科學(xué)系的Q1241班開(kāi)始教學(xué)。在按照以上設(shè)計(jì)的教學(xué)內(nèi)容和教學(xué)組織,在完成了一個(gè)學(xué)期的教學(xué)后,大部分學(xué)生已經(jīng)對(duì)iOS有了濃厚的興趣。部分學(xué)生已經(jīng)基本掌握了iOS編程的基本理論、方法,能夠編寫(xiě)一些小型的iOS程序。這樣基本達(dá)到了預(yù)期的課程目標(biāo)??傮w來(lái)看,本文提出的iOS應(yīng)用編程設(shè)計(jì)的一整套教學(xué)內(nèi)容和計(jì)劃是行之有效的。既不違背大學(xué)本科教育的目標(biāo)和科學(xué)規(guī)律,又促進(jìn)學(xué)生的就業(yè)能力。
在今后的軟件工業(yè)發(fā)展過(guò)程中,還會(huì)不斷涌現(xiàn)類(lèi)似iOS這樣市場(chǎng)急需的新技術(shù),將它們及時(shí)引入大學(xué)課堂有其必要性。新技術(shù)往往同時(shí)融合多個(gè)大學(xué)階段的獨(dú)立課程,并對(duì)實(shí)際動(dòng)手能力有較高的要求,因此如何合理將這些技術(shù)及時(shí)引入,又不違背大學(xué)教育的教學(xué)規(guī)律,值得我們持續(xù)地研究和探索。
參考文獻(xiàn):
[1]http://cn.bing.com/knows/search?q=iOS&mkt=zh-cn.iOS[EB/OL]. (2016-3-1)[2016-3-1]
[2]http://www.mobiletrain.org/about/news/ios_video1.html.千鋒獨(dú)家出品《iOS開(kāi)發(fā)視頻教程-第1季》[EB/OL].(2012-1-7)[2016-3-1]
[3]http://www.apple.com.About the iOS Technologies.[EB/OL].(2014-09-17)[2016-3-1]
[4]http://www.apple.com.ProgrammingwithObjective-C.[EB/OL]. (2014-09-17)[2016-3-1]
[5]荻原剛志.Objective-C編程全解 (第3版)[M].人民郵電出版社,2015.
[6]胡禮和.現(xiàn)代教育技術(shù)學(xué)[M].湖北科學(xué)技術(shù)出版社,2003.