林志紅
(北京信息職業(yè)技術(shù)學(xué)院軟件工程系,北京 100018)
無(wú)線應(yīng)用程序開發(fā)技術(shù)探討
林志紅
(北京信息職業(yè)技術(shù)學(xué)院軟件工程系,北京100018)
高職院校專業(yè)課建設(shè)是關(guān)系到高職學(xué)生培養(yǎng)質(zhì)量的重大課題,也是困擾高職教師的難題。由于高職院校具有自己的特點(diǎn)和情況,在專業(yè)課程建設(shè)中,既不能照搬普通本科院校的教學(xué)模式,也要防止過(guò)度降低課程難度的傾向。本文基于《無(wú)線應(yīng)用程序開發(fā)》課程的建設(shè)過(guò)程,結(jié)合教學(xué)實(shí)踐體驗(yàn),介紹了課程建設(shè)的一點(diǎn)心得體會(huì)。
無(wú)線應(yīng)用程序計(jì)算機(jī)網(wǎng)絡(luò)TCP/IPSocketHTTP
高職教育是以培養(yǎng)技術(shù)應(yīng)用型人才為主要目標(biāo)的高等教育,這就要求高職院校的專業(yè)課必須要有一定的深度,否則就很難使學(xué)生真正成為高技能人才。但是由于一些高職學(xué)生學(xué)習(xí)基礎(chǔ)等方面的原因,使得他們學(xué)習(xí)上缺乏自信心,從而造成學(xué)習(xí)動(dòng)機(jī)低下,最終導(dǎo)致學(xué)習(xí)成績(jī)下降,進(jìn)入惡性循環(huán)。為了盡量應(yīng)對(duì)這種情況,教師在課程教學(xué)方案設(shè)計(jì)時(shí),就要根據(jù)學(xué)習(xí)目標(biāo)和學(xué)習(xí)者的具體情況制定正確的學(xué)習(xí)策略,要在學(xué)習(xí)過(guò)程中樹立學(xué)生的自信心,而避免打擊學(xué)生的自信心。在《無(wú)線應(yīng)用程序開發(fā)》課程建設(shè)中,通過(guò)學(xué)習(xí)目標(biāo)的確定,學(xué)習(xí)策略的制定,確定學(xué)習(xí)任務(wù),學(xué)習(xí)活動(dòng)方案設(shè)計(jì)等步驟,對(duì)教學(xué)方案進(jìn)行了精心的設(shè)計(jì)。
要確定正確的學(xué)習(xí)目標(biāo),首先要弄清企業(yè)的真實(shí)需求。我們?yōu)榇俗咴L了一些企業(yè),對(duì)企業(yè)專家進(jìn)行了訪談。通過(guò)調(diào)查研究我們發(fā)現(xiàn),隨著無(wú)線通信以及網(wǎng)絡(luò)技術(shù)的發(fā)展,特別是3G時(shí)代的到來(lái),網(wǎng)絡(luò)應(yīng)用程序的位置顯得越來(lái)越重要。無(wú)線終端產(chǎn)品進(jìn)入人們生活的方方面面,同時(shí)也為社會(huì)創(chuàng)造了巨大的財(cái)富。越來(lái)越多的公司進(jìn)入無(wú)線產(chǎn)品開發(fā)領(lǐng)域。這些公司在招聘技術(shù)人員的時(shí)候,幾乎無(wú)一例外地提出如下要求:“具備C/C++/Java開發(fā)經(jīng)驗(yàn),熟悉多線程、Socket網(wǎng)絡(luò)編程,熟悉TCP、UDP、HTTP、FTP等網(wǎng)絡(luò)協(xié)議。”
作為嵌入式技術(shù)與應(yīng)用專業(yè)的一門核心課,在課程內(nèi)容設(shè)置,學(xué)生職業(yè)能力與職業(yè)素質(zhì)培養(yǎng)目標(biāo)設(shè)定方面應(yīng)與時(shí)俱進(jìn),緊跟時(shí)代發(fā)展的步伐,這樣才能培養(yǎng)出滿足社會(huì)需要的合格高技能人才。
根據(jù)系內(nèi)教師及項(xiàng)目組成員多次研討的結(jié)果,我們決定課程要強(qiáng)化以TCP/IP協(xié)議、HTTP協(xié)議為基礎(chǔ)的網(wǎng)絡(luò)編程技術(shù)。我們將《無(wú)線應(yīng)用程序開發(fā)》解讀為兩個(gè)部分,一部分為通用網(wǎng)絡(luò)應(yīng)用程序開發(fā)技術(shù),另一部分是無(wú)線設(shè)備網(wǎng)絡(luò)應(yīng)用開發(fā)技術(shù)。第一部分是第二部分的基礎(chǔ)。在第一部分學(xué)到的基本概念和基本技能在第二部分得到直接的應(yīng)用,在項(xiàng)目開發(fā)過(guò)程中加深對(duì)所學(xué)知識(shí)的理解和掌握。
圖1
表1
2.1通用網(wǎng)絡(luò)應(yīng)用程序開發(fā)技術(shù)的學(xué)習(xí)內(nèi)容
通用網(wǎng)絡(luò)應(yīng)用程序開發(fā)技術(shù)的學(xué)習(xí)目標(biāo)是使學(xué)生能夠熟悉網(wǎng)絡(luò)編程機(jī)制和工作過(guò)程。編程是一個(gè)實(shí)踐性很強(qiáng)的活動(dòng),需要學(xué)生多多上機(jī)操作,這就要求所采用的編程環(huán)境必須是學(xué)習(xí)者能夠經(jīng)常接觸到的??紤]到Windows目前的絕對(duì)壟斷地位,加之Windows Socket已經(jīng)成為網(wǎng)絡(luò)編程事實(shí)上的標(biāo)準(zhǔn),基于Windows Socket的編程實(shí)踐可以使學(xué)生接觸到更完整的網(wǎng)絡(luò)編程知識(shí)。因此我們將Visual C++作為通用網(wǎng)絡(luò)編程技術(shù)的學(xué)習(xí)平臺(tái),學(xué)習(xí)內(nèi)容包括Winsock編程、C/S模式編程方法、TCP服務(wù)器程序開發(fā)以及TCP客戶端程序開發(fā)。
Windows Socket網(wǎng)絡(luò)編程技術(shù)綜合性較強(qiáng),學(xué)習(xí)難度較大。對(duì)于學(xué)生來(lái)說(shuō),既涉及到已學(xué)過(guò)的C語(yǔ)言編程技術(shù)的高級(jí)應(yīng)用,又涉及到TCP/IP協(xié)議基礎(chǔ)知識(shí)、客戶機(jī)/服務(wù)器模型、Winsock 函數(shù)庫(kù)等新概念和新技術(shù)的學(xué)習(xí)。
2.2無(wú)線設(shè)備網(wǎng)絡(luò)應(yīng)用開發(fā)技術(shù)的學(xué)習(xí)內(nèi)容
關(guān)于第二部分的內(nèi)容,考慮到學(xué)生剛剛學(xué)完《嵌入式應(yīng)用軟件開發(fā)(J2ME)》課程,我們決定以J2ME作為無(wú)線設(shè)備網(wǎng)絡(luò)應(yīng)用程序開發(fā)的訓(xùn)練平臺(tái)。學(xué)生此前Java語(yǔ)言編程已經(jīng)比較熟練,對(duì)于單機(jī)版的程序結(jié)構(gòu)與設(shè)計(jì)已經(jīng)掌握,為本課程的學(xué)習(xí)打下了比較扎實(shí)的基礎(chǔ)。在這一部分中,將會(huì)增加HTTP協(xié)議、多線程、J2ME通用連接框架、基于Socket的多線程服務(wù)器設(shè)計(jì)、基于Socket的手機(jī)客戶端設(shè)計(jì),基于Http的手機(jī)客戶端設(shè)計(jì),并完成一個(gè)手機(jī)網(wǎng)絡(luò)應(yīng)用項(xiàng)目。
2.3學(xué)習(xí)策略的制定原則
《無(wú)線應(yīng)用程序開發(fā)》這門課程安排在大二下學(xué)期,從大三開始,學(xué)生將進(jìn)入生產(chǎn)性實(shí)訓(xùn)和畢業(yè)設(shè)計(jì)階段。也就是說(shuō),這門課扮演著承上啟下的重要角色。通過(guò)這門課程一方面要對(duì)以前的相關(guān)課程做一個(gè)完美的總結(jié),另一方面要為后續(xù)的實(shí)訓(xùn)、實(shí)習(xí)及工作打下良好的基礎(chǔ)。因此,通過(guò)本門課程的學(xué)習(xí),應(yīng)該達(dá)到以下兩個(gè)目的:
(1)復(fù)習(xí)原有知識(shí),深化對(duì)原有知識(shí)的理解。在本課程的學(xué)習(xí)過(guò)程中,要用到大量的編程知識(shí)。學(xué)生已經(jīng)學(xué)過(guò)了《C語(yǔ)言程序設(shè)計(jì)》,具備了一定的編程技能。但是學(xué)生在《C語(yǔ)言程序設(shè)計(jì)》的學(xué)習(xí)中,更多注重的是基本語(yǔ)法的學(xué)習(xí)和訓(xùn)練,與走上工作崗位解決實(shí)際問(wèn)題還有一定的差距。因此,本課程對(duì)于C語(yǔ)言編程進(jìn)行復(fù)習(xí)時(shí),沒(méi)有僅僅停留在簡(jiǎn)單的知識(shí)回顧水平上,而是進(jìn)行了一系列的強(qiáng)化。例如,我們?yōu)閷W(xué)生準(zhǔn)備了一個(gè)單詞計(jì)數(shù)器的例子,學(xué)生通過(guò)這個(gè)例子的實(shí)踐,學(xué)習(xí)到了狀態(tài)機(jī)的概念,為今后應(yīng)付復(fù)雜的程序設(shè)計(jì)工作打下了思想基礎(chǔ)。再如,Winsock編程中涉及到許多與TCP/IP協(xié)議相關(guān)的結(jié)構(gòu)類型數(shù)據(jù),這些結(jié)構(gòu)類型數(shù)據(jù)多用于系統(tǒng)調(diào)用函數(shù)的參數(shù),不僅內(nèi)容相對(duì)繁瑣,而且頻繁地使用指針傳遞機(jī)制。這些都明顯超過(guò)了通常C語(yǔ)言課程的練習(xí)難度,但是卻更接近實(shí)際工作的需要。因此,在正式學(xué)習(xí)Winsock編程之前,使用了一定的課時(shí)量對(duì)學(xué)生進(jìn)行C語(yǔ)言復(fù)雜結(jié)構(gòu)類型數(shù)據(jù)和指針使用的強(qiáng)化訓(xùn)練。
(2)達(dá)到學(xué)習(xí)目標(biāo),對(duì)后續(xù)學(xué)習(xí)和工作產(chǎn)生積極影響。研討交流中,企業(yè)專家建議我們通過(guò)一個(gè)網(wǎng)絡(luò)聊天室項(xiàng)目作為學(xué)生的實(shí)戰(zhàn)項(xiàng)目,原因在于即時(shí)通信是一種最基本最重要也最流行的網(wǎng)絡(luò)應(yīng)用類型,在手機(jī)上制作即時(shí)通信軟件涉及到TCP/IP協(xié)議的使用,多線程服務(wù)器程序的開發(fā),無(wú)線終端設(shè)備應(yīng)用程序的開發(fā)、互聯(lián)網(wǎng)中繼交換原理及終端設(shè)備與服務(wù)器網(wǎng)絡(luò)通信過(guò)程的實(shí)現(xiàn),綜合性強(qiáng),實(shí)用性強(qiáng),今天企業(yè)中許多主流軟件開發(fā)技術(shù)仍然采用聊天室原理。因此完成一個(gè)手機(jī)聊天室項(xiàng)目的開發(fā),不僅能夠?yàn)楸菊n程的學(xué)習(xí)畫上完美的句號(hào),而且可以為后續(xù)的實(shí)訓(xùn)、實(shí)習(xí)及工作打下良好基礎(chǔ)。
2.4分析知識(shí)結(jié)構(gòu),合理統(tǒng)籌教學(xué)
《無(wú)線應(yīng)用程序開發(fā)》涉及到眾多的知識(shí)點(diǎn),為了合理地安排教學(xué)內(nèi)容,我們對(duì)課程的知識(shí)結(jié)構(gòu)做了如下分析:
(1)確定知識(shí)點(diǎn)。
K1: 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)
K2:TCP/IP協(xié)議概念
K3: HTTP協(xié)議概念
K4: Winsock網(wǎng)絡(luò)編程原理
K5: TCP/UDP服務(wù)器編程
K6: TCP/UDP客戶端編程
K7: 多線程服務(wù)器編程
K8: C/S架構(gòu)系統(tǒng)開發(fā)
K9: 復(fù)雜結(jié)構(gòu)類型
K10:指針
K11:多線程
K12:Http服務(wù)器編程
K13:J2ME通用連接框架
K14:手機(jī)閱讀器客戶端
K15:手機(jī)聊天室服務(wù)器
K16:手機(jī)聊天室客戶端
(2)分析兩兩知識(shí)點(diǎn)之間的關(guān)系(如圖1)。
(3)列出直接關(guān)系矩陣(如表1)。
(4)確定各知識(shí)點(diǎn)所在的層次
L1: K1,K9,K10,K11
L2:K2
L3: K3, K4
L4: K5,K12,K13
L5: K6,K7
L6: K8,K14
L7:K15,K16
(5)繪制各知識(shí)點(diǎn)之間的關(guān)系圖(如圖2)。
(6)設(shè)計(jì)講解順序。
K1→K9→K10→K2→K4→K5→K6→K11→K7→K8→K3→K13→K15→K16→K12→K14
2.5按照講解順序,安排學(xué)習(xí)活動(dòng)
按照講解順序,為每個(gè)知識(shí)點(diǎn)設(shè)計(jì)相應(yīng)的實(shí)踐環(huán)節(jié),落實(shí)在學(xué)中做、做中學(xué)。學(xué)生以項(xiàng)目小組的形式組織教學(xué),每個(gè)小組6-7人。注重學(xué)生學(xué)習(xí)過(guò)程的考評(píng),采用自我評(píng)價(jià)、小組評(píng)價(jià)和教師評(píng)價(jià)相結(jié)合的評(píng)價(jià)方式。要求學(xué)生編寫程序代碼及撰寫相關(guān)的技術(shù)文檔資料,學(xué)生實(shí)際任務(wù)完成的情況和提交的代碼、技術(shù)文檔資料作為學(xué)業(yè)評(píng)價(jià)的依據(jù)。
圖2
教學(xué)方案設(shè)計(jì)是一項(xiàng)艱苦細(xì)致的工作,需要進(jìn)行教學(xué)目標(biāo)分析、學(xué)習(xí)者特征分析、教學(xué)模式與教學(xué)策略選擇以及資源準(zhǔn)備等各個(gè)環(huán)節(jié)工作,其中學(xué)習(xí)者特征分析尤為重要,特別是高職學(xué)生的特征分析。根據(jù)實(shí)際教學(xué)實(shí)踐經(jīng)驗(yàn)來(lái)看,由于基礎(chǔ)的原因,高職學(xué)生的專業(yè)課知識(shí)一般都不太扎實(shí),因此要注重知識(shí)的回顧與深化,要強(qiáng)調(diào)新知識(shí)點(diǎn)與以往學(xué)習(xí)的知識(shí)點(diǎn)之間的內(nèi)在聯(lián)系,讓學(xué)生理解所學(xué)知識(shí)在整個(gè)知識(shí)體系結(jié)構(gòu)中的位置和作用,力爭(zhēng)在不同階段的知識(shí)之間產(chǎn)生雙向正遷移。從教學(xué)方案的實(shí)施情況來(lái)看,效果還比較令人滿意。
[1]朱文彬,趙淑文.高等教育心理學(xué).北京:首都師范大學(xué)出版社,2008,6.
[2]教育部考試中心.全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程:C++語(yǔ)言程序設(shè)計(jì).北京:高等教育出版社,2010-9.
[3]代勇,李偉,楊宏帥.Visual C++網(wǎng)絡(luò)通信編程技術(shù)詳解.北京:機(jī)械工業(yè)出版社,2011,5.
[4]鄭阿奇.Visual C++網(wǎng)絡(luò)編程.北京:電子工業(yè)出版社,2011-7.
[5]仵博,張麗涓,池瑞楠.J2ME無(wú)線開發(fā)實(shí)用教程.北京:清華大學(xué)出版社,2006,8.
林志紅(1966-),男,重慶市,碩士,副教授,從事嵌入式軟件、圖像處理的研究。