王曉亮 吳春梅
(廣西科技師范學(xué)院 廣西來(lái)賓 546100)
Android操作系統(tǒng)是由谷歌公司開(kāi)發(fā)的一個(gè)開(kāi)源的,基于Linux系統(tǒng)的,移動(dòng)設(shè)備操作系統(tǒng)。截至2019年9月,在手機(jī)領(lǐng)域,Android已遠(yuǎn)遠(yuǎn)超越 iOS,占據(jù)手機(jī)端操作系統(tǒng)70% 左右的市場(chǎng)份額[1]。在未來(lái),隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,Android操作系統(tǒng)也會(huì)在物聯(lián)網(wǎng)領(lǐng)域大放異彩?,F(xiàn)在本科院校開(kāi)設(shè)的《Android應(yīng)用開(kāi)發(fā)》課程可以為社會(huì)培養(yǎng)大量的Android工程師人才。我校作為應(yīng)用型本科院校,也開(kāi)設(shè)了這門(mén)課程。為服務(wù)地方,培養(yǎng)應(yīng)用型人才盡一份力。
《Android應(yīng)用開(kāi)發(fā)》課程是一門(mén)綜合性很強(qiáng)的課程,通常在大三學(xué)年開(kāi)設(shè)。這時(shí)學(xué)生已經(jīng)具備一定的開(kāi)發(fā)基礎(chǔ)。在《Android應(yīng)用開(kāi)發(fā)》的教學(xué)過(guò)程中,除了Android基礎(chǔ)編程的教學(xué)外,也還涉及很多網(wǎng)絡(luò)編程、數(shù)據(jù)庫(kù)開(kāi)發(fā)應(yīng)用等知識(shí)。在教學(xué)過(guò)程中涉及的計(jì)算機(jī)相關(guān)知識(shí)體系繁多,對(duì)于教學(xué)的要求很高。作為一門(mén)本科教育階段的新增課程,其內(nèi)容體系和教學(xué)模式尚處于探索階段[2]。為了更好地培養(yǎng)應(yīng)用型人才,在當(dāng)前這個(gè)移動(dòng)互聯(lián)網(wǎng)時(shí)代,我們不能局限于傳統(tǒng)教學(xué)模式,需要有教學(xué)上的創(chuàng)新,才能跟上時(shí)代的發(fā)展,為社會(huì)培養(yǎng)有用的人才。
《Android應(yīng)用開(kāi)發(fā)》課程是屬于軟件工程專(zhuān)業(yè)的課程,在教學(xué)過(guò)程中,理論學(xué)時(shí)占比為三分之二,實(shí)驗(yàn)教學(xué)占比為三分之一。在傳統(tǒng)教學(xué)模式下,任課老師會(huì)根據(jù)教學(xué)大綱安排,針對(duì)各個(gè)知識(shí)點(diǎn)進(jìn)行理論講解,然后通過(guò)實(shí)驗(yàn)環(huán)節(jié)來(lái)鞏固理論知識(shí)點(diǎn)。在這種傳統(tǒng)模式下,我們發(fā)現(xiàn),由于涉及的知識(shí)點(diǎn)非常多,學(xué)生通常對(duì)于單個(gè)的知識(shí)點(diǎn)能夠掌握理解,但是面對(duì)復(fù)雜一些的項(xiàng)目,會(huì)比較茫然,難以入手,不能從工程角度來(lái)整合知識(shí)、解決問(wèn)題。作為未來(lái)的軟件開(kāi)發(fā)工程師,這是能力上還存在缺陷,不能把所學(xué)知識(shí)很好地轉(zhuǎn)化為應(yīng)用。學(xué)生學(xué)習(xí)效果沒(méi)有達(dá)到預(yù)期效果,作為教師我們需要反思,《Android應(yīng)用開(kāi)發(fā)》這門(mén)本科課程,我認(rèn)為是傳統(tǒng)教學(xué)模式中會(huì)存在以下幾個(gè)問(wèn)題:
(1)傳統(tǒng)教學(xué)法往往是將一個(gè)任務(wù)分為多個(gè)階段,分階段完成任務(wù),任務(wù)之間相對(duì)獨(dú)立[3]。所以學(xué)生在學(xué)習(xí)的過(guò)程中比較難以理解各個(gè)知識(shí)點(diǎn)之間的關(guān)系,在完成綜合性項(xiàng)目的時(shí)候會(huì)摸不著頭腦。實(shí)驗(yàn)教學(xué)部分也是圍繞各個(gè)階段學(xué)習(xí)的知識(shí)點(diǎn)來(lái)設(shè)計(jì)的,學(xué)生很難全面了解所學(xué)內(nèi)容,學(xué)習(xí)過(guò)程中會(huì)感到枯燥,部分學(xué)生會(huì)喪失學(xué)習(xí)興趣。最終教學(xué)效果不理想。
(2)在5G時(shí)代,我們身處移動(dòng)互聯(lián)網(wǎng)中。Android項(xiàng)目開(kāi)發(fā)的App更重要的是作為前端界面,在開(kāi)發(fā)的過(guò)程中,我們還需要考慮與服務(wù)端、數(shù)據(jù)庫(kù)等之間的關(guān)系。導(dǎo)致了《Android應(yīng)用開(kāi)發(fā)》課程涉及的知識(shí)點(diǎn)繁雜,使用的技術(shù)也抽象難學(xué)[4]。如果教學(xué)過(guò)程中沒(méi)有考慮各個(gè)模塊之間復(fù)雜的關(guān)系,僅僅從離線、獨(dú)立的App的角度教學(xué),沒(méi)有綜合考慮規(guī)劃合理的教學(xué)方案。這樣將極大地限制學(xué)生的發(fā)揮空間,跟不上時(shí)代腳步。
(3)本科階段的《Android應(yīng)用開(kāi)發(fā)》課程是一門(mén)實(shí)踐性很強(qiáng)的課程[5],需要學(xué)生通過(guò)編寫(xiě)大量代碼的來(lái)作為日常練習(xí)。通過(guò)大量編寫(xiě)程序才能夠達(dá)到練習(xí)編程技能的效果。對(duì)于老師來(lái)說(shuō),我們要檢驗(yàn)學(xué)生的學(xué)習(xí)效果,傳統(tǒng)方式就是布置作業(yè),然后學(xué)生提交作業(yè)或者實(shí)驗(yàn)報(bào)告等。這種方式學(xué)生很容易通過(guò)復(fù)制粘貼的方式來(lái)應(yīng)付任務(wù),對(duì)于老師來(lái)說(shuō)批改作業(yè)工作量也很大,不利于實(shí)時(shí)跟蹤學(xué)生學(xué)習(xí)狀態(tài)。特別是從2020年新冠疫情開(kāi)始,網(wǎng)課開(kāi)始逐漸流行,老師對(duì)于學(xué)生學(xué)習(xí)狀態(tài)的跟蹤更加困難。
綜上所述,《Android應(yīng)用開(kāi)發(fā)》課程使用傳統(tǒng)教學(xué)和考核方式的話,會(huì)導(dǎo)致學(xué)生實(shí)踐與理論割裂,無(wú)法提起學(xué)習(xí)興趣,學(xué)習(xí)效果不好。而且缺少軟件工程項(xiàng)目開(kāi)發(fā)的綜合素質(zhì),不能很好應(yīng)用所學(xué)內(nèi)容。老師也不能很好監(jiān)控學(xué)生學(xué)習(xí)狀態(tài),教學(xué)效果不是很理想。
通過(guò)在教學(xué)過(guò)程中的不斷總結(jié),以及和企業(yè)深入交流過(guò)程中,我們總結(jié)了一套以成果為導(dǎo)向的項(xiàng)目教學(xué)模式。具體內(nèi)容為以下幾點(diǎn):
(1)基于項(xiàng)目綜合考慮設(shè)計(jì)教學(xué)大綱
新的教學(xué)模式中,教學(xué)大綱強(qiáng)調(diào)以成果為導(dǎo)向,設(shè)計(jì)綜合性的實(shí)驗(yàn)項(xiàng)目來(lái)幫助學(xué)生學(xué)習(xí)課程內(nèi)容。設(shè)計(jì)的實(shí)驗(yàn)項(xiàng)目通常基于實(shí)際的成熟的項(xiàng)目,通過(guò)反向設(shè)計(jì),逐步把項(xiàng)目分解成為考核要求和知識(shí)點(diǎn),詳見(jiàn)圖1。這樣在教學(xué)過(guò)程中,不僅要講解項(xiàng)目中各個(gè)模塊涉及到知識(shí)點(diǎn),還要讓學(xué)生能夠理解各個(gè)模塊在項(xiàng)目中發(fā)揮的作用,理解整個(gè)項(xiàng)目架構(gòu)設(shè)計(jì)的目的和意義。在教學(xué)過(guò)程中也不應(yīng)局限于教材內(nèi)容,嘗試在教學(xué)過(guò)程中,把知識(shí)點(diǎn)放在實(shí)際的、成熟的項(xiàng)目中去講解,積極組織學(xué)生課后討論。這樣基于實(shí)際項(xiàng)目的學(xué)習(xí),能夠更好地幫助學(xué)生把學(xué)習(xí)到的知識(shí)點(diǎn)和理解記憶的內(nèi)容轉(zhuǎn)化為具體的項(xiàng)目成果。同時(shí),引導(dǎo)學(xué)生在不斷實(shí)踐過(guò)程中,培養(yǎng)項(xiàng)目思維,理解軟件項(xiàng)目組織架構(gòu),理解各個(gè)模塊的原理和方法。
圖1 項(xiàng)目架構(gòu)和課程體系之間的關(guān)系
(2)增加實(shí)踐教學(xué)環(huán)節(jié),加強(qiáng)與其他課程的聯(lián)系
為了提升學(xué)生學(xué)習(xí)興趣,增加學(xué)生實(shí)踐能力。在教學(xué)過(guò)程中,我們要以學(xué)生為中心,要讓每個(gè)學(xué)生都要能發(fā)揮自己的特點(diǎn),做出自己的項(xiàng)目作品。這就要求課程要更加重視實(shí)踐,在教學(xué)過(guò)程中實(shí)踐和理論要緊密結(jié)合起來(lái)。而且《Android應(yīng)用開(kāi)發(fā)》本身就是一門(mén)實(shí)踐性很強(qiáng)的課程,更加需要通過(guò)增加實(shí)踐教學(xué)環(huán)節(jié)來(lái)培養(yǎng)學(xué)生。
通過(guò)不斷嘗試,我們認(rèn)為課程可以直接安排在計(jì)算機(jī)機(jī)房上課,增加的實(shí)踐教學(xué)環(huán)節(jié)可以嘗試在每節(jié)理論課后都留下幾分鐘的時(shí)間,給學(xué)生自己動(dòng)手嘗試。讓學(xué)生不是單純的對(duì)知識(shí)點(diǎn)進(jìn)行理解記憶,而是在理解記憶知識(shí)點(diǎn)后可以馬上通過(guò)動(dòng)手實(shí)踐加深印象。因此這些更多的實(shí)踐教學(xué)環(huán)節(jié),可以讓學(xué)生將理論與實(shí)踐相結(jié)合的程度更深。
《Android應(yīng)用開(kāi)發(fā)》課程,我們?cè)O(shè)計(jì)為項(xiàng)目式的教學(xué)。而項(xiàng)目教學(xué)的關(guān)鍵是要給出明確的項(xiàng)目要求,進(jìn)而確立項(xiàng)目架構(gòu),強(qiáng)調(diào)項(xiàng)目中各個(gè)模塊之間的互動(dòng),制定合理的教學(xué)策略。這門(mén)課程本身就需要先熟練使用java語(yǔ)言,培養(yǎng)的目標(biāo)是讓學(xué)生能夠具備開(kāi)發(fā)互聯(lián)網(wǎng)App應(yīng)用項(xiàng)目的基本能力,所以還需要加強(qiáng)與后臺(tái)服務(wù)端開(kāi)發(fā)、數(shù)據(jù)庫(kù)開(kāi)發(fā)等課程的聯(lián)系,可以和其他課程授課老師進(jìn)行溝通,融合這些課程的課后作業(yè),要求學(xué)生能夠給出一套融合解決方案,來(lái)完成作業(yè)。從而達(dá)到教學(xué)目標(biāo)。
為了不斷提升教學(xué)效果,我們要進(jìn)行課堂教學(xué)行為分析,讓老師更了解學(xué)生,從而因材施教。課堂教學(xué)行為分析有助于教師發(fā)現(xiàn)教學(xué)中存在的問(wèn)題,并促進(jìn)教學(xué)反思和教師專(zhuān)業(yè)發(fā)展[6]?,F(xiàn)在,我們?cè)谥腔壅n堂環(huán)境下,教師可以利用信息技術(shù)開(kāi)展教學(xué)。這是教師信息技術(shù)應(yīng)用能力的外化表現(xiàn)。具體在這門(mén)課程,我們選擇使用了Gitee這款國(guó)產(chǎn)代碼托管服務(wù)。Gitee在國(guó)內(nèi)使用相對(duì)于GitHub來(lái)說(shuō)更加穩(wěn)定,高效,雖然開(kāi)源軟件不如GitHub多,但是對(duì)于構(gòu)建智慧課堂來(lái)說(shuō),我們能夠用Gitee實(shí)現(xiàn)代碼的托管、項(xiàng)目的管理、團(tuán)隊(duì)協(xié)作開(kāi)發(fā),已經(jīng)完全能夠滿足使用了。
為了提升教學(xué)效果,讓理論和實(shí)踐能夠相互結(jié)合。在嘗試使用Gitee實(shí)現(xiàn)迭代式項(xiàng)目驅(qū)動(dòng)教學(xué)后,我們發(fā)現(xiàn)以下好處:(1)可以構(gòu)建小粒度教學(xué)課堂,讓理論與實(shí)踐聯(lián)系更加緊密。(2)學(xué)生能夠更好地將課堂未完成的練習(xí)放到課外繼續(xù),實(shí)現(xiàn)無(wú)縫鏈接。(3)老師可以通過(guò)網(wǎng)絡(luò)隨時(shí)監(jiān)控學(xué)生項(xiàng)目進(jìn)度。(4)讓學(xué)生自主的學(xué)習(xí)。
根據(jù)學(xué)生注意力集中曲線,理論學(xué)習(xí)的時(shí)間最好控制在13 分鐘以內(nèi),以減少注意力失焦現(xiàn)象的發(fā)生[7]。Gitee實(shí)現(xiàn)迭代式項(xiàng)目驅(qū)動(dòng)教學(xué)過(guò)程中,可以從理論教學(xué)中更加頻繁地切換到實(shí)踐教學(xué)之中,這樣頻繁切換可以使得一次課堂教學(xué)的覆蓋更多的知識(shí)點(diǎn)。而《Android應(yīng)用開(kāi)發(fā)》這門(mén)課程的特點(diǎn),就是知識(shí)點(diǎn)特別多,通過(guò)這個(gè)教學(xué)過(guò)程理論與實(shí)際能很好結(jié)合,使得各個(gè)知識(shí)點(diǎn)更易掌握。
使用 Gitee 構(gòu)建的《Android應(yīng)用開(kāi)發(fā)》小粒度課堂中,我們基于項(xiàng)目綜合考慮構(gòu)建了相應(yīng)的理論案例庫(kù)和實(shí)踐案例庫(kù)。具體的案例庫(kù)分為2個(gè)部分,(1)理論知識(shí)點(diǎn)案例庫(kù);(2)基于項(xiàng)目構(gòu)建迭代式實(shí)踐項(xiàng)目庫(kù);
《Android應(yīng)用開(kāi)發(fā)》課程教學(xué)我們選用的是在線聊天App開(kāi)發(fā)項(xiàng)目。依據(jù)項(xiàng)目需要的知識(shí)點(diǎn)的能力要求,設(shè)計(jì)對(duì)應(yīng)的理論教學(xué)環(huán)節(jié)的案例庫(kù)。教師在理論教學(xué)環(huán)節(jié)授課過(guò)程中,利用設(shè)計(jì)好的案例庫(kù)講解項(xiàng)目開(kāi)發(fā)過(guò)程中涉及的知識(shí)點(diǎn),接著學(xué)生馬上可以根據(jù)案例庫(kù)模仿驗(yàn)證。驗(yàn)證完成后上傳Gitee,作為整個(gè)課程項(xiàng)目的一個(gè)小模塊,方便以后調(diào)用,和老師檢查完成情況。
在講解案例庫(kù)的過(guò)程中,需要對(duì)案例庫(kù)的知識(shí)點(diǎn)進(jìn)一步細(xì)化。根據(jù)案例庫(kù)代碼順序再細(xì)分成更小的版本,不斷迭代。以編寫(xiě)聊天界面為例,細(xì)分迭代項(xiàng)目庫(kù)的構(gòu)建設(shè)計(jì)見(jiàn)表1。根據(jù)App的開(kāi)發(fā)步驟,將頁(yè)面內(nèi)容開(kāi)發(fā)項(xiàng)目細(xì)分為6個(gè)迭代步驟。
表1 細(xì)分迭代項(xiàng)目庫(kù)
各個(gè)迭代步驟都能對(duì)應(yīng)課程知識(shí)點(diǎn),每完成一個(gè)迭代步驟學(xué)生都能上傳Gitee,做到理論實(shí)踐相結(jié)合。
通?!禔ndroid應(yīng)用開(kāi)發(fā)》課程考核分為平時(shí)分和考核分?jǐn)?shù),重點(diǎn)還是在期末那一次的分?jǐn)?shù)考核,這樣以一次考核決定成績(jī)的方式存在弊端,不能很好監(jiān)控學(xué)生學(xué)習(xí)狀態(tài),督促學(xué)生學(xué)習(xí),需要建立一個(gè)新的課程評(píng)價(jià)體系了。
我們以項(xiàng)目為導(dǎo)向建立新的全過(guò)程課程評(píng)價(jià)體系。在這個(gè)課程評(píng)價(jià)體系中需要跟高效的師生協(xié)同教學(xué),通常由老師講解完案例的每個(gè)迭代步驟后都發(fā)布對(duì)應(yīng)實(shí)驗(yàn)任務(wù)項(xiàng)目,讓學(xué)生緊跟教學(xué)進(jìn)行實(shí)驗(yàn),完成后提交到Gitee中。這樣可以記錄學(xué)生提交的各個(gè)迭代步驟的作業(yè),用來(lái)記錄學(xué)生完成項(xiàng)目的全過(guò)程。老師也可以通過(guò)學(xué)生上傳到Gitee的項(xiàng)目案例,分析提交的案例代碼,在這個(gè)作業(yè)項(xiàng)目從無(wú)到有的完整的過(guò)程中,老師可以通過(guò)Gitee實(shí)時(shí)查看學(xué)生編程步驟,判斷學(xué)生項(xiàng)目完成情況、完成時(shí)間和完成質(zhì)量。還能夠通過(guò)分析學(xué)生作業(yè)完成時(shí)間,減少作業(yè)項(xiàng)目的抄襲現(xiàn)象。最后通過(guò)綜合權(quán)值來(lái)計(jì)算出最終評(píng)價(jià)。
在課后的項(xiàng)目擴(kuò)展作業(yè)中,也能夠充分利用Gitee項(xiàng)目分享的便捷性,可以為課后編程實(shí)踐提供參考,實(shí)現(xiàn)課內(nèi)編程與課外編程無(wú)縫銜接,實(shí)現(xiàn)編程思路的無(wú)間斷,達(dá)到培養(yǎng)學(xué)生良好編程習(xí)慣和學(xué)習(xí)知識(shí)技能的目的。
作為應(yīng)用型高校,在課程建設(shè)的過(guò)程中,我們始終以學(xué)生為中心,通過(guò)加強(qiáng)校企合作,不斷改進(jìn)課程體系,研究項(xiàng)目化教學(xué)在《Android應(yīng)用開(kāi)發(fā)》課程中的應(yīng)用,通過(guò)多種信息化工具構(gòu)建智慧課堂,實(shí)現(xiàn)多元化考核,提高學(xué)生工程實(shí)踐的能力。后續(xù)我們也將繼續(xù)努力,不斷完善和探索教學(xué)內(nèi)容,為社會(huì)培養(yǎng)更多應(yīng)用型人才。